サーバー上の複数のドメインにSPFを構成するにはどうすればよいですか?(Gmailを送信者としても許可)


9

SPF(Sender Policy Framework)は、スパマー/スプーフィングと戦うための良い方法のようです。

ただし、説明を何度か読んでも、正しく構成する方法がよくわかりません。


のは、私が私のサーバーを持っているとしましょうa.x.comホストれたwww.x.comb.x.comし、c.x.comそのために。

私も同様ですa.co.uk b.net c.info。それぞれにさまざまなサブドメインがあり、すべてホストされていますx.com

これらすべてのドメインおよびサブドメインについて、メールの送信を許可したい a.x.com

また、Gmailから送信されたメールをこれらすべてのドメインで許可するようにしてください。

SPFでこれを設定するにはどうすればよいですか?

x.com(またはa.x.com)に1つのSPFレコードを設定してから、他のすべてにx.com、のレコードへの単純なインクルード/ポインターを設定することはできますか、それとも別の方法で行う必要がありますか?

上記の例にSPFレコードを提供できる人はいますか?


注:質問の2番目の部分は回答済みです(「v=spf1 include:x.com -all」を使用してx.comのレコードを含める/ポイントします)が、何を設定するかについての重要な部分はx.com未回答のままです...


実際、それはスパムを減らす絶望的な効果のない方法を証明しました。実際、間違いなく、とにかく送信者のアドレスのなりすましに対処することのみを目的としています。
クリストファーエドワーズ

2
「それは本当に、送信者のアドレスのなりすましに対処することのみを目的としています」-正確には、スパマーが他人のドメインから来たように見えるメールを送信するのを阻止します。
Peter Boughton、

回答:


7

x.com以外のドメインのゾーンファイルを変更する必要を回避することはできませんが、1つのドメインでホストされている共通のポリシーを定義redirectし、他のドメインでSPFキーワードを使用することで、多くの問題を回避できます。例:

  • x.comドメインのゾーンファイルで:
_policy1 IN TXT "v = spf1 a:axcom -all"
_policy2 IN TXT "v = spf1 include:_spf.google.com a:axcom -all"

_spf.google.comGmail SPFレコードを保持するレコードです。文書化されているかどうかはわかりません。理論的にはすべきですがinclude:gmail.com、それはリダイレクト_spf.google.comです。qmailに広く使用されているSPFパッチが少なくとも1つあり、それが適切に実行されませんでした(2008年8月に修正されましたが、まだ展開されている可能性があります)。エラーが発生しやすいコピー貼り付けの代わりにターゲットドメインのショートネームを変更するだけでよいので、さまざまなレベルの厳格さを持つ複数のものを用意することは、デバッグ時に非常に役立ちます。

  • 他のドメインのゾーンファイル:
@ IN TXT "v = spf1 redirect = _policy1.x.com"

または

@ IN TXT "v = spf1 redirect = _policy2.x.com"

etc. redirectではなくinclude、を使用して、SPFチェックで現在評価されているレコードをリダイレクト先のレコードに完全に置き換えます。includeそれを行わない-たとえば、-allの最後でinclude評価が停止することはありません(include大きな誤称です。)include別のドメインからのSPFレコードを「エイリアス化」する場合は、非常に脆弱であるため、使用を避けてください-誤って末尾を忘れた場合、そのドメインのSPF全体が無効になる可能性があります。

編集:ただし、Gmailのサーバーを送信者として許可する場合は注意が必要です。Gmailのチャプチャが解読されました。つまり、アカウントのサインアップを自動化することが可能です。つまり、Gmailを(間接的に)オープンリレーとして使用できます(会社のディスカッションフォーラムで、週に数十件のスパムボットのサインアップ要求があり、すべてを使用しています) gmail.comのメールアドレス-これらのアドレスは公開されており、確認のためにいくつかのアドレスを通過することを許可しています。)さらに、Gmailアカウントを持つユーザーは、ドメインのメールアドレスのuwsernameの部分に精通している場合、SPFチェックをバイパスできます。 。


ありがとう、これは役に立つ答えです。前回チェックしたとき、Gmailでは他のアドレスからメールを送信する前にメールの検証が必要です。そのアドレスの受信トレイが安全になると、問題はありませんか?ボルツマイヤーの回答のように「www」行があることはどのくらい重要ですか?
Peter Boughton、

