版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Mail服务:Sendmail 8.9.3里面地Mail Relay准则简略介绍 一.什么是第三方的Mail Relay? 当一台邮件服务器处理一封邮件时,该封邮件的发送者(the sender)和接收者(the recipient)都不是本地用户(local user),即发送者和接收者都处于本地域之外,该邮件服务器对于这封邮件的传送完全属于不相关的第三方,因此Mail Relay被sedm
2、ail默认禁止了。这阻止了Spammer利用你的服务器发送垃圾邮件。 二.为什么你要停止第三方的Mail Relay? 如果你的邮件服务器不能有效地控制第三方的mail relay,你应该立刻着手解决这个问题,不要等待spammer 来攻击你的邮件主机,主要是因为: a.大量的垃圾邮件(junk email)可能会使你的邮件系统崩溃。它们占用你的磁盘空间,CPU资源,还可能引发Dos类型攻击(denial of service attack). b.你的组织可能被列
3、入黑名单(backlist)。由于大量垃圾邮件从你的主机发出,其它一些组织或公司可能会不做任何更深的调查就更改设置阻止了从你的主机来的任何邮件,这也将同时阻止从你的站点发到它们的所有正常的商业性邮件,损失不可估量. c.意识到这种攻击将会发生在你身上。不要因为它没有发生就意味着你是安全的。他们每天正用一些自动扫描的工具去扫描网络而寻找那些对他们打开relay功能的邮件主机。他们可能自己写了某个程序正每刻地进行扫描,如果你的邮件主机是易受攻击的,那么扫描到你就是迟早的事情。 三. Sendmail(8.9.3)如何
4、relay你的邮件? 如果发送者和接收者都不属于本地域,sendmail将默认禁止mail relay. 要想使得sendmail relay 你的邮件,可以有下面两种途径,你必须确保发送者或者接收者其中至少有一个属于本地域. a. 本地发送者到外部接收者(local sender to external recipient) b. 外部发送者到本地接收者(external
5、160;sender to local recipient) = c. 何为本地发送者(local sender)? 当邮件服务器接收到一封从其它机器(如windows pc)发来的邮件时,它首先检查连接进来的主机的域名和 IP地址,注意: 决不是检查这封邮件的信封里的发送者地址(not based on the envelope MAIL FROM address!) (要了解一封邮件的全部信封
6、头信息,参考(/email/headers/headers.html)) 如果你是拨号用户,IP地址当然是你拨到ISP所得到的动态IP地址,然后你的主机名/域名是由你的ISP对你的IP 地址作反向DNS解析出来的主机名/域名, 不过大多数ISP不作这个,因此,sendmail将仅仅记录你连接进来的IP地址,由此判断是否这个地址被允许relay mail.对sendmail 8.9.3来说,最通常的用来检查是否relay邮件的配置文件是/etc/mail/relay-domains,它能对IP地
7、址或域名进行判断是否允许relay. 如果这一步不允许,再检查/etc/mail/access(它能被通过加FEATURE(access_db)到.mc文件再用m4生成/etc/sendmail.cf所激活 附:本文讨论的所有设置都是基于M4宏命令生成的/etc/sendmail.cf) d. 何为本地接收者(local recipient )? 决定接收者邮件地址是否为本地的不是件轻松的事情,sendmail认为类w中的所有主机/域为本地接收者,也就是/etc/mail/sendmail.cw文件或者/etc/se
8、ndmail.cf中的Cw类定义后面列出的所有主机或域名。为了激活对/etc/mail/sendmail.cw的检查,使用特性Feature(use_cw_file)。但是这还不够,因为这个能被愚弄的,如. 因此sendmail用规则集(ruleset)先移走这个地址的本地部分( local.site)后,如果仍有一些域,则考虑是否能通过relay检查,另外,sendmail也还检查/etc/mail/access 决定是否有项目匹配接收者地址所在的域,根据相应标记确定是否被允许接收。 四.
9、0;Sendmail 8.9.3: anti-relaying(拒绝传递)怎么工作? a. 如果Mail From:行有下面的参数,sendmail拒绝mail relay: 1.发送者的域名不能被解析。这个能用FEATURE(accept_unresolvable_domains)被禁止。 2.非全称的域名。能被用FEATURE(accept_unresolvable_domains)禁止。 3.与access map( /etc/mail/access)中的一项匹配。 域名:如spammer.do
10、main reject 全称email地址:如spammerdomain reject 邮件地址的用户名部分:如spammer reject 或者不用'reject'用'error code error text' spammer.domain "501 No e-mail from this domain." spammerdomain "501 No e-mail f
11、rom your address." spammer "501 Get a real address." 甚至用DISCARD (接收并安静地删除掉,让发送者感觉象被接收) b.检查接收者。 用FEATURE(blacklist_recipients)允许指定access map中不应该接收email的用户。 如: badlocaluser 550 Mailbox disabled for this username host.mydo
12、main 550 That host does not accept mail userotherhost.mydomain 550 Mailbox disabled for this recipient 这将禁止发到你本地域中的用户邮件地址badlocalusemydomain和在主机 host.mydomain中的任何用户和单个地址 userotherhost.mydomain. 注:关于access map的说明: 它的默认位置是/etc/mail/
13、access. 每次更新后你必须运行 makemap hash /etc/mail/access.db < /etc/mail/access ,不需要重启用Sendmail. 它可以有以下入口: 1.域名 2.email地址 3.本地用户名部分 4.IP地址(完整的或者子网) 和以下操作标记: 1.OK 接收email,即使被其它规则拒绝了 2.RELAY 允许通过该邮件主机relay的域。relay意味着OK 3.REJECT 拒绝email并显示内部通用的错误提示 4.DISCARD
14、60; 安静地接收随后取消掉这封邮件 5.XYZ some other text XYZ是 RFC 821兼容的错误代码后面跟上一段自定义的错误信息 五.常见的两种检查规则 1. check_relay 规则(发送者检查): 检查主机名和IP地址,当无论什么时候,一台客户通过(E)SMTP连到邮件服务器时该规则被调用。 2. check_rcpt 规则(接收者检查): 用于RCPT命令(用来禁止未被授权的relay).该规则禁止了所有的已知的relay诡计。 你能#tail
15、0;-f /var/log/maillog检查是否某个邮件被运用了上述规则。 六. Why "550 Relaying Denied"? 如果你从你自己的邮件服务器得到了一个错误说"550 Relaying Denied",你需要弄清楚为什么,甚至可能你认为这决不应该发生,但是你可能忽略了某些细节,看上去是应该被Relay,但实际上不。看下面的几个例子: 1.正确的DNS数据 QAA02454: . we do not
16、160;relay QAA02454: ruleset=check_rcpt, arg1=, relay=170-51- 09, reject=550 . we do not relay QAA02454: from=, size=0, class=0, pri=0, nrcpts=0, proto=SMTP, relay=170-51- 09 这里,主机名为170-51-的机器IP地址为152.1
17、70.51.209 试着交付一封邮件给,然而,这个被拒绝了,因为接收者不是本地接收者并且发送者的机器170-51-(09)也不是本地发送者。 2.错误的DNS数据 QAA02454: . Relaying denied QAA02454: ruleset=check_rcpt, arg1=, relay=3, reject=550 . Relaying denied QAA02454: from=, size=0,&
18、#160;class=0, pri=0, nrcpts=0, proto=SMTP, relay=3 这个其实与上面的情况相同,对于IP地址3没有PTR记录被找到,关于这一点有个问题就是:万一你的邮件主机的relay功能仅仅是基于主机/域名进行检查是否为本地发送者,(e.g., FEATURE(relay_entire_domain),那样的话,如果该IP地址是属于你的本地域之内,仍将被你拒绝relay.解决办法是为这个IP地址加PTR记录,也就是反向DNS解析,或者添加到/etc/hosts文件中,再或者
19、添加该IP地址到access map 中去(/etc/mail/access)。 3.不一致的DNS数据 QAA02454: . Relaying denied QAA02454: ruleset=check_rcpt, arg1=, relay=some.domain (may be forged), reject=550 . Relaying denied QAA02454: from=, size=0, clas
20、s=0, pri=0, nrcpts=0, proto=SMTP, relay=some.domain (may be forged) 这儿,(may be forged)是个很重要的部分:它说明对于该主机的DNS数据是不一致的,并且主机名不被用来检查是否被允许relay,而仅仅检查IP地址,因此这和第二种情况相同。 七. 动态Relay授权控制简介:(DRAC) DRAC是一个后台程序,它动态地为Sendmail更新access map文件,它提供一种方法,就是允许
21、合法的用户通过你的SMTP邮件主机relay mail,同时仍然阻止其它人用它作为Spam Relay.当用户被POP/IMAP服务器认证后其IP地址被立即加入/etc/mail/access允许mail relay.默认地,该IP地址在access map的入口在30分钟后被终止了。 这种功能特别是对那些公司有用,它们在各个地方有办事处,外地办事处或出差在外的笔记本用户通过拨入当地ISP,且设置了发送邮件服务器为本公司的SMTP邮件主机时。 一般地,Sendmail所能看见的唯一可靠的信息是客户机的主机/域名或IP地址,并且当一个用户是通过拨本地ISP连接到其本公司总部的SMTP邮件服务器时,Sendmail不能分辩你的用户是spammer还是本公司合法员工,如果拨号用户有固定的IP地址/域名,你可以配置sendmail允许他们relay mail.但是大多数情况,特别在中国,拨号用户每次得到的是不同的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年道真县事业单位急需紧缺高层次人才笔试试卷 招录 18 人
- 2026煤矿采煤机司机特种作业考试题库含答案
- 具身智能+工业生产安全监控智能巡检研究报告
- 传统企业数字化营销转型案例研究报告
- 超声波家用加湿器行业研究报告
- 2027届福建省厦门市湖里实验中学数学七上期末检测模拟试题含解析
- 浙江省海曙区五校联考2027届数学七上期末统考试题含解析
- 2027届江苏省无锡市查桥中学七年级数学第一学期期末检测试题含解析
- 深圳实验学校2027届数学七上期末质量检测模拟试题含解析
- 2027届安徽省合肥168中学九年级数学第一学期期末联考试题含解析
- T/TMAC 248-2025连续石墨化炉能源消耗限额
- 2026年兰州大学物理试题及答案
- 2026畜禽种业自主创新与核心种群建设战略研究报告
- IMDG Code 42-24 修正案 锂电池海运包装标记与标签规范 中文版(P903 包装标识更新全解)
- 校园统一身份认证平台建设方案
- 2026年陕西事业编考试综合管理模拟题及答案
- 初中数学七年级上册第一章《数学与我们同行》核心素养知识清单
- 供应链韧性的理论内涵与战略框架构建
- 2026年无人机应用技术考试测试题库附参考答案详解(完整版)
- 2026高考英语考前高频词汇+作文万能模板
- 2024人教版八年级英语下册(全册)教案
评论
0/150
提交评论