2010-06-28

用 greylist 做邮件服务器的保护罩

据考证,第一个垃圾邮件是 1994 年 3 月 5 日由一对夫妻律师发送出来的。自此,垃圾邮件充斥着你、我邮箱的各个角落。要怪罪的话,只能怪罪 SMTP 协议的创造者是一个大好人,设计之初压根没有考虑人性的贪婪导致邮件被滥用。 防止垃圾邮件,已经是商业邮件服务器的必选项。但是一些被广泛使用的垃圾邮件防范机制的效果很有限。
  • 基于黑名单的垃圾邮件防护,因黑名单维护和更新存在滞后性和时效性,效果并不显著
  • 基于内容的过滤,即使准确度 99%, 那 1% 被隔离的正常邮件也可能会造成意想不到的损失。对 1% 邮件的牵肠挂肚,让 99% 的准确度失去意义。
Greylist —— 灰名单,则在另外的一个角度上另辟蹊径。
  • 基于邮件服务器行为,而非邮件内容本身
  • SMTP 服务器发送的正常邮件存在重发机制,而垃圾邮件往往缺乏正规邮件的重发机制
  • 在某个IP或者某个网段以某个用户名义发送邮件到本邮件域的某个用户,如果是第一次发送,拒收邮件
  • 第一次拒收的同时,会记录发送方的IP地址,MAIL FROM,RCPT TO 等 SMTP 会话信息
  • 在某个时间段之内(10分钟到8小时),发送方重新发送邮件,则会话被接受,灰名单进入白名单
在 Debian 上,可以很容易的安装名为 greylistd 的软件包,稍加配置,就可以为你的邮件服务器穿上保护罩。
blog comments powered by Disqus