22.11. The/etc/mail/aliases文件

管理不善或粗心管理的aliases文件很容易被用来获取特权状态。例如,许多供应商在系统中默认带有decode别名在/etc/mail/aliases文件中。其目的是为用户提供一种使用邮件传输二进制文件的简便方法。在发送站点,用户使用 ASCII 将二进制文件转换为uuencode,然后将结果邮件发送到decode接收站点的别名。该别名通过/usr/bin/uuencode程序管道传输邮件消息,该程序将 ASCII 转换回原始二进制文件。

删除decode别名行,从你的/etc/mail/aliases文件中。同样,每个执行你没有亲自放置并且完全检查过的程序的别名都应该被质疑,并可能被删除。编辑aliases文件 vi/etc/mail/aliases并删除以下行
         # Basic system aliases -- these MUST be present.
         MAILER-DAEMON:  postmaster
         postmaster:	root

         # General redirections for pseudo accounts.
         bin:			root
         daemon:		root
         games:		        root  (1)
         ingres:		root  (2)
         nobody:		root
         system:		root  (3)
         toor:			root  (4)
         uucp:		        root  (5)

         # Well-known aliases.
         manager:		root  (6)
         dumper:		root  (7)
         operator:		root  (8)

         # trap decode to catch security attacks
         decode:		root  (9)

         # Person who should get root's mail
         #root:		marc
         

(1)(2)(3)(4)(5)(6)(7)(8)(9)
删除所有这些行

为了使更改生效,你需要运行
         [root@deep] /# /usr/bin/newaliases
         

你需要防止你的 Sendmail 被未授权用户滥用,Sendmail 现在包含了强大的反垃圾邮件功能,这可以帮助防止你的邮件服务器被未授权用户滥用。为此,请更改配置文件以阻止垃圾邮件发送者。编辑sendmail.cf文件,vi/etc/mail/sendmail.cf并更改行
         O PrivacyOptions=authwarnings
         
改为如下内容
         O PrivacyOptions=authwarnings,goaway
         
设置goaway选项会导致 Sendmail 禁止所有 SMTP EXPN 命令,它还会导致拒绝所有 SMTP VERB 命令,并禁止所有 SMTP VRFY 命令。这些更改阻止垃圾邮件发送者在 Sendmail 中使用 EXPNVRFY 命令。

你必须限制谁可以检查队列内容,通常,任何人都可以使用 mailq 命令检查邮件队列的内容。要限制谁可以检查队列内容,你必须指定restrictmailq选项在/etc/mail/sendmail.cf文件中。使用此选项,Sendmail 仅允许与队列目录的组所有权属于同一组的用户root检查内容。这允许队列目录以模式完全保护0700, 同时选定的用户仍然能够看到内容。

编辑sendmail.cf文件,vi/etc/mail/sendmail.cf并更改行
         O PrivacyOptions=authwarnings,goaway
         
改为如下内容
         O PrivacyOptions=authwarnings,goaway,restrictmailq
         
现在我们更改队列目录的模式以完全保护
         [root@deep] /# chmod 0700 /var/spool/mqueue
         

现在手动重启 sendmail 进程以使更改生效
         [root@deep] /# /etc/rc.d/init.d/sendmail restart
         

         Shutting down sendmail:                                    	[  OK  ]
         Starting sendmail:                                    		[  OK  ]
         

Tip: 我们已经添加了goaway选项到行PrivacyOptions=sendmail.cf文件中。现在我们可以直接添加restrictmailq选项到此行。

任何尝试检查邮件队列内容的非特权用户都将收到此消息
         [user@deep /]$ /usr/bin/mailq
         

         You are not permitted to see the queue