重要なお知らせ:GoogleとYahooは2024年4月よりDMARCを義務付けます。
PowerDMARC

SPFの構文。完全ガイド

SPF シンタックス完全ガイド

SPF シンタックス完全ガイド

読書時間 5

SPFの概念を学び、実践することは、技術主導型の企業にとって重要です。フィッシングやスパムの潜在的なリスクから保護することができます。 BEC攻撃などから保護することができます。SPF(センダー・ポリシー・フレームワーク)の仕組みは SPFレコードを使用します。

このブログでは、SPF構文表、SPFメカニズム、SPF修飾子、SPFモディファイアなど、技術プロトコルを使ったメール認証の概念をしっかり理解するために必要なことを幅広く解説しています。 

BenginnersのSPFシンタックス 

SPFレコードは、お客様の公式ドメイン名を使ってメールを送信することを許可されたすべてのIPアドレスのリストを含むDNSレコードです。リスト外のサーバーがそのドメインを使用してメールを送信すると、不正なものとして扱われます。そのため、受信者のメールボックスでその入力が拒否されます。これにより、ハッカーが仕掛ける悪質な行為に企業名が巻き込まれるのを防ぐことができます。 

企業はSPレコードを作成し、確認する必要があります。 SPFレコードの確認を作成し、独自ドメイン名によるフィッシング攻撃を未然に防いでください。過去 2億5500万件以上のフィッシング攻撃は、2022年の上半期だけで2億5,500万件以上記録されています。SPFを実装し、SPFの構文について学ぶことがいかに重要であるかを想像してみてください。

SPFレコードは、受信者のサーバーに、あなたのドメインから受信したメールをチェックし、認証するように指示するものです。また、認証に失敗したメールをどのように処理するかも記述されています。特定のコンポーネントが、すべての指示を表します。  

SPFレコードを例にして、各要素を分解してみましょう。.SPFの構文はこのようになっています。

v=spf1 ip4:123.1.5.0 ip4:100.5.2.1 include:exampledomain.com ~all

各要素の機能は以下のとおりです。

高度なSPF構文

SPF構文表は、単一の文字列を持つDNS TXTレコードを使用して定義されます。これは常に、使用するSPFバージョンを指定する「v=」要素で始まり、現在のところバージョンは1つだけです。

すべてのSPFレコードには、公式ドメインを使用してメッセージを共有することを許可するホストのルールとして動作する特定の用語が列挙されており、いくつかの追加情報を表示することもできます。 

SPFの高度な構文 を分解していきます。 SPFメカニズム、SPF修飾子、SPFモディファイアの3つの構成要素に分解します。

SPFの仕組み

  1. ALL:常にマッチし、SPFレコードの最後に追加されるメカニズムです。マッチしないIPに対しては、'-all'のようなデフォルトの結果を表示します。
  2. A:ドメイン名にAAAAまたは Aレコードを一致させると、送信者アドレスを選別するためです。このDNS SPFレコードの構文が未指定の場合、現在のドメインが使用されます。
  3. ip4:送信者がSPFレコードの指定されたipv4アドレス範囲に接続されている場合、正に一致します。範囲の長さを指定するプレフィックスを付けて追加します。 プレフィックスがない場合は/32を使用します。
  4. ip6:送信者が指定されたipv6アドレス範囲に所属している場合に正とします。ip4ディレクティブと範囲の長さを示すプレフィックスを付加します。プレフィックスがない場合は /128 を使用します。
  5. MX:指定されたMXレコードに含まれるIPアドレスと同じIPアドレスを持つ送信者を許可します。 MXレコードは、各サーバーがメッセージを受け入れるためのIPアドレスと優先度の値で構成されています。
  6. PTR:IPアドレスをサブドメインやドメインに解決するのに役立つ、認可されたドメインを指定します。正確に一致するすべてのドメインまたはサブドメインについて、IPアドレスを取得するために前方探索が行われます。

このメカニズムは、複数のルックアップを必要とするため、時間がかかり、信頼性が低いと考えられています。RFC7208のガイドラインでは推奨されていません。 RFC7208のガイドラインでは推奨されていません。.

  1. EXISTS:入力されたドメインのDNS Aレコード検索を行います。実際の検索結果に関係なく、有効なAレコードが見つかれば一致となります。
  2. インクルード:第三者のメール送信者のドメインを記載して認可するものです。送信者のIPアドレスが、記載されたドメインのSPFレコードに記載されたIPアドレスまたはドメインと一致する場合のみ、送信者は認可されます。

SPF修飾子

あるメカニズムが修飾子を持たず、かつ、マッチングが成功した場合、SPF認証は通過する。8つのメカニズムはそれぞれ、後述する4つの修飾子のうちの1つと組み合わされています。

予選 結果 受信サーバーの対応 
+ パス メールがSPF認証を正常に通過し、サーバーでメールのやり取りができるようになる。メールは本物としてマークされます。これは、Qualifierがない場合に適用されるデフォルトの動作です。
- 失敗 送信サーバーがリストに属していないため、メールの認証に失敗する。 受信者のメールボックスで拒否される可能性があります。
~ ソフトフェイル 受信者のメールボックスはメッセージを受け入れるが、不審なメッセージと判定され、スパムフォルダに振り分けられる。
? ニュートラル 電子メールメッセージは、認証に合格も不合格もしない。実行されるアクションは特定されず、電子メールは受信者によって受け入れられます。

SPF改質剤

SPD修飾子は、SPF構文の作業パラメータを決定する役割を担っている。これは、'='記号で区切られた名前と値のペアを含み、余分な詳細や規則に対する例外があればそれを共有します。

修飾子は一度だけ、SPFレコードの最後のセクションにのみ表示されます。正体不明の修飾子はすべて処理中に無視されます。redirect' 修飾子は、他のSPFレコードに認証を指示するために使用します。複数のドメインに同じSPFレコードの内容を持たせたい場合に使用します。

include」メカニズムは、お客様の代わりに、またはお客様のビジネス名を使用してメールを送信することを許可されたサードパーティドメインに使用されます。exp' 修飾子は、メカニズムが一致したときに受信サーバーが Fail SPF Qualifier を返した理由を指定します。

SPFレコードのガイドライン

SPF構文表を使ってSPFレコードを作成する際には、以下の点に注意してください。

モバイル版を終了する