我在 centos 6 系统上使用带有 dovecot 和虚拟用户的 postfix。
最近我收到了大量垃圾邮件,有大量的 50 个收件人的垃圾邮件从一个未知帐户发来。
当前日志记录(邮件日志)未显示有关 SMTP 授权过程的任何内容(SMTP 的限制仅限于授权用户)
我所拥有的只是“入口点”:
10月30日 05:00:53 xxxxxxx postfix/qmgr[29457]: 7157E115443B:[电子邮件保护], size=1463, nrcpt=50 (队列活动)
然后是以下 50 个:
10月30日 05:12:50 xxxxxxx postfix/qmgr[29457]: 7157E115443B:[电子邮件保护],中继=无,延迟=19695
我尝试将 -v 添加到 master.cf 行:
smtp inet n - n - - smtpd -v
并且它可以工作-但是它显示了太多的调试信息
我怎样才能在邮件日志中只有一个条目,例如:
10月30日 06:20:21 服务器 postfix/smtpd[27864]: xsasl_dovecot_handle_reply: 身份验证回复:[电子邮件保护]
每次 SMTP 身份验证尝试?(仅此而已,没有提升日志记录级别)
答案1
身份验证日志条目应来自 postfix/qmgr(队列活动)消息之前的 postfix/smtpd。看起来我们在示例中没有看到该特定消息 ID 7157E115443B 的所有日志,因此您的日志记录工具可能存在问题。
如果这个问题仍然是最近的,我会要求您运行“grep 7157E115443B mail.log”并提供结果,以便我们确保不是这种情况。
Dovecot 日志设置位于 /etc/dovecot/conf.d/10-logging.conf,您可以在其中将 auth_verbose 切换为 yes,这将显示所有失败的登录,但成功的登录应该已经出现在标准日志级别。
当我通过 postfix 发送电子邮件时,操作顺序应该按照以下方式出现在邮件日志中:postfix 操作流程:
通过 smtpd 进行身份验证:
Jan 27 09:09:55 mail postfix/smtpd[17400]: 2452C20028A: client=unknown[1.2.3.4], sasl_method=LOGIN, [email protected]
清理:
Jan 27 09:09:55 mail postfix/cleanup[17633]: 2452C20028A: message-id=<[email protected]>
qmgr 排队:
Jan 27 09:09:55 mail postfix/qmgr[5728]: 2452C20028A: from=<[email protected]>, size=2704, nrcpt=1 (queue active)
smtp 发送出站:
Jan 27 09:09:55 mail postfix/smtp[17634]: 2452C20028A: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.3, delays=0.03/0/0/0.27, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 6B86C20028C)
qmgr 从队列中删除:
Jan 27 09:09:55 mail postfix/qmgr[5728]: 2452C20028A: removed
答案2
在日志中,SASL 日志的信息位于 stmpd 行(不带-v
选项):
Oct 30 13:19:26 mailgw-out1 postfix/smtps/smtpd[27530]: EB4B2C19E2: client=xxx[1.2.3.4], sasl_method=PLAIN, sasl_username=user@domain
在 qmgr 中,没有身份验证,因为它是队列管理器!
检查您的队列(通过mailq
命令)以查看是否有很多邮件。检查 smptd 上的日志以查找用户(如果已通过身份验证)...