在过去的一天中,我们发现有人从中国使用我们的服务器发送垃圾邮件。他很可能使用弱用户名/密码访问我们的 SMTP 服务器,但问题是他似乎使用 base64 编码来阻止我们发现他正在使用哪个帐户。以下是邮件日志中的一个示例:
May 5 05:52:15 195396-app3 smtp_auth: SMTP connect from (null)@193.14.55.59.broad.gz.jx.dynamic.163data.com.cn [59.55.14.193]
May 5 05:52:15 195396-app3 smtp_auth: smtp_auth: SMTP user info : logged in from (null)@193.14.55.59.broad.gz.jx.dynamic.163data.com.cn [59.55.14.193]
有什么方法可以检测出他正在使用哪个帐户?
答案1
如果我是你,我会查看 SASL 日志(如果你正在使用的话)并查看哪些用户同时登录。如果你没有 SASL 日志,你总是可以查看当时的 MySQL/LDAP 搜索日志。
考虑到他以空身份登录,我会检查我的数据库以确保没有格式错误的条目或类似的东西。
Base64 编码是 SMTP 身份验证的标准,所以这很正常。虽然有 MD5 摘要,但如果他有“有效”凭证,那就没用了。
一个临时的解决方案就是封锁他的 IP 或者封锁整个 IP。
答案2
您还可以尝试增加 postfix 的详细程度,并使用参数启动它-v
(谷歌说它应该在 master.cf 中,我不是 postfix 专家)。
/etc/postfix/master.cf:
smtp inet n - n - - smtpd -v
如果这不起作用,还有核选项,tcpdump/wireshark。