梭子鱼巧妙应对电子邮件退信攻击

电子邮件系统的退信机制是互联网运作的标准之一,几乎所有的电子邮件系统都支持这项功能。所谓退信机制,即邮件系统在SMTP连接阶段,检查收件人是否存在,如果收件人不存在,或是接收端因为某种原因而不能接受,邮件系统将自动生成退信信息(NDR【Non-Delivery Report】)并自动发送给发件人。依据RFC的定义,邮件系统必须接受这种NDR,否则有可能导致连正常邮件都无法收取。退信攻击就是利用邮件系统的这一特定产生的。

所谓退信攻击,是将预攻击的对象伪造成发件人地址,而收件人设置为一系列其他邮件域并不存在的账号,这样当邮件大量发送,例如通过僵尸网络,由于收件人不存在,邮件系统将产生大量的退信给发件人地址。该发件人地址所属的真实服务器将收到大量的退信,增加服务器的负荷,也容易使该公司的邮件服务器被列入黑名单。

退信攻击在程度上有所区别,上面介绍的这种攻击,被攻击者可能一天之内收到数百上千封各种退信。一般用户碰到的退信攻击属于骚扰性质,垃圾邮件发送者在发送垃圾邮件时,常常随机的设置发件人,例如其中包括bobo@abc.com,当大量发送垃圾邮件时,有些邮件可能是以bobo@abc.com发送的,则bobo就可能收到退信,有时一天只有几封或几十封,但总是不断,让人十分郁闷。 退信信息通常比较有规律,例如发件人为空,或者为MAILER-DAEMON@xxx.com,主题一般为Undelivered Mail Returned等。有些用户采用关键字的技术将退信予以阻断,或者干脆限定阻止空发件人,但是这经常会把正常的退信也阻止掉,导致信息不畅。 一般而言,退信占一个公司的邮件量5%以上,这其中绝大部分是垃圾退信。如何防止收到这种垃圾退信,避免退信攻击呢? 采用SPF或domain-key的技术。这两种技术的原理相似。例如sohu.com的SPF记录是sohu.com text = "v=spf1 ip4:61.135.130.0/23 ip4:61.135.132.0/23 (……sohu邮件服务器所属IP)all";如果有人冒用sohu发送垃圾邮件,收件方如果采用了SPF过滤技术,就能判定这是假冒的垃圾邮件,将不会给sohu发送DNR了。 遗憾的是很多服务器不做SPF验证,因此即使您的公司设置了SPF记录,也不能阻止垃圾退信。 梭子鱼垃圾邮件防火墙采用的弹回邮件验证机制可以完美解决垃圾退信,其原理如下,在梭子鱼垃圾有限防火墙外发邮件时加入时间戳和验证密钥,形如:20090714023838.BB1B612EEE9;这封邮件发出后产生了弹回信,弹回信中应包括发邮件时的时间戳和密钥。如果不包括上述信息,则说明这封邮件不是由该设备发出的,是垃圾弹回信,予以阻断。 附:设置方法:在管理界面过滤设置—sender authentication 中

设置是否过滤非法弹回信及验证密钥即可。

在日志中搜索阻断原因为Invalid Bounce可以查找到所有阻断的垃圾退信记录。