~all で終わるSPFレコードはソフトフェイルです。未掲載サーバーからのメールも配信されますが、疑わしいものとして印が付きます。レコードを構築中の安全な既定値ですが、より強い最終状態は -all(ハードフェイル)で、未承認の送信者を直接拒否するよう受信側に指示します。
SPFレコードの最後のメカニズムが、未掲載送信者の扱いを決めます。~all(ソフトフェイル)=受け入れるが印を付ける。-all(ハードフェイル)=拒否。?all(中立)と +all(すべて許可)は実質的に保護がなく、本番では決して使わないでください。
正規送信者をすべて掲載する前に -all へ移すと、本物のメールがバウンスします。~all なら動作するレコードを公開し、DMARC集計レポートを見て正規のものが失敗していないか確認してから強化できます。
SPFと並行してDMARCを適用します。p=reject のDMARCこそがなりすましを実際にブロックし、~all のままでも機能します。レポートですべての正規送信者がSPFに合格し整合していることを確認したら、~all を -all に変えて多層防御にします。
記録の最後のメカニズムを見てください。
$ dig TXT yourdomain.com +short今すぐSPFレコードを確認
無料のSPFチェッカーを開く →いいえ、妥当で一般的な設定です。ただ最強ではありません。DMARCが p=reject なら ~all でも十分保護され、-all は第2の層を加えます。
完全には止められません。SPFは転送で壊れ、エンベロープ送信者のみを確認します。DMARCは認証を可視的なFrom:アドレスに結び付け、ポリシーを適用します。