クライアントのIPに基づいてGmail SPFが失敗する


8

GmailはクライアントIPに基づくSPFチェックに失敗しています。これらは関連するヘッダーです:

Received-SPF: fail (google.com: domain of johndoe@example.com does not designate 164.77.240.58 as permitted sender) client-ip=164.77.240.58;
Received: from johndoe (unknown [164.77.240.58])
    by mail.example.com (Postfix) with ESMTP id 993643FE2D

クライアントIP(164.77.240.58)は、johndoeのコンピューターのIPです。送信者IP、mail.example.comのIPは、SPFレコードに含まれています。

Gmailが送信者IPではなくクライアントIPに基づいて失敗するのはなぜですか?これはSPFの動作方法ですか?


「クライアントIP」への参照が、SMTPサーバーに接続したクライアントを単に参照することを期待していました。(どのafaict、あなたが期待したものだろうか?)
ホーカンLindqvist

3
ReceivedGmailによって追加されたヘッダーも含めて、実際にどこからメールを受信したかを明確にできますか?
ホーカンLindqvist

@HåkanLindqvist他のRecievedヘッダーはただ言うby <google IP>
Max Toro

IMAPを介したGmailへのメールのインポートについても同様の問題があります。問題1(あまり似ていない):a@example.comのような2つのローカルメールボックス間でメールを送信するとき(ただしSMTPポート25を使用)、Gmailはそれをインポートし、サーバーではなくクライアントIPでSPFチェックを実行します。serverfault.com/q/669584問題2(より類似):誰かがESMTPヘッダーを含むメールを送信すると、Gmailがそれをインポートし、サーバードメインとサーバーIPでSPFチェックを実行します。serverfault.com/q/670113
Zbyszek

回答:


4

まず、example.comのspfレコードを取得します。

$ dig -t spf mail.example.com

example.comが送信者リストにあることを確認します。spfレコードは次のようになります。

"v=spf1 a:mail.example.com a:cname.example.com -all"

リストされているドメイン名を取得し、それらのDNSルックアップを実行してIPアドレスを取得します。

$ dig mail.example.com

次に、PTRルックアップを実行して、IPの逆DNS名を取得します。

$ dig -x XX.XX.XX.XX

逆IPルックアップは、spfレコードにリストされているレコードの1つと一致する必要があります。何が起こっているのかを確認できるように、spfレコードから始めると役立ちます。


3
itym dig example.com TXT。また、SPFレコードがptrメソッドを使用しない限り、逆ルックアップがSPFに影響を与えるとは思いません。
ホーカンLindqvist

2

はい、GoogleはSPFの障害を特定するのに適切です。チェックする必要があるIPアドレスは、Googleのメールサーバーに接続しているアドレスです。Googleの受信ヘッダーがないため、メールサーバーが接続のSPFをチェックしていると思われます。SPFでインターネットからの認証されていない接続のみを確認する必要があります。ローカル接続と認証済み接続は、SPF検証をバイパスする必要があります。

SPFは、送信側コンピューターが送信側ドメインによって許可されていることを確認するためのものです。通常、ドメインには、インターネットとの間で送受信されるすべての電子メールを処理する1つまたは2つのメールサーバーがあります。これらのアドレスは、ドメインのSPFレコードにリストされているアドレスである必要があります。

この場合、johndoeはドメインのメールサーバーに接続しているようです。サーバーがドメインのネットワーク上にない場合、送信ポート(587)で認証された接続を使用するのが一般的です。メールサーバーはメッセージをgmailに転送し、SPFは通過するはずです。それでもSPFが失敗する場合は、SPFレコードを修正してメールサーバーのIPを含める必要があります。使用できるメカニズムはいくつかあります。

私の電子メールポリシーは、私のドメインから送信されたすべての正当なメールがSPFを通過することを保証します。ユーザーに代わってメッセージを転送するサービスがいくつかあり、SPFに失敗します。ただし、検証するサーバーから受け取った記録されたエラーDMARCはすべてスパマーです。


2
メールサーバーのIPはSPFレコードに含まれています。それが送信者IPです。しかし、GmailはクライアントのIP(johndoeのコンピューター)に基づいて拒否しています。
Max Toro

@MaxToro Receivedヘッダーによると、johndoeのコンピューターはGoogleに直接送信しています。PTRレコードがないため不明です。johndoeのコンピュータがGoogleに認証されていれば、それはうまくいきます。
BillThor 2014

いいえ、それはjohndoeのコンピュータから受信するmail.example.comです。
マックス・トロ

@MaxToro SPFレコードを拒否しているのはサーバーではないのですか?最後のアクティブなポリシーはグーグルのものでしょう。メールログには、Googleに送信しようとしているかどうかが示されているはずです。
BillThor 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.