发信人: bsdbase(阿土)
整理人: cndgm(2003-05-22 08:40:25), 站内信件
|
反射式垃圾邮件攻击-我的qmail server现在的遭遇
http://chinaunix.net/forum/viewtopic.php?p=212877#212877
早上上班收信时,发现自己的邮箱里有5xxx封信,收了几封下来看,都是发给@yahoo.com @msn.com等等知名免费mail提供商的退信,以及对方服务器发回来的退信,本机发给postmaster的双重退信通知。
登入服务器查看,发现qmail在全力运转,不停的收信发信。
用防火墙打开对25端口的监控,发现大量来自200.x.x.x的smtp连接;
通过对退信的分析,发现对方利用了smtp的退信机制,进行了攻击:
向服务器发送一封Return-Path:[email protected],RCPT TO:local_user@local_domain(RCPT TO服务器本地域,逃避smtp验证),这里无论远程的Return-Path:[email protected],还是本地的RCPT TO:local_user@local_domain都是域存在而用户不存在;
当本地服务器收下此信件后,发现本地无该用户,就会向Return-Path指定的地址发一封退信,说明本地无此用户,此信同时会发给postmaster,远程@yahoo.com服务器收到此退信后,因为退信指定的用户也是不存在的,于是又产生一封退信发回本地服务器,此信在远端也会发给其postmaster,于是本地服务器放弃对该邮件的处理,并向postmaster发一个双重退信通知。
看,攻击者只要发一封信,就能令本地和远端服务器一共产生5封邮件,其中两封是需要通过wan投递的。
还有更严重的后果,由于一些服务器对于反复给本地不存在的用户发信的服务器采取封锁,一方面,本地给远程的正常邮件被抛弃,另一方面,可能被同时投诉道国际反垃圾邮件组织,导致本地邮件被广泛的邮件服务器拒绝。
目前,我采取的措施是:
1.设置.qmail-default,直接删除发给不存在用户的信;
2.设置本机发出的退信的return-path为本机的一个null信箱,发给该信箱的信也直接删除;
3.使用防火墙拦截来自200.x.x.x的smtp连接
如此,勉强对付下来了,然而,简单的删除退信并不是一个完美的解决方法;
各位postmaster如果有更好的方法请赐教,小弟感激不尽。
_________________
阿土的阿,土地的土.
http://www.bsdbase.com/
Always go ahead,Never give up.
----------------------------------
Give me a Fish I Eat For a day ;teach me to fish,I`ll eat for a life time.
---- http://www.bsdbase.com/
Always go ahead,Never give up.
----------------------------------
Give me a Fish I Eat For a day ;teach me to fish,I`ll eat for a life time.
---------------------------------------------------------------------------- |
|