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 アドレスが 1 行にまとめられたものです。IP アドレスが正しくないようです。

これに関する参考情報があれば教えていただけると助かります。

動作構成

この構成では、必要なものが印刷されます。

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

client_addrとその他のマクロは、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

関連情報