web-dev-qa-db-ja.com

送信者のIPではなくメールサーバーのIPに対してSPFが検証されるのはなぜですか?

受信者「[email protected]」のすべてのメールを「[email protected]」に転送するメールサーバー「example.com」があります。私のメールサーバーはPostfixを実行し、virtual_alias_mapsメカニズムを使用して転送を実行します。 「example.com」のSPFレコードもインストールしています。

v=spf1 a include:aspmx.googlemail.com ~all

問題は、誰かが「[email protected]」にメールを配信するたびに、Gmailがexample.comのSPFレコードをexample.comのIPアドレスに対して検証することです。元の送信者のIPアドレスに対して検証することになっていると思いました。

たとえば、自宅のインターネット接続でラップトップを使用しています。次のようにexample.comのメールサーバーに接続します。

$ telnet example.com 25
20 example.com ESMTP Postfix (Debian/GNU)
HELO my-laptop.local
250 example.com
MAIL FROM:<[email protected]>
250 2.1.0 Ok
RCPT TO:<[email protected]>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: [email protected]
To: [email protected]
Subject: test

test
.
250 2.0.0 Ok: queued as CE5F42200F9

そのメールをGmailで開いてそのソースを表示すると、次のヘッダーが表示されます。

Delivered-To: [email protected]
Received: by 10.231.219.195 with SMTP id hv3csp61494ibb;
        Sat, 14 Jul 2012 02:15:58 -0700 (PDT)
Received: by 10.229.135.5 with SMTP id l5mr2360326qct.5.1342257358291;
        Sat, 14 Jul 2012 02:15:58 -0700 (PDT)
Return-Path: <[email protected]>
Received: from example.com [EXAMPLE.COM's IP ADDRESS HERE]
        by mx.google.com with ESMTP id u9si4262071qcv.89.2012.07.14.02.15.58;
        Sat, 14 Jul 2012 02:15:58 -0700 (PDT)
Received-SPF: neutral (google.com: [EXAMPLE.COM's IP ADDRESS HERE] is neither permitted nor denied by domain of [email protected]) client-ip=[EXAMPLE.COM's IP ADDRESS HERE];
Authentication-Results: mx.google.com; spf=neutral (google.com: [EXAMPLE.COM's IP ADDRESS HERE] is neither permitted nor denied by domain of [email protected]) [email protected]
Date: Sat, 14 Jul 2012 02:15:58 -0700 (PDT)
Message-Id: <[email protected]>
Received: from my-laptop.local ([LAPTOP's IP ADDRESS HERE])
    by example.com (Postfix) with SMTP id CE5F42200F9
    for <[email protected]>; Sat, 14 Jul 2012 09:15:44 +0000 (UTC)
From: [email protected]
To: [email protected]
Subject: test

Received-SPFとAuthentication-Resultsでわかるように、SPFレコードは、[LAPTOPのIPアドレス]ではなく[EXAMPLE.COMのIPアドレス]に対して検証されています。

なぜこれが発生するのですか、またこの問題を修正するにはどうすればよいですか?

6
Hongli Lai

グーグル[または他の誰か]は、彼らが彼らに接続しているのを見たIPアドレスに対してspfを検証します。その場合、それはあなたのpostfixサーバーのIPアドレスになります。あなたはそれを修正することはできません-それは仕様によるものです....

設計による spfには転送に関する「問題」があります メッセージが「再パッケージ化」され、送信者アドレスがフォワーダーのアドレスに書き換えられない限り。

10
pQd