SPF(Sender Policy Framework)は、スパマー/スプーフィングと戦うための良い方法のようです。
ただし、説明を何度か読んでも、正しく構成する方法がよくわかりません。
_a.x.com
とwww.x.com
とb.x.com
などをホストするサーバーがc.x.com
にあるとします。
また、a.co.uk
b.net
c.info
などもあり、それぞれにサブドメインの組み合わせがあり、すべてx.com
でホストされています
これらすべてのドメインとサブドメインについて、a.x.com
からのメール送信を許可したい
また、Gmailからこれらのすべてのドメインに送信されるメールを許可するようにしてください。
SPFでこれを設定するにはどうすればよいですか?
1つのSPFレコードをx.com
(またはa.x.com
)に設定してから、他のすべてに対してx.com
のレコードへの単純なインクルード/ポインターを設定できますか、それとも別の方法で行う必要がありますか?
誰もが上記の例のいくつかのSPFレコードを提供できますか?
注意: 私の質問の2番目の部分は回答済みです(「v=spf1 include:x.com -all
」を使用してx.com
のレコードを含める/ポイントします)が、[x.com
]に設定する重要な部分は未回答のままです...
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.com
は、Gmail SPFレコードを保持するレコードです。文書化されているかどうかはわかりません。理論的にはinclude:gmail.com
にする必要がありますが、これは_spf.google.com
へのリダイレクトであり、qmailに広く使用されているSPFパッチが少なくとも1つありました。 )もちろん2つのポリシーは例です。エラーが発生しやすいコピー貼り付けの代わりにターゲットドメインのショートネームを変更するだけでよいので、さまざまなレベルの厳格度を持つ複数のポリシーがあるとデバッグ時に非常に役立ちます。
@ IN TXT "v = spf1 redirect = _policy1.x.com"
または
@ IN TXT "v = spf1 redirect = _policy2.x.com"
などredirect
ではなくinclude
を使用して、SPFチェックで現在評価されているレコードをリダイレクト先のレコードに完全に置き換えます。 include
はそれを行いません-たとえば、include
の最後の-all
は評価を停止させません(include
は大きな誤称です)。別のドメインのSPFレコードを「エイリアス化」する場合は、include
を使用しないでください。これは、非常に壊れやすいためです。誤って末尾を忘れると、そのドメインのSPF全体が無効になる可能性があります。
編集:ただし、Gmailのサーバーを送信者として許可する場合は注意が必要です。 Gmailのチャプチャが解読されました。つまり、アカウントのサインアップを自動化することが可能です。つまり、Gmailを(間接的に)オープンリレーとして使用できます(会社のディスカッションフォーラムで、毎週何十ものスパムボットのサインアップリクエストを受け取っています。 gmail.comのメールアドレス-これらのアドレスは公開されており、確認のためにいくつかのアドレスを通過することを許可しています。)さらに、Gmailアカウントを持つユーザーは、ドメインのメールアドレスのuwsernameの部分に精通している場合、SPFチェックをバイパスできます。 。
はい。他のすべてのドメインのSPFレコードに、ドメインの1つからの構成を含めることができます。他のドメインのSPFレコードを次のように設定すると、うまくいくはずです。
v=spf1 include:x.com -all
http://www.openspf.org/ でWebツールを使用してみましたか?これを扱うのが少し簡単になるかもしれません...
右上のボックスにドメインを入力して、移動ボタンをクリックするだけです。そこから、あなたは物事を急いでセットアップすることができるはずです。
標準 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"
ノート:
はい、特定のSPFレコードを各ドメインに個別に追加する必要があります。
この理由は、DNSの唯一の(有用な)エイリアスタイプのレコードがCNAME
レコードであるためです。ただし、CNAME
レコードにより、RRset内のRRtypeの[〜#〜] all [〜#〜]に対してエイリアシングが発生します-「CNAME
SPFレコードですが、MX
レコードではありません "