【 tulaoshi.com - Linux 】
组态 Sendmail E-mail Daemon
我使用 Sendmail 套件提供电子邮件服务。 Sendmail 是最可靠的邮件处理程式 ;事实上根
据估计 Internet 上传送的邮件超过 80% 至少有一方是
透过 Sendmail 处理。它做了所有的事情,我无法想像没了它 Internet伺服器如何运作
(另一个 e-mail 伺服器套件叫做 Qmail,看来一样受欢迎 -- 但我还没有理由去试它).
为了保持新特性及错误修正,为了最重要的安全因素,随时升级 Sendmail是个好主意。此外,
最新版的 Sendmail 包含了强大的 anti-spam 特点
可以避免您的伺服器被未经授权的使用者滥用。
这一节会讨论您如果想使用 Sendmail 作为接收信件伺服器应该做的事, 这应该是做为伺服器
的方案。
在这一节,假设您使用最新版的 Sendmail (在写这篇文章的时候是 8.9.3),安装好且可以运作。
就像是 Red Hat 所发行的套件一样, Sendmail 通常包含恰当的组态资讯可以在大多数的伺服器
设定下正常工作。但是,您可能发现必须编辑 ``/etc/sendmail.cf'' 档并且依需要自订一些设定。
但这已经超出本文所讨论的围了。
我发现一个有用的东西,然而,它需要对组态档做一些修改以阻挡入侵者。这些包括:
O PrivacyOptions=authwarnings
change to:
O PrivacyOptions=authwarnings,noexpn,novrfy
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
change to:
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b NO UCE C=xx L=xx
(第一个改变避免有心人 在 sendmail 使用``EXPN'' 及 ``VRFY'' 指令。我发现这些指令太常被不道
德的人滥用。第二个改变修改了当接收到连接时 Sendmail 显示的标题。您应该将 ``C=xx L=xx'' 这
项中的 ``xx'' 换成您的国家和地区代码。例如以我来说,我使用 ``C=CA L=ON'' 代表 Ontario, Canada.
(後面的改变事实上不影响任何东西, 但在 news.admin.net-abuse.email 新闻群组中被人们作为公定
的预防措施)
接下来,如果您的邮件伺服器和实际运作的机器的主机名称不同,您可以在 ``/etc/sendmail.cw'' 档中
加入一个或更多化名。例如, 如果您有一个系统叫做“kirk.mydomain.name”用在 mydomain.name 作
为邮件交换, 但是希望进来的信件格式是 ``user@mydomain.name'' 送到您在“kirk”的用户,依下面
加入别名:
mydomain.name
最後,如果您限制一个网域 (或子网) 接到您的 sendmail 服务,您可以编辑 ``/etc/mail/access''
并且依限制的类型加入网域资讯。例如:
some.domain REJECT
hax0r.another.domain 550 Contact site administrator at (555) 555-1234.
上面的例会拒绝来自 ``some.domain'' 地点的 e-mail 连接,以及用描述的讯息拒绝名称为
``hax0r.another.domain''的机器。
在对这个档案做变更後,您需要更新 ``access.db'' 档,然後依下述重新启动 sendmail :
/usr/sbin/makemap hash /etc/mail/access.db < /etc/mail/access
/etc/rc.d/init.d/sendmail restart
小技巧: 如果您关心 e-mail 的滥用,您可以从 “ Mail Abuse Prevention System(邮件滥用防止系
统)” (MAPS) 计划得到有关对付这些问题的有用资料; 查看网页位於 http://www.mail-abuse.org/
如果您使用 Sendmail 8.9 或之後的版本,已经内建 RBL 支援,但未预设为 enable。要 enable 这个支援
的话, 在您的 sendmail.mc 档加入:
FEATURE(rbl)