引:对于一个网络管理员来说垃圾邮件的困扰并不是接收这些垃圾邮件而是试图防止垃圾邮件发送者使用你的邮件服务器来进行中继转发这项工作很关键
因为一旦他们使用你的邮件服务器做为转发站除了耗费昂贵的带宽资源导致服务器速度下降以及使你承受重压你也许还可能很快就被大家的黑名单搞得晕头转向当这种情况发生时你的用户的邮件发送可能会时断时续你也只能耗费许多计划外的时间来清理系统并摆脱这些禁止名单
当然几乎每个网络管理员都对开放中继的概念它有什么坏处以及典型的解决方案等非常熟悉这些解决方案有诸如对某些IP地址的限制性中继服务或者需要认证等实现方式但是许多网络管理员也许没有没有意识到现在的垃圾邮件发送者已经变得更加老谋深算了
作为一个测试演练我上周和这周设立了几个邮件服务器既使用了微软的Exchange也使用了一些免费的SMTP/POP服务器软件并且建立了我自己的协议分析器(ClearSight)以便于我能够观察发生的情况面对发生的情况我必须承认我感到相当震惊
正如你可能想到的那样他们很快就发现了我的服务器即使我要求对中继请求进行认证我很快就开始看见成千上万包含虚假源地址的邮件源源不断的通过我的Exchange服务器我甚至看不到任何邮件进入我的本地文件夹同时我还发现他们已经发现并利用了一个系统Bug(可能与SQL服务器相关)这样就导致我的服务器自动产生他们需要的邮件——都不需要进行转发了
所以我抛弃Exchange并开始使用其他的免费服务器软件然而这让我的监控过程变得更加有趣也使我对攻击的多样性感到震惊尽管中继转发的企图最初总是遭遇到服务器发出的This mail server requires authentication(这个邮件服务器要求认证)的返回信息我还是很快再次看到垃圾邮件蜂拥而至他们甚至猜到了Postmaster(邮箱管理员)帐号的密码并且使用邮箱管理员身份发送邮件
我将Postmaster(邮箱管理员)帐号禁用后我仍然看到了许多利用伪造的SMTP命令进行登陆使用错误Email源地址以及其他诸如在一个会话中传送几个RSET命令这样的事情发生(因为许多服务器都允许你使某些命令失效)这时我意识到这很可能就是我的服务器时常断开某个连接的原因所在了因为它已经被设置成当接收到指定数目的错误命令后就会断开这个连接所以我就将这个值(指定数目)设置得非常低
我还注意到多数的中继转发尝试都来自同一个IP地址所以我就在我的防火墙中封掉该IP地址几分钟后我收到了从另一个不同地点的另一个不同的IP地址发来的同样内容的垃圾邮件我再次将此IP地址阻塞掉垃圾邮件再次从第三个源头发送过来非常明显在它们之间还保持连接的时候它们似乎非常乐意接收到认证失败的通知但是一旦它们不能在端口上建立一个TCP连接它们将马上转换源地址
当我选择拒收所有来自非法域内的邮件的时候我发现了一个非常有趣的副作用虽然拒收这些邮件看起来仿佛对于我来说是件好事情因为这些成千上万的垃圾邮件都是来自一个充满ASCII码垃圾的Email地址
然而我所发现的是即使我的认证要求阻断了垃圾邮件的中继企图我的服务器仍然为这些垃圾邮件发送者的域名发送DNS(域名服务)请求结果就造成了大量的DNS请求更糟的是它们源源不断地产生DNS请求然后突然每分钟发送几千个请求几乎是对DNS服务器的DoS攻击(拒绝服务攻击)在这种通信状况下我只好取消了拒收这些邮件的设置
如果你正在监管邮件服务器我建议你定期花费几分钟使用Sniffer工具确保你的服务器没有中招我也鼓励你经常给你的系统打补丁重命名或禁用所有标准帐号全面了解你的服务器支持的安全特性垃圾邮件传播者(spammer)变得越来越狡猾我们必须变得更有经验千万不要仅仅依靠身份认证或者IP寻址来抵御垃圾邮件的侵袭