组态 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)
然後重新组态及启动 Sendmail daemon。
要得到进一步资料,包括组态的的用法说明及其他邮件转送代理等,查看 http://www.mail-abuse.org/rbl/usage.html.
有时候,您希望与在 RBL 目录中被终止的网域继续联。也许您很需要和位於黑名单网域中的某些使用者 联络。在这种情况, Sendmail 允许您越过这些网域收到他们的 e-mail。用礼貌的文字描述编辑 ``/etc/mail/access'' 档并加上合适的网域资讯 。例如: blacklisted.domain OK
不要忘了重建自己的 access.db 档 (上面叙述过)!
如果您决定使用 RBL,如果可能的话通知您的邮件使用者是个明智的决定,如此一来如果他们不同意您 的决定的话,可以做其他的服务安排。
要得到更多有关 Sendmail 的资料,查看位於 http://www.sendmail.org/faq/的FAQ
| |