如何检测哪个帐户正在发送垃圾邮件

如何检测哪个帐户正在发送垃圾邮件

我管理着一所大学的 Postfix SMTP 服务器。每周至少有一个帐户被盗用并用于发送垃圾邮件。我们开发了一个内部监控器,可以暂停任何队列中有超过 40 条消息的本地帐户。通过这种方式,我们在第一时间阻止了垃圾邮件的发送。

但昨天,一些攻击者入侵了一个帐户,并可以通过我们的服务器发送邮件。监视器无法检测到它,因为邮件没有使用我们的域排队,但是[电子邮件保护]

我如何才能发现哪个帐户正在使用该地址发送邮件?

提前致谢。

答案1

grepQUEUEID邮件日志中的一个。您应该看到类似以下内容的内容:

May 20 15:25:40 mta2 postfix/smtps/smtpd[26154]: 578C7E0013: client=unknown[203.0.113.3], sasl_method=PLAIN, sasl_username=someuser
May 20 15:25:40 mta2 postfix/qmgr[3291]: 578C7E0013: from=<[email protected]>, size=1198, nrcpt=1 (queue active)
May 20 15:25:40 mta2 postfix/smtp[26074]: 578C7E0013: to=<[email protected]>, relay=mx.example.com[98.51.100.14]:25, delay=0.15, delays=0.02/0.01/0.06/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 6B87C336809C)

sasl_username就是您要找的部分。


在未来,你需要设置reject_authenticated_sender_login_mismatch作为你的一部分smtpd_sender_restrictions.这需要有效的smtpd_sender_login_maps。您可能还想查看policyd作为您自制显示器的补充或替代品。


例子:

**main.cf**  
smtpd_sender_restrictions = reject_unknown_sender_domain reject_authenticated_sender_login_mismatch
smtpd_sender_login_maps = ldap:$config_directory/ldap-sender-login-map.cf  

**ldap-sender-login-map.cf**
version = 3
server_host = ldap://ldap.example.com/
search_base = dc=example,dc=com
query_filter = mailLocalAddress=%s
result_attribute = mailLocalAddress
result_format = %s,%u

相关内容