我们正在使用 Smarter Mail 系统。最近,我们发现黑客入侵了一些用户帐户并发送了大量垃圾邮件。我们有防火墙来限制发件人的速率,但对于以下电子邮件,防火墙无法做到这一点,因为发件人地址为空。为什么空的发件人地址被认为是可以接受的?实际上,在我们的 MTA(surgmail)中,我们可以在电子邮件标题中看到发件人。有什么想法吗?
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
答案1
空MAIL FROM
用于通知投递状态。需要邮件服务器支持它(RFC 1123 第 5.2.9 节)。
它主要用于退回邮件,以防止无限循环。当MAIL FROM
与空地址一起使用时(表示为<>
),接收服务器知道不是如果邮件发送给不存在的用户,则生成退回邮件。
如果没有这个,某人就有可能通过向另一个域中不存在的用户发送伪造的消息来对您实施 DoS,而使用您自己域中不存在的用户的返回地址,从而导致退回消息永无止境的循环。
如果使用空的 阻止消息,会发生什么情况MAIL FROM:
?
- 您的用户不会收到来自其他域的退回邮件:他们永远不会知道在向另一个域的用户发送邮件时是否输入了错误。
MAIL FROM:
您看到的空白消息可能是不是来自垃圾邮件发送者。
相反,垃圾邮件发送者伪造了您域中的地址,并将其用作发往另一个域的邮件的返回地址。假设您是yourdomain.com
,我的域是mydomain.net
。垃圾邮件发送者向 发送邮件[email protected]
,伪造返回地址为[email protected]
。由于我的域中没有用户,因此我的邮件服务器向明显的发件人johnq
发送退回邮件 ( ) 。您可能看到的情况就是这样。MAIL FROM:<>
[email protected]
我认为,屏蔽空MAIL FROM
邮件弊大于利。根据我的经验,垃圾邮件发送者很少使用空邮件,MAIL FROM:
因为他们可以轻易伪造一个看似真实的地址。当邮件是真正的垃圾邮件时,有更好的方法来检测和阻止它,包括 RBL、贝叶斯过滤器和 SpamAssassin。
最后,你可以yourdomain.com
通过设置适当的SPF 记录为您的域名。
更新:仔细查看您的日志后,发现有人能够AUTH
使用您服务器的有效用户名和密码。这让它陷入了另一类麻烦。但是,我所说的一切MAIL FROM:
仍然有效。99% 的情况下,这将是退回邮件的结果。
答案2
您可以搜索邮件服务器的选项,将 MAIL FROM 限制为经过身份验证的用户电子邮件。许多邮件系统都应用了该限制。
因此,强制被黑客入侵的用户更改密码。