Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -9.Se
发布时间:2006-10-14 8:55:22   收集提供:gaoqian
组态 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
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50