Postfixを含む特定のメールを送信したユーザーを特定するにはどうすればよいですか?


9

SMTPリレーへの認証を必要とするPostfixサーバーがあります。MySQLデータベースでは仮想メールボックスを使用します。

システムを介してメッセージがリレーされたため、メッセージの送信に使用されたユーザーアカウントを特定する必要があります。

メッセージヘッダーには以下が含まれます。

Received: from User (c-76-109-241-139.hsd1.fl.comcast.net [xx.109.xxx.139]) 
    by ourserver.com (Postfix) with ESMTPA id 7BA184B4AD4; 
    Tue,  3 Jul 2012 05:42:59 -0400 (EDT)

「ユーザー」というユーザーがいないため、IPアドレスはメールの送信元ではありません。メッセージの送信時に送信者が認証したユーザーアカウントを確認します。

これを追跡する方法はありますか?


上記のUserは、メールサーバーのホスト名です。このようなものを見ましたAuthenticated sender:か?
クォンタム2007

回答:


15

メッセージID(この場合は7BA184B4AD4)をgrepすると、を/var/log/mail.log示すログ行が見つかりますsasl_username。例えば:

% zgrep 07A1753F /var/log/mail.log*
Jul  4 19:47:58 mammon postfix/smtpd[4936]: 07A1753F: client=c-69-181-123-456.hsd1.ca.comcast.net[69.181.123.456], sasl_method=PLAIN, sasl_username=mgorven

編集: Postfixでsmtpd_sasl_authenticated_header オプションを設定/etc/postfix/main.cfすると、SASLユーザー名Receivedがメールのヘッダーに追加されます。このヘッダーは改ざんされる可能性があるため、上記がメッセージを送信したユーザーを判別する唯一の信頼できる方法であることに注意してください。

smtpd_sasl_authenticated_header = yes

1
ログにこれが表示されません。これらのエントリはすべてclient = xxxであり、saslが使用されているかどうかにかかわらず、sasl情報はありません。これは、Cyrus SASLではなくDoscotをSASL認証に使用しているためだと思います。Dovecotに独自の認証記録を記録させることはできますが、これらをPostfixのログメッセージと確実に照合することは困難です。
gogoud 2016

WHM / cPanelユーザー:/var/log/maillog
rinogo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.