当前位置:Linux教程 - Linux综合 - 如何在防火墙上设置Sendmail(1)

如何在防火墙上设置Sendmail(1)

  环境: 公司注册了正式域名company.com,防火墙运行Linux且用专线接入ISP,是通往Internet的唯一通道, 用来处理公司内部出去的邮件和发往公司内部用户@company.com的所有邮件。在内部局域网上(仅一 个网段,没有子网)有一台供内部用户收发邮件的Linux邮件服务器,两台机器均运行Sendmail 8.9.3 Sendmail 8.9.3的新特性 Sendmail 8.9.3包含几个新的特性,如果配置不当,你的Sendmail可能不能正常工作。这些特性主要是 帮助过滤掉垃圾邮件和阻止你的站点被用来作为第三方的mail relay主机(什么是third-party mail relay? 附文章),你能根据你的站点所要求的政策配置这些参数。 1.Mail relay 在Sendmail 8.9.3中Relaying默认被拒绝了,这个特性可能使得运行Sendmail的Linux邮件服务器不允许 你向它发送邮件,有几种方法来解决。 a. Default 默认情况下,你能简单地创建文件/etc/mail/relay-domains,它包含你希望接受relay的系统的域名, 例如company.com 。如果不能做反向DNS查找,你应该清楚指明IP范围,如要允许内部网段上所有用户向 其发送邮件,设为192.168.11 ,注意:你无法设置这里为company.com而允许你公司出差在外的旅行用户 (拨当地ISP)来发送邮件。因为你拨到当地ISP后得到的动态IP地址属于当地ISP,反向DNS解析后的域名 为ISP的域名,甚至有的不能够做反向DNS。解决办法是设置发送邮件服务器为当地ISP的服务器 优点: 如果你仅仅需要relay mail from a few system,这可能是最简单的解决办法,它阻止你的服务器 扮演作为relayer,但允许邮件通过。 缺点:你不能不保持文件不断更新,如果你是ISP,你必须不断保持这个文件被更新,更新后还要重新启动 Sendmail ( killall -HUP sendmail ) b. promiscuous_relay 这个特性允许你relay来自任何地方的邮件。(不被建议的) 优点: 你不必担心邮件被拒绝 缺点: 任何人能用你的系统作为mail relay,这个参数的使用取消了8.9.3中新增的反relay 特性。 c. relay_entire_domain 这个特性允许来自在类W中设置的所有域的邮件被允许relay.默认地,这将是*.company.com 优点: 你不会担心来自你的域中的所有邮件被拒绝,你的域以外的系统不能被relay mail除非在 /etc/mail/relay-domains文件中被指定或/etc/mail/Access中被指定。如果你仅仅想relay 你自己的域中的主机,可以用这个参数来代替/etc/mail/relay-domains. 注意: 你需要设置反向DNS,当内部LAN上的主机连接到SMTP服务器上来时能被反向解析到本地域内。 如192.168.11.12被解析到sh12.asiansources.com . 缺点:你可能不想允许你公司的其它组织relay mail。 d. relay_hosts_only 这允许你基于个别的主机名relay mail.不是域名。 优点:细调relay许可权限,基于全称主机名,不是全称域名。 缺点:需要你指定或者在文件/etc/mail/relay-domains或者在access 数据库中的系统主机名。如果用 /etc/mail/relay-domains,文件将是 company.com mailgate.company.com othername.com mailgate.othername.com 2. Mail blocking a. accept_unresolvable_domains 默认地,如果发送者的域名(指发送者邮件地址后面的域名)不能被DNS解析 ,邮件被拒绝的。 如: MAIL from: wkeys@nonexistent 501 < wkeys@nonexistent>…Sender domain must exist
[1] [2] 下一页 

用参数accept_unresolvable_domains 跨越这个并接受来自任何域或IP地址的邮件。 b. access_db 这个特性使得sendmail寻找数据库文件(默认是/etc/mail/access.db),决定是否接受或拒绝mail或者你甚至 能设定一个客户化的错误信息,这个特性也能用来控制relay许可。 优点:真的允许你细调将接收从谁来的邮件,如我不想接受来自不能被解析的域的邮件,但对个别域有例外。 c. accept_unqualified_senders 默认地,如果发送者的域不是全称域名,sendmail将拒绝这个连接。如 mail from: 553 …. Domain name required 用这个特性跨越默认的情况以致连接将能被接受。 优点:我建议总是用全称域名地址,然而在内部邮件网关上,你可能不能控制其他本地系统如何发送给你邮件, 这将允许你接受带非全称发送者地址的邮件。 缺点:你丢失了一些跟踪邮件来自哪里的能力,不要在防火墙上用它。 d. blacklist_recipients 这允许你阻止不想接受的邮件帐号发来的邮件。需要在/etc/mail/access中设置。 e. relay_based_on_MX 如果一台主机有MX记录指向你的站点,这个特性使得能从他们接受邮件。 优点:如果他们有MX记录指向你你就不需要加任何主机到access database. 缺点:这将允许第三方的mail relay,且不需要你的许可。

(出处:http://www.sheup.com)


上一页 [1] [2]