postfix/dovecot - 如何在日志文件中查看 smtp auth 用户?

postfix/dovecot - 如何在日志文件中查看 smtp auth 用户?

我在 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 上的日志以查找用户(如果已通过身份验证)...

相关内容