1
確かに、しかし、財団に亀裂が現れたら、誰かが川の半分を圧搾する方法を見つけると確信しています:)あなたがそうすべきでないと言っているのではなく、私はあなたのつま先にいて、Gmailが定期的に確認されることをお勧めしますつまり、Gmailへの権限を無期限に放棄しないでください。オンラインエンティティを信頼するよりも、私はそれらを信頼していますが、それはほんの少しの信頼であり、まったく信頼ではありません。
MihaiLimbăşan2009年

なぜbortzmeyerがwwwエントリを含めたかはわかりません。@ www.x.comから実際にメールを送信しない限り、それらはまったく役に立たない(あまり使用されていないことを除けば)奇妙に見え、技術に精通していない人々に混乱を引き起こします。
MihaiLimbăşan2009年

2
さらに、SPFレコードタイプは使用しません。TXTを使用することをお勧めします。SPFレコードタイプはBIND 9.4以降でのみサポートされています。RFCに従って、TXTレコードのレプリカを維持する必要もあります。TXTは予見可能な将来の主要なSPF配信メカニズムになるので、利益はありません。quothopenspf.org。
MihaiLimbăşan2009年

1
@Mihai Limbasan:すばらしい回答です。共有していただきありがとうございます。回答を更新する必要があると思われる場合は、Google v=spf1 include:_spf.google.com ~allがの代わりに選択-allしているようです。google.com/support/a/bin/answer.py?answer=178723
Marco Demaio

4

はい。他のすべてのドメインのSPFレコードに、ドメインの1つからの構成を含めることができます。他のドメインのSPFレコードを次のように設定すると、うまくいくはずです。

v=spf1 include:x.com -all

これは「うまくいく」でしょうか、それとも_spfサブドメインなどが必要ですか?
Peter Boughton、

最初にx.comで直接定義されたSPFレコードを取得している場合、他のドメインのインクルードがx.comを直接指すこともできると確信しています。_spf.x.comルートでSPFレコードを定義する場合、そうです、そのFQDNを指すようにインクルードを変​​更する必要があります。
ウォンブル

2

http://www.openspf.org/のWebツールを使用してみましたか?これを扱うのが少し簡単になるかもしれません...

右上のボックスにドメインを入力して、移動ボタンをクリックするだけです。そこから、急いでセットアップできるはずです。


1
私はそのツールで何度か試しましたが、説明は十分に明確ではありません。
Peter Boughton、

2

標準のRFC 4408は、希望するものに非常に近いいくつかの例を提供します。以下は、x.comのゾーンファイルの抜粋です。

@ IN TXT "v = spf1 a:axcom -all"
      IN SPF "v = spf1 a:axcom -all"

www IN TXT "v = spf1 a:axcom -all"
      IN SPF "v = spf1 a:axcom -all"

ノート:

  • Gmailのメールサーバーは知らないので追加しませんでした。Gmailの人に聞いてください
  • 「a」は「アドレス」用です(これはDNS Aレコードではなく、IPv6が含まれます)
  • RFCに従ってSPFレコードを追加しましたが、ほとんどすべての実装でTXTレコードのみを使用しています

1

はい、特定のSPFレコードを各ドメインに個別に追加する必要があります。

この理由は、DNS内の唯一の(有用な)エイリアスタイプのレコードがレコードであるためCNAMEです。ただし、このCNAMEレコードにより、RRsetのすべてのRRtypeにエイリアシングが発生します。「CNAMESPFレコードではなく、MXレコードではない」と言う方法はありません


ドメインごとにSPFレコードを追加する必要があることは理解していますが、メインドメインへの単純なポインタを格納して、より複雑なコマンドをすべて格納できるようにしたいと考えていました。Wombleはこれにinclude:{domain}を使用できることを示唆していますが、これが単に他のドメインのSPFレコードをインクルード/ポイントするのか、それとも_spf.x.comサブドメインをホストする必要があるのか​​はまだわかりませんか?
Peter Boughton、

はい、wombleの答えを参照
オリオン座ゼータ星
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.