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

我在大学pipe理一个postfix SMTP服务器。 每个星期至less有一个帐户被盗用,用来发送垃圾邮件。 我们开发了一个内部监控器,用于暂停队列中超过40条消息的本地帐户。 通过这种方式,我们已经停止在第一时间发送垃圾邮件。

但昨天一些攻击者损害了一个帐户,可以通过我们的服务器发送邮件。 显示器无法检测到,因为邮件没有使用我们的域名排队,而是[email protected]

我怎样才能发现哪个帐户使用这个地址发送邮件?

提前致谢。

grep你的maillog中的QUEUEID之一。 你应该看到像这样的东西:

 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