我的一台邮件服务器(如果重要的话,应该是 Postfix)已经成为了攻击的目标。攻击者试图通过每秒一次的 SMTP 会话向不存在的用户发送以长十六进制字符串形式组成的消息。以下是单个会话的片段:
In: MAIL FROM:<[email protected]> SIZE=2881 BODY=7BIT
Out: 250 2.1.0 Ok
In: RCPT TO:<[email protected]
Out: 451 4.3.0 <[email protected]>: Temporary lookup
failure
In: RCPT TO:<[email protected]>
Out: 451 4.3.0 <[email protected]>: Temporary lookup
failure
In: RSET
Out: 250 2.0.0 Ok
In: MAIL FROM:<[email protected]> SIZE=2881 BODY=7BIT
Out: 250 2.1.0 Ok
In: RCPT TO:<[email protected]>
Out: 451 4.3.0 <[email protected]>: Temporary lookup
failure
In: QUIT
Out: 221 2.0.0 Bye
有人知道这是什么以及如何保护服务器吗?谢谢。
答案1
经过几天的观察并在其他网站上获得一些帮助后,发生了以下情况:
显然,我们正在处理一个盲目的电子邮件地址收集器。请注意,所有用户名(@ 之前的字符串)都是 32 个十六进制字符。进入日志文件后,我注意到这些值在 SMTP 事务期间出现在消息 ID 中,但也作为实际消息标题的一部分出现。
显然,有人在收集邮件地址,其中所有带有“@”的地址都会被收集。问题是:这些信息是从我们的日志文件或邮件存储中收集的(可能性非常大,表明有人入侵),还是从其他位置(如邮件列表等)收集的。事实证明,每种类型的 SMTP 服务器分配的消息 ID 略有不同,因此检查日志并查询几个域后发现,EXIM 分配了 32 个字符长的消息 ID。松了一口气,我只使用 Postfix。
我的结论是,收割机盲目地从任何可能的地方(可能是从邮件列表中)挑选用户名和域名,并随机配对!!升级 Postfix 以便使用 postscreen 可能会有所帮助,也可以修复配置以发出永久错误而不是临时错误。
因此,实际上并没有针对漏洞的攻击,只是盲目的消息。