[ SPF ]

dig、nslookup、受信メッセージを使用してSPFをテストする

DNSクエリを使用してパブリケーションを検査し、実際に受信したメッセージを使用して評価を検査します。どちらの観察だけでは、すべての送信ルートが正しく認証されていることを証明することはできません。

EmailAuth研究チームによる · 5 分で読めます

【ポイント】

  • DNSルックアップとSPF評価は異なる観察です。
  • TXTレコードの境界と実際のSMTP入力をそのまま維持します。
  • 関連する受信機の結果のみを信頼し、合成器具にラベルを付けます。
このページでは

テスト SPF DNSが公開するものと、特定のメッセージに対して受信者が評価したものという 2 種類の証拠が必要です。 Dig と nslookup は最初の検査に役立ちます。信頼できる Authentication-Results フィールドまたは受信側のトレースは、2 番目の検査に役立ちます。これらの観測は、同じエンベロープ ドメイン、送信ルート、および時間枠によって接続されたままにします。

適切なドメインから始める

調査しているアプリケーションを通じて代表的なメッセージを送信し、元のヘッダーを保存します。次を使用して、信頼できる受信者の証拠からエンベロープ ID を特定します。 Return-Path 表示されている From アドレスと混同するのではなく、手がかりとして使用できます。空のリバース パスの場合、 SPFの ID 処理には次のことが含まれます。 HELO;通常のメッセージ入力がそのケースをカバーするとは想定しないでください。 RFC 7208 §2.3 そして RFC 7208 §2.4 アイデンティティを説明します。

受信者が観測した送信 IP、エンベロープ ID、受信者システム、メッセージ時刻を書き留めます。色付きの結果を取得するためだけに、完全なプライベート ヘッダーを馴染みのないパブリック チェッカーにアップロードしないでください。最小限の制御されたフィクスチャは、多くの場合、無関係なメッセージ データを開示することなく、技術的な質問に答えることができます。

公開されたTXT応答を検査する

これらは読み取り専用コマンドの例です。例の名前を評価対象のドメインに置き換えます。それらは、すでに実行されたテストの証拠ではありません。

TXT bounce.example.comを掘ります。 nslookup - type=TXT bounce.example.com 。

の BINDディグマニュアル クエリユーティリティの文書化、および Microsoft の nslookup リファレンス クエリ オプションについて説明します。絶対クエリ名の末尾のドットを使用して、意図しない検索サフィックスの拡張を回避します。トラブルシューティングの際は、リゾルバー、ステータス、回答、TTL が表示されている場合は、完全な応答を保存してください。短縮された回答は読みやすいですが、診断のコンテキストが省略されます。

実際の所有者名を調べ、無関係な名前からSPF値を選択します。 TXTレコード。引用符で囲まれた複数の文字列が 1 つのTXTレコードに属することができます。 SPF 、これらの文字列をスペースを挿入せずに連結したものとして扱います。 2 つの個別に適用可能 SPFレコード は別の問題です。 RFC 7208 §3.2 そして RFC 7208 §3.3 その区別を定義します。

ペアになった合成結果を読み取る

以下は完全に合成された備品であり、観察されたメールや制作記録ではありません。受信者がドキュメント アドレス192.0.2.10からの直接接続を認識したと仮定します。 メール送信元 invoices@bounce.example.comおよび From invoices@example.comから表示されます。そのDNS応答には、1 つのTXTリソース レコードが含まれています。

bounce.example.com 。 300 IN TXT " v=spf1 ip4:192.0.2.10 " " -all "

1 つのレコード内の 2 つの文字列が結合されます。 v=spf1 ip4:192.0.2.10 -all。最初の文字列の末尾のスペースはメカニズムを区切ります。指定された接続では、アドレス メカニズムが一致し、予想されるSPF結果が合格です。対応する受信機の結果例は次のとおりです。

Authentication-Results : mx.receiver.example ; spf=pass smtp.mailfrom= bounce.example.com

mx.receiver.exampleが宛先の信頼できる認証サービスであるという明示的なフィクスチャの仮定の下でのみ、これを信頼できるものとして扱います。そうしないと、送信者が同様のテキストを挿入する可能性があります。この例では、 SPF証拠のみを示します。それは主張しません DKIM, DMARC または納品結果。

