在 sendmail 中记录身份验证信息 - 后续操作

在 sendmail 中记录身份验证信息 - 后续操作

我想记录每个 SMTP 事务中的消息 ID、客户端 IP 地址和经过身份验证的发件人,就像这里讨论的那样:

在 sendmail 中记录身份验证信息

我已经实施了该解决方案,但是,它记录了所有交易,而不仅仅是使用身份验证的交易。我更愿意只记录使用身份验证的条目。

我的目标是能够通过日志分析检测钓鱼电子邮件帐户。

我想保留的条目如下所示:

Sep 23 06:31:40 mail sm-mta[20443]: r8NDVdM3020443: Authenticated-by:LOGIN,username,0,,[192.168.1.10]

我想跳过的条目缺少机制和用户名(,,,,):

Sep 23 06:31:44 mail sm-mta[20475]: r8NDVh3m020475: Authenticated-by:,,,,messagent.computerdealernews.com.

我主要想找的是消息 ID、身份验证用户名和发件人的 IP 地址,它们都在同一行。它似乎没有正确的 IP 地址。

如果您能给我提供与此相关的任何参考信息,那将会很有帮助。

工作配置

这个配置打印出了我想要的内容。

Scheck_data
R$* $: <$&{auth_authen}> $1
R<$+> $*    $: <$1> $2 $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{client_addr}, $&{f} $)
R<$*> $*    $: $2

我在IBM sendmail 站点

谢谢。

答案1

以下代码仅当 ${auth_authen} 不为空时才生成日志条目。
警告:在 $ 前放置制表符 (\t):[我做不到]

LOCAL_RULESETS
Scheck_data
R$*       $: <$&{auth_authen}> $1
R<$+> $*  $: <$1> $2 $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{auth_ssf}, $&{auth_author}, $&{mail_mailer}, $&{mail_host}, $&{mail_addr} $)
R<$*> $*  $: $2

相关内容