我们正在使用智能邮件系统。 最近,我们发现黑客入侵了一些用户帐户,并发送了大量垃圾邮件。 我们有防火墙来限制发件人,但对于以下电子邮件,防火墙无法执行此操作,因为发件人地址为空。 为什么一个空的FROM地址被认为是可以的? 实际上,在我们的MTA(Surgemail)中,我们可以在邮件头中看到发件人。 任何想法?
11:17:06 [xx.xx.xx.xx][15459629] rsp: 220 mail30.server.com 11:17:06 [xx.xx.xx.xx][15459629] connected at 6/16/2010 11:17:06 AM 11:17:06 [xx.xx.xx.xx][15459629] cmd: EHLO ulix.geo.auth.gr 11:17:06 [xx.xx.xx.xx][15459629] rsp: 250-mail30.server.com Hello [xx.xx.xx.xx] 250-SIZE 31457280 250-AUTH LOGIN CRAM-MD5 250 OK 11:17:06 [xx.xx.xx.xx][15459629] cmd: AUTH LOGIN 11:17:06 [xx.xx.xx.xx][15459629] rsp: 334 VXNlcm5hbWU6 11:17:07 [xx.xx.xx.xx][15459629] rsp: 334 UGFzc3dvcmQ6 11:17:07 [xx.xx.xx.xx][15459629] rsp: 235 Authentication successful 11:17:07 [xx.xx.xx.xx][15459629] Authenticated as [email protected] 11:17:07 [xx.xx.xx.xx][15459629] cmd: MAIL FROM: 11:17:07 [xx.xx.xx.xx][15459629] rsp: 250 OK <> Sender ok 11:17:07 [xx.xx.xx.xx][15459629] cmd: RCPT TO:[email protected] 11:17:07 [xx.xx.xx.xx][15459629] rsp: 250 OK <[email protected]> Recipient ok 11:17:08 [xx.xx.xx.xx][15459629] cmd: DATA
空MAIL FROM用于传递状态通知。 邮件服务器需要支持它( RFC 1123第5.2.9节 )。
它主要用于退回消息,以防止无限循环。 当MAIL FROM与空地址(表示为<> )一起使用时,如果消息正被发送给不存在的用户,则接收服务器知道不会生成退回消息。
如果没有这个,有人可能只是通过伪造消息给另一个域中不存在的用户,并在你自己的域中有一个不存在的用户的返回地址,导致一个永无止境的循环反弹消息。
如果您使用空MAIL FROM:阻止邮件会发生什么情况?
您看到的空MAIL FROM:消息可能不是来自垃圾邮件发送者。
相反,垃圾邮件发送者在您的域名中伪造一个地址,并将其用作到其他域的邮件的返回地址。 假设你是yourdomain.com ,我的域名是mydomain.net 。 垃圾邮件发送者向[email protected]发送消息,将返回地址[email protected] 。 由于在我的域中没有用户johnq ,所以我的邮件服务器发送一个退回邮件( MAIL FROM:<> )给表头发送者[email protected] 。 这就是你可能看到的。
根据我的观点,阻止空白邮件将会造成更多的伤害。 根据我的经验,垃圾邮件发送者很less使用空的MAIL FROM:因为他们很容易伪造一个真实的地址。 当邮件是真正的垃圾邮件时,有更好的方法来检测和阻止它,包括RBL,贝叶斯filter和SpamAssassin。
最后,您可以通过为您的域名设置适当的SPFlogging来防止至less一些使用yourdomain.com的伪造品。
更新:仔细查看日志后,有人可以使用有效的用户名和密码为您的服务器。 这使得它陷入了另一个麻烦的范畴。 然而,我所说的关于MAIL FROM:一切依然存在。 99%的时间将是反弹消息的结果。
您可以为您的邮件服务器search选项,以将MAIL FROM限制为经过validation的用户电子邮件。 许多邮件系统都适用这个限制。
所以强迫黑客修改密码。