これを、同じ名前で 2 つの個別の該当するレコードが含まれている、次の別の合成DNS回答と比較してください。

bounce.example.com 。 300 IN TXT " v=spf1 ip4:192.0.2.10 -all " bounce.example.com 。 300 IN TXT " v=spf1 ip4:192.0.2.20 -all "

レコードの選択が戻るようになりました permerror 権限を組み合わせるのではなく。引用符だけを数えて状況を診断しないでください。 DNSリソースとレコードの境界を保持します。

パブリケーションに異議がある場合のリゾルバーの比較

DNSエディターと再帰的クエリーが一致しない場合は、権限のあるクエリーを特定します。 ネームサーバー 検証された権限のあるサーバーに直接クエリを実行します。 Dig はフォームをサポートします dig@サーバー名TXT;実際に検証されたサーバー名とターゲット名を置き換えます。答えとタイムスタンプを再帰的な結果と比較します。編集中のDNSアカウントが委任ゾーンをホストしていると想定しないでください。

現在の信頼できる回答と古い再帰的回答は、キャッシュを示している可能性があります。タイムアウト、 SERVFAIL 、および該当するレコードがない正常な応答は、別の観察です。原因を特定する前に、正確な応答を保存してください。 1 つの観測が古いという理由だけで、正しいレコードを繰り返し編集することは避けてください。

構文だけでなくメッセージを評価する

TXTルックアップではSPFは実行されません。標準対応の評価者には、接続 IP と関連するSMTP ID に加えて、解決されるDNS状態が必要です。トレースを調べて、一致するメカニズム、依存関係、エラーを調べます。静的レコード検証ツールは、実際の送信者が合格したかどうかには答えずに、構造的に許容可能なポリシーを報告する場合があります。

宛先では、以前の任意のコピーではなく、信頼できる受信者によって挿入されたAuthentication-Resultsを読み取ります。 RFC 8601 信頼境界が重要になります。 SPF結果と ID を、互換性のあるものとして扱うことなく、 DKIMおよびDMARC結果と一緒に記録します。

再現可能なテスト記録を保管する

コマンド、クエリ時間、 DNS応答、評価者の入力、編集された受信メッセージの証拠を保存します。使用されている実質的に異なるアプリケーション ルートとアドレス ファミリをそれぞれテストします。合成器具には観察結果とは別にラベルを付けます。 DNSビューが正しいように見えても受信者が同意しない場合は、次の手順に進みます。 ツールのパスと受信者の失敗 受信者が間違っているに違いないと宣言するのではなく。

DNS背景: RFC 1035セクション 3.2.1 リソース レコード TTL を定義します。 RFC 2308 §5 ネガティブ キャッシュについて説明します。 RFC 8767 §4 TTL セマンティクスを更新し、権限のあるリフレッシュが失敗した場合に古い使用を許可します。これらはDNS動作を説明するものであり、変更の普遍的な完了時間を示すものではありません。

次の決定を記録する

単一レコードのフィクスチャの場合は、1 つのレコード内の 2 つの文字列と結合スペースを示す境界を維持します。期待されるSPFは192.0.2.10に合格します。 2 レコードのフィクスチャの場合、メカニズムが評価される前に選択がpermerrorで失敗します。信頼できる結果の仮定を個別に保存します。印刷されたAuthentication-Resultsテキストは、単独では信頼できません。ここではコマンドやメール検証は実行されませんでした。

[ 取り除く ]

DNSルックアップとSPF評価は異なる観察です。 TXTレコードの境界と実際のSMTP入力をそのまま維持します。関連する受信機の結果のみを信頼し、合成器具にラベルを付けます。

【役割別】

これがあなたにとって何を意味するか

実際の次のステップに向けて、自分の役割を選択してください。

IT / メール管理者

DNSとメッセージ証拠をペアにしておきます。

ID、送信 IP、および時刻は、診断している質問と一致する必要があります。

次のステップ

  1. 完全なクエリ出力を保持します。
  2. 答えが異なる場合は、権威ホスティングを確認してください。
  3. 信頼できる受信者の評価された ID を記録します。

CISO / SecOps

証拠の取り扱いを管理します。

認証ヘッダーには、機密の操作詳細や信頼できないアサーションが含まれる場合があります。

次のステップ

  1. 承認された診断ツールを使用してください。
  2. 共有ヘッダー データを最小限に抑えます。
  3. 受信者の信頼境界を文書化します。

創業者 / 非技術系

テストで何が証明されたのか尋ねてください。

検索が成功しても、ビジネス送信ルートが検証されていることは証明されません。

次のステップ

  1. テスト対象のアプリケーションを特定します。
  2. 受信メッセージの監視が必要です。
  3. 機密メッセージ データが不必要にアップロードされないようにします。

[ よくある質問 ]

よくある質問

dig はSPF評価を実行しますか?

いいえ、 DNSに問い合わせます。取得したポリシーを、標準対応のエバリュエーターで実際のメッセージ入力とともに使用します。

BINDディグマニュアル

どのドメインをクエリすればよいでしょうか?

SPFによる空のリバース パスの処理を考慮して、調査中のメッセージに対して評価されたエンベロープ ドメインを使用します。

RFC 7208 §2.3 RFC 7208 §2.4

引用符で囲まれた文字列が複数表示されるのはなぜですか?

1 つのTXTレコードに複数の文字列を含めることができます。重複したSPFレコードを診断する前に、レコードの境界を決定します。

RFC 7208 §3.2 RFC 7208 §3.3

dig +short のみを使用する必要がありますか?

これは簡潔な検査に役立ちますが、ステータス、リゾルバ、TTL の違いを調査する場合は完全な応答を維持します。

BINDディグマニュアル

nslookup は受信メッセージ テストの代わりに使用できますか?

いいえ。これはDNS観察を示しており、特定の受信者がSMTP中に評価したものではありません。

Microsoft nslookup

どのAuthentication-Resultsフィールドを信頼すればよいですか?

受信側システムの信頼された認証境界からの結果を使用します。任意のアップストリーム コピーは偽造されるか、無関係である可能性があります。

RFC 8601 §1.2 RFC 8601 §7.1

完全なヘッダーをパブリック チェッカーに貼り付ける必要がありますか?

不必要な開示は避けてください。信頼できる内部ツール、または関連する入力を保存する最小限の編集されたフィクスチャを使用します。

別の管理者のために何を保存すればよいですか?

正確なコマンド、名前、リゾルバーの詳細、時間、​​生のDNS応答、評価者の入力、および信頼できる受信者の結果を保持します。

[ 情報源 ]

情報源

  1. RFC 7208

    セクション §2.3 · §2.4 · §3.2 · §3.3 · §4.1 · §4.5 · §5.6

  2. RFC 8601

    セクション §1.2 · §7.1

  3. RFC 1035

    セクション §3.2.1

  4. RFC 2308

    セクション §5

  5. RFC 8767

    セクション §4

  6. BINDディグマニュアル

    セクション dig の概要、簡単な使用法、クエリ オプション

  7. Microsoft nslookup

    セクション 構文と備考

  8. Microsoft nslookup セット タイプ

    セクション 構文とTXTクエリの種類

[ 用語集 ]

用語集

SPF
接続 IP および関連するSMTP ID の認可評価。

RFC 7208 §2.4

DNS TTL
キャッシュされたレコードのソースの前の間隔を再度参照する必要があります。権限のあるリフレッシュが失敗した場合、古い使用が許可されることがあります。

RFC 8767 §4

TXTレコード
1 つのDNSリソース レコードには複数の文字列が含まれる場合があります。 SPFスペースを追加せずに文字列を結合します。

RFC 7208 §3.3

企業の来歴

一流の金融機関と政府が選ばれる理由 電子メール セキュリティ ダッシュボードを廃止しました。

従来の電子メール認証プラットフォームはダッシュボードを販売し、エンジニアに作業を依頼します。一か八かの環境では、手動による監視は適用の遅れ、構成のドリフト、および監視されていないシャドウ ドメインを意味します。

EmailAuthは、エージェントの電子メール来歴プラットフォームです。 当社のエージェントが執行します p=reject、サードパーティの送信者を調整し、ドメインを完全に移動します。 RFC 9989 新しいDMARC標準に準拠し、人間による監査機能を備えています。

政府 大企業 ティア1金融機関

SaaS · 専用テナント · エアギャップオンプレミス · BYOK 暗号化

ナレッジベース