SMTP安全手册—Sendmail服务器安全

2018-05-10 17:14 阅读次数:来源:www.zzphppx.com 新闻作者:php程序员培训

 

 


       

  Sendmail是在Unix环境下使用最广泛的实现邮件发送/接受的邮件传输代理程序。 由于Sendmail邮件服务器的特点是功能强大而复杂,因此为保证Sendmail的安全性,需要作以下一些工作。

  决定smrsh可以允许sendmail运行的命令列表。缺省情况下应当包含以下命令,但不局限于这些命令:

  如果没有加以正确和严格的管理的话,别名文件被用来获取特权。例如,很多发行版本在别名文件中带有decode别名。现在这种情况越来越少了。

  这样做的目的是为用户提供一个通过mail传输二进制文件的方便的方式。在邮件的发送地,用户把二进制文件用uuencode转换成ASCII格式,并把结果邮递给接收地decode别名。那个别名通过管道把邮件消息发送到/usr/bin/uuencode程序,由这个程序来完成从ASCII转回到原始的二进制文件的工作。

  删除decode别名。类似的,对于所有用于执行没有被放在smrsh目录下的程序的别名,你都要仔细的检查,可能它们都值得怀疑并应当删除它们。要想使你的改变生效,需要运行:

  最新版本的Sendmail (8.9.3)加入了很强的防止欺骗的特性。它们可以防止你的邮件服务器被未授权的用户滥用。编辑你的/etc/sendmail.cf文件,修改一下这个配置文件,使你的邮件服务器能够挡住欺骗邮件。

  当 sendmail接受一个SMTP连接的时候,它会向那台机器发送一个问候信息,这些信息作为本台主机的标识,而且它所做的第一件事就是告诉对方它已经准备好了。

  以上的更改将影响到Sendmail在接收一个连接时所显示的标志信息。你应该把`C=xx L=xx条目中的xx换成你所在的国家和地区代码。后面的更改其实不会影响任何东西。但这是abuse.email新闻组的伙伴们推荐的合法做法。

  通常情况下,任何人都可以使用mailq命令来查看邮件队列的内容。为了限制可以审核邮件队列内容的人员,只需要在/etc/sendmail.cf文件中指定restrictmailq选项即可。在这种情况下,sendmail只允许与这个队列所在目录的组属主相同的用户可以查看它的内容。这将允许权限为0700的邮件队列目录被完全保护起来,而我们限定的合法用户仍然可以看到它的内容。

  可以通过使用chattr命令而使重要的Sendmail文件不会被擅自更改,可以提高系统的安全性。具有+i属性的文件不能被修改:它不能被删除和改名,不能创建到这个文件的链接,不能向这个文件写入数据。只有超级用户才能设置和清除这个属性。

  从8.9版本开始,缺省的是不允许邮件转发(mail relay)的。最简单的允许邮件转发的方法是在文件/etc/mail/relay-domains中进行设置。该文件中列出的域名内的信件都允许通过本地服务器进行邮件转发。

  为了更精确的设置,可以在sendmail.mc中添加如下几个参数允许被用来设置邮件转发:

   FEATURE(blacklist_recipients).若该参数被设置,则在决定是否允许某个主机转发邮件时同时察看邮件发送着地址和邮件接受者地址。

   FEATURE(relay_based_on_MX).该参数允许转发邮件接受者地址的MX记录指向本地的的邮件,例如,本地接收到一个发送目的地址为的邮件,而b.com域名的MX记录指向了本地机器,则本地机器就允许转发该邮件。

  下面几个特性可能会有安全漏洞,一般当邮件服务器位于防火墙后时才应该使用,因为这些参数可能导致你的系统易于被垃圾邮件发送者利用。




友情链接: 壹诺网站优化 山东威海凤凰湖 贵阳幼师学校 威海石岛楼盘 公务员考试 凤凰湖官网 威海银滩海景房 防爆板