我想記錄每個 SMTP 事務的訊息 ID、客戶端 IP 位址和經過驗證的寄件者,幾乎如此處所討論的:
我已經實現了該解決方案,但是,它記錄了所有事務,而不僅僅是使用身份驗證的事務。我更願意只記錄使用身份驗證的條目。
我的目標是能夠透過日誌分析偵測網路釣魚電子郵件帳戶。
我想保留的條目如下所示:
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
我在一個上找到了 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