SPFソフトフェイルとSPFハードフェイル:その違いとは

SPFソフトフェイルとSPFハードフェイル:その違いとは

2024年7月24日
著者: Yunes Tarada
翻訳: 岩瀨 彩江

この記事はPowerDMARCのブログ記事 SPF Softfail Vs SPF Hardfail: What’s the Difference? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


SPF(送信者ポリシーフレームワーク)では、認証に失敗した場合のシステムの応答方法をハードフェイルまたはソフトフェイルの2つの方法のいずれかで設定する柔軟性があります。
このブログでは、SPFハードフェイルとソフトフェイルの違い、それぞれの設定構文、そして使用例について説明します。 それでは、さっそく始めましょう!

重要なポイント

  1. SPFハードフェイルは、メール送信者が認可されていないことを示し、多くの場合、そのメールが拒否される結果となります。
  2. SPFソフトフェイルは、そのメールが依然として認可されていない送信者から送信された可能性を示しますが、完全には拒否せず、さらなる確認を可能にします。
  3. 不正なメールなりすましを防ぎ、ブランドの信頼を守るためには、厳格なSPFポリシーの実装が不可欠です。
  4. SPFをDMARCと組み合わせることで、メール認証の失敗をより適切に処理できる、重要なセキュリティ層を追加できます。
  5. SPF認証結果を定期的に監視することで、最適なメールセキュリティ体制を維持し、潜在的な脆弱性を防ぐことができます。

SPFソフトフェイルとハードフェイルの違い

以下の表は、SPFハードフェイルとソフトフェイルの基本的な違いを説明しています。

SPF構文失敗の種類ステータス受信者側で実行される対応
spf1 include:domain1.com -all
ハードフェイル送信者が認可されていないメールが拒否される可能性があります。
v=spf1 include:domain1.com ~all
ソフトフェイル送信者が認可されていない可能性があるメールは配信されますが、疑わしいまたは不正の可能性があるものとしてマークされます。

SPFハードフェイルとソフトフェイル:RFCでの定義

RFC 7208によると、

SPFのFail結果は、メールの送信者が送信ドメインによって認可されていないことを直接的に示します。
Failはハードフェイル(-all)の結果と同義であり、これは明確に認可されていないドメイン使用を示しています。
一方、より緩やかな方法としてSPFソフトフェイルを設定することができ、これは「おそらく」認可されていないドメイン使用の兆候を示します。

ハードフェイルとソフトフェイルにおける受信者側のエラー処理

RFCのセクション8.4では、SPFハードフェイルとソフトフェイルの結果に対する処理シナリオが次のように定義されています。

SPFハードフェイル/Fail
Failまたはハードフェイルの結果の場合、受信側のサーバは認可されていないメールを拒否することを選択できます。
SMTPトランザクションであれば、適切なエラー説明とともに 550 5.7.1 エラーコードを返す必要があります。
受信サーバがSMTPトランザクション中にメールを拒否しない場合、RFCでは受信側に対し、Received-SPF または Authentication-Results ヘッダーにSPF結果を記録することを推奨しています。
SPFソフトフェイル
より柔軟なポリシーとして、ソフトフェイルは管理ドメインがそのメールを認可されていないと疑っていることを示しますが、完全に拒否する意図はありません。
この場合、メッセージは配信されますが、後の確認のために警告付きで処理されます。

SPFソフトフェイルとハードフェイル:どちらを推奨するか?

SMTPメールリレーの場合、ハードフェイルよりもSPFソフトフェイルを採用する方が安全な選択肢となる場合があります。
その理由を見ていきましょう。

SMTPメールリレーとは、あるサーバから別のサーバへ自動的にメッセージを転送する仕組みです。
これは、メールがあなたのドメインのSPFレコードに登録されていないIPアドレスを持つサーバに引き渡されることを意味します。
そのため、形式上はあなたのメールにとって「認可されていない送信者」と見なされますが、実際には正当なメールです。

この動作を制御できるかというと、答えは「いいえ」です。
メールは受信側で自動的にリレーされるため、あなた側では制御できません。
このような状況下では、リレーされたメールに対してSPF認証が失敗する可能性があります。

ここでSPFハードフェイルポリシーを設定していると問題が発生することがあります。
すでに説明した通り、ハードフェイルの仕組みでは、SPF認証に失敗したメールが拒否される可能性があります。
そのため、あなたのドメインがハードフェイルポリシーで構成されている場合、リレーされたメールが配信されないことがあるのです。

さらに悪いことに、SPFの失敗処理ポリシーによるアクションは、DMARCやDKIMの認証結果よりも優先されてしまいます。
つまり、たとえDKIM認証やDMARC認証に合格していても、そのメールが配信されない可能性があるのです。

RFC 7489のセクション10.1では、SPFチェックがDMARC処理の前に実行される場合、
送信者のSPFメカニズムに-プレフィックス(例:-all)が含まれていると、メールが即座に拒否される可能性があると記載されています。
この拒否はメール処理の初期段階、つまりDMARCの処理が行われる前に発生します。

したがって、送信者のSPFポリシーに-allメカニズムが含まれている場合、SPFチェックに失敗したメールを拒否する厳格なポリシーを示しているため、
DMARCポリシーや処理が行われる前にメッセージが拒否される可能性があります。
この早期拒否は、最終的にDMARC認証に合格する可能性のあるメールであっても発生し得ます。

このような状況下では、SPFソフトフェイルがハードフェイルの仕組みに勝るといえます。
SPFソフトフェイルは、メールを拒否せずに「要確認」としてフラグを付けることで再確認の余地を残す、リスクの低いアプローチとなります。

SPFレコードの仕組み

メールにSPFを実装するには、ドメインのDNS上にSPFレコードを作成して公開する必要があります。
一般的なSPFレコードの例は次のとおりです。


v=spf1 include:_spf.google.com ~all

このSPFレコードでは、GoogleのSPFレコードに記載されているIPアドレスから送信されるすべてのメールを認可しています。
失敗メカニズムはレコードの最後(~all)で定義されており、これはソフトフェイルを意味します。

したがって、SPFレコードは使用されるプロトコルのバージョン、認可された送信元、そして失敗メカニズムを定義します。
このレコードをDNS上に公開することで、あなたのドメインから送信する権限を持つ送信者のみがメールを送信できるようになります。
もし認可されていない送信元があなたを装ってメールを送信しようとした場合、SPFはレコードで定義された失敗メカニズムに従って認証失敗を返します。

安全なSPF実装戦略

不正ななりすましやフィッシング攻撃からメール通信を保護するためには、最適なSPF実装が不可欠です。
ベストプラクティスに従うことで、組織はメールセキュリティ体制を強化し、ブランドの信頼を守ることができます。
以下に、安全にSPFを実装するための戦略とガイドラインを示します。

1.SPFレコード生成ツールを使用する
SPFの実装プロセスは、レコードの生成から始まります。
SPFタグを正しく理解していれば、手動でレコードを作成することも可能です。

しかし、この方法は人的ミスが発生しやすいという欠点があります。
理想的には、自動化されたSPFジェネレーター・ツールを使用することをお勧めします。
これにより、組織のニーズに合わせた、エラーのない正確なSPFレコードを作成することができます。
2.適切なSPFメカニズムを使用する
includeaIP4などのSPFメカニズムを使用して、許可された送信元を指定します。
メールインフラに基づいて慎重にメカニズムを選定し、実際のメール送信運用を正確に反映させるようにしてください。
3.SPFレコードの維持と最適化を行う
送信者ポリシーフレームワーク(SPF)レコードは、正常に機能させるために継続的なメンテナンスと最適化が必要です。
受信側で許可された送信元が10回のDNSルックアップ制限を超えると、SPFは機能しなくなる傾向があります。

最適なルックアップ制限を維持するためには、当社のホスト型SPFソリューションが最適です。
ドメイン所有者がワンクリックでSPFを最適化し、ルックアップ制限および無効制限を回避して、エラーのないSPFを維持できるよう支援します。
4.SPFとDMARCを組み合わせる
SPFと併せて、DMARC(Domain-based Message Authentication, Reporting, and Conformance)を導入することで、さらに重要かつ強力なセキュリティ層を追加できます。
DMARCを使用すると、ドメイン所有者はメール処理ポリシーを指定でき、SPFに失敗したメールに対してどのような対応を取るかを定義できます。
DMARCは、メール詐欺やアカウント侵害、なりすまし攻撃を最小限に抑えるうえで確かな効果を示しています。
5.厳格なSPF失敗処理ポリシーを実装する
SPF認証に失敗したメールを拒否またはマークするなど、厳格なポリシーで処理するようにレコードを設定します。
そのためには、中立(neutral)ポリシーではなく、SPFハードフェイルまたはSPFソフトフェイルのいずれかを実装することができます。
6.SPF認証結果を監視する
DMARCレポートを活用して、SPF認証結果(SPFの合格・失敗・整合性エラーなど)を監視します。
DMARCアナライザーツールを使用することで、SPF認証データを体系的で読みやすい形式に解析・分析することができます。

まとめ

「SPFハードフェイルとソフトフェイルのどちらが良いか?」という質問に対する明確な答えはありません。
ハードフェイルタグはより高いセキュリティを提供しますが、送信元の監視に最適な方法を選択することが重要です。

PowerDMARCの高度なドメイン認証およびレポートプラットフォームは、あらゆる規模の企業に包括的なSPFおよびDMARCソリューションを提供します。
今すぐ無料トライアルに登録してみましょう!