web-dev-qa-db-ja.com

Amavis / Spamassassin-FORGED_SPF_HELOおよびSPF_HELO_PASS

Postfix 3.3.0を介してwebformタイプのメールを送信するWebサーバーがあります。着信なし。エキストラなし。

受信メールサーバーは同じPostfixを実行しています(ただし、amavis-new/spamassassin + dovecot/etcを使用)。これらは両方とも同じドメインにありますが、サブドメインは異なります(「www。」と「mail。」)。

テスト電子メールが(postfix sendmailコマンドを使用して)Webサーバーからメールサーバーに送信されると、HELO/EHLOのスコアリングを除いてすべてが完璧です。 FORGED_SPF_HELO。私はこれにこれまで遭遇したことがなく、見つけるべきドキュメントはほとんどありません。ただし、それはHELOでSPFルックアップを渡していないことから自明のようです。

元のDNSは単に「www」でした。頂点AレコードのCNAMEとして。
頂点SPFには「a」レコードが含まれています:"v=spf1 a mx ~all"

ログのHELOは:helo=www.example.net, Tests:[ALL_TRUSTED=-1,FORGED_SPF_HELO=1,MISSING_HEADERS=1.207,MISSING_SUBJECT=1.767]

「www」を調整しました。レコードはAレコードであり、SPF TXTレコードを個別に追加しました。

今私は得る:helo=www.example.net, Tests: [ALL_TRUSTED=-1,FORGED_SPF_HELO=1,MISSING_HEADERS=1.207,MISSING_SUBJECT=1.767,SPF_HELO_PASS=-0.001]

偽造と合格?

主な質問:
最初に、SPFのaがCNAMEの「www」を許可していない理由を誰かが説明できますか?合格する?第二に、「偽造」と「パス」を同時に行う方法を誰かが説明できますか?

1
bshea

ルールFORGED_SPF_HELOはSpamassassinの更新に由来します。設定フォルダ(/var/lib/spamassassin、少なくともDebianoidsでは)をgrepすることで、次の定義が表示されます。

meta    FORGED_SPF_HELO     __HELO_NOT_RDNS && SPF_HELO_PASS && !SPF_PASS
header  __HELO_NOT_RDNS     X-Spam-Relays-External =~ /^[^\]]+ rdns=(\S+) helo=(?!\1)\S/
header   SPF_PASS           eval:check_for_spf_pass()
header   SPF_HELO_PASS      eval:check_for_spf_helo_pass()

ルール__HELO_NOT_RDNS(ホストの逆DNSルックアップwww.example.netwww.example.netではない)に失敗し、SPF_PASSがありません(ホストはe-ドメインに代わってメール)。

公式メールサーバーのリストにwww.example.netを追加したくないので、[email protected]という形式の送信者に電子メールを送信するように構成します。

1