SPF認証が必要な理由と設定方法

2023年4月7日

「SPFレコードの設定をしてください。」といきなり言われても困る・・・

メール配信の世界では一般常識となっているSPFではありますが、そもそもメールの配信の世界に住んでいる人なんてほとんどいないので、多くの人がSPFと言われると困惑してしまいます。

ここだけの話筆者自身も理屈はよくわからないがそういう固有名詞なんだと自分に言い聞かせて扱っていた時期がありました。

しかし、DNSサーバーに変更を加えるというリスクの大きい作業のわりに何をやっているのかよくわからない。なんでやらないといけないのかいまいちピンとこないみたいな状況は健全とは言えません。

そこで、今回はSPFについて、『どういう理屈で認証されているのか』『なぜ必要なのか』そして『どうしたらスムーズに設定できるか』ということについて解説いきたいと思います。

1.SPF認証とは?

1-1. SPF認証の概要

SPF(Sender Policy Framework)は、DNS(Domain Name System)に登録されたレコードを利用してメール送信サーバーを認証する仕組みです。送信元ドメインと送信元IPアドレスが一致しているかどうかを確認し、一致していれば正当なメールとして受信サーバーに配信されます。

仕組み

具体的な認証の流れとしてはを以下で説明します。

まずメール送信元のDNSサーバーに特定のSPFレコードを入れることで、送信元のメールアドレスのドメインからのメール送信を許可するIPを制限します。(SPFレコードの概要は後述します。)

そして、メール受信サーバーはメール受信を受信する際に、送信元のIPが、送信元メールアドレスのドメインのDNSサーバーに記載されている送信許可IPに含まれるかどうかを確かめます。これによって、許可されていないIPアドレスの場合は受信サーバー側に受信させないなど、不正なメールに対して送信元が制限を加えることができるようになります。

次の画像はわかりやすくするためにすごく簡略化した説明です。

SPF簡略図

SPFの歴史

SPFは2003年にMeng Weng Wongによって開発されました。メールの送信元ドメインが正当なものかどうかを確認するための認証システムを構築することで、メールの迷惑メール対策やフィッシング詐欺の防止に役立てることができます。

1-2. SPFレコード

構造

SPFレコードは、TXT形式のDNSレコードに設定され、以下の要素で構成されます。

  • バージョン情報(例: “v=spf1″)
  • メカニズム(例: “a”, “mx”, “ip4”, “ip6”, “include”, “all”)
  • 修飾子(例: “+”, “-“, “~”, “?”)

メカニズムと修飾子

メカニズムは、送信元IPアドレスとドメインの関係を定義します。修飾子は、メカニズムに対する結果を指定します。例えば、”v=spf1 a mx -all”は、”a”レコードと”mx”レコードに一致するIPアドレスからのメールを許可し、それ以外のIPアドレスからのメールを拒否することを意味します。

2.SPFの必要性とメリット

2-1. メール送信者の認証と迷惑メール対策

メール送信者の正当性確認

SPFを使用することで、送信元ドメインと送信元IPアドレスが一致しているかどうかを確認し、正当なメールかどうかを判断することができます。これにより、正当でないメールを迷惑メールフォルダに振り分けることができます。

フィッシング詐欺防止

SPF認証が有効なメールは、送信元ドメインが正当であることが保証されます。これにより、フィッシング詐欺を防止することができます。フィッシング詐欺は、特定のブランドなどになりすました、偽のメールを送信し、受信者から機密情報を盗むことを目的としていますが、SPF認証によって偽のメールを見破ることが容易になります。

2-2. メール配信信頼性の向上

配信率の向上

SPF認証が有効なメールは、送信元ドメインが正当であることが保証されるため、受信サーバーはメールを迷惑メールとして誤ってフィルタリングするリスクが低くなります。これにより、配信率が向上し、宛先にメールが届く確率が高まります。

配信エラーの原因分析

SPF認証に失敗した場合、その原因がSPFレコードの不備や送信元IPアドレスの問題であることが判断できます。これにより、配信エラーの原因を特定しやすくなり、問題の解決が迅速に進められます。

2-3. メールの送信元ドメイン保護

ブランド保護

SPF認証を使用することで、他者によるドメインの悪用やなりすましメールの送信を防ぐことができます。これにより、企業や組織のブランドイメージが保護され、信頼性が向上します。

信頼性の向上

SPF認証が有効なメールは、受信者にとって信頼性が高いと認識されます。これにより、メールの開封率やクリック率が向上し、メールマーケティングなどの効果も高まります。

3.SPFレコードの設定方法

3-1. DNSレコードの編集方法

今回はDNSプロバイダーと契約しているケースを想定して、編集方法について簡単に解説させてもらいます。

DNSプロバイダーへのアクセス

SPFレコードを設定するには、まずDNSプロバイダーの管理画面などにログインして、ドメインのDNS設定にアクセスします。DNSプロバイダーは、ドメインを購入した会社(例: GoDaddy、Google Domainsなど)であることが一般的です。

TXTレコードの追加

DNS設定でTXTレコードを追加し、SPFレコードを設定します。TXTレコードの値には、”v=spf1″から始まるSPFレコードを入力します。

3-2. SPFレコードの作成と設定例

SPFレコード生成ツール

SPFレコードを生成するには、専用のオンラインツールを利用することができます。例えば、「SPF Wizard」や「MXToolbox SPF Record Generator」などのツールが利用可能です。これらのツールは、必要な情報を入力するだけで、適切なSPFレコードを生成してくれます。

設定例と説明

以下は、SPFレコードの設定例です。

"v=spf1 a mx ip4:192.0.2.0/24 include:_spf.example.com -all"

この設定では、以下の条件が指定されています。

  • “a”:ドメインのAレコードに一致するIPアドレスからのメールを許可
  • “mx”:ドメインのMXレコードに一致するIPアドレスからのメールを許可
  • “ip4″:192.0.2.0/24の範囲内のIPアドレスからのメールを許可
  • “include”:_spf.example.comのSPFレコードに記載された条件を適用
  • “-all”:上記の条件に一致しないメールをすべて拒否

3-3. SPFレコードの検証ツール

検証ツールの紹介

SPFレコードの設定が正しいかどうかを確認するために、検証ツールを利用することができます。例えば、「MXToolbox SPF Record Lookup」(https://mxtoolbox.com/spf.aspx)や「dmarcian SPF Surveyor」(https://dmarcian.com/spf-survey/)などのツールが利用可能です。これらのツールは、ドメイン名を入力するだけで、SPFレコードの設定をチェックし、問題があれば指摘してくれます。

手順

検証ツールを使用する手順は以下の通りです。

  1. ツールのウェブサイトにアクセスします。
  2. ドメイン名を入力し、検索を実行します。
  3. 結果が表示されるので、エラーや警告がないか確認します。

検証結果でエラーや警告が表示された場合、それに従ってSPFレコードの設定を修正し、再度検証を行ってください。

ただし、検証ツールは100%を保証するものではありません。実際に送ってみて確認しましょう。

また、よくある記載まちがいについて、一般財団法人インターネット協会のサイトで詳しく解説しているものがあるので、こちらを参照して下さい。

4.SPFを設定する上でのポイント

SPFの設定方法には会社ごとにいろいろなバリエーションが想定されます。詳しく知りたい方は専門的なドキュメントをみていただくか弊社を始め、専門的な会社に聞いていただくことを推奨しますが、ここでもいくつかご説明させていただきます。

4-1. ソフト・ハードフェイルについて

両者の違い

ソフトフェイル(SoftFail)とハードフェイル(HardFail)は、SPF認証の結果を示す修飾子です。ソフトフェイルは、「~」記号で表され、認証に失敗したメールを疑わしいものとして扱いますが、受信サーバーに届けられることがあります。一方、ハードフェイルは、「-」記号で表され、認証に失敗したメールを完全に拒否します。

適切なフェイル選択のポイント

適切なフェイルを選択する際には、以下のポイントを考慮してください。

  • ソフトフェイル:SPFレコードの設定が不完全である場合や、誤った設定によって正当なメールが認証に失敗するリスクを最小限に抑えたい場合に選択します。これにより、認証失敗メールも受信者に届く可能性がありますが、迷惑メールとしてマークされるリスクが高まります。
  • ハードフェイル:SPFレコードの設定が完全であり、正当なメールが認証に失敗するリスクが低い場合に選択します。これにより、不正なメールの配信を厳密に制御できますが、誤って正当なメールが拒否されるリスクがあります。

設定例

ソフトフェイルの場合

"v=spf1 a mx ip4:192.0.2.0/24 include:_spf.example.com ~all"

ハードフェイルの場合

"v=spf1 a mx ip4:192.0.2.0/24 include:_spf.example.com -all"

4-2. SPFレコードの最適化方法

不要な項目の削除

SPFレコードの最適化には、不要な項目を削除することが重要です。使用していないメール送信サーバーやサービスの情報を含めないようにし、レコードの長さを短くすることで、読み込み速度を向上させることができます。

IPアドレスの範囲の絞り込み

IPアドレスの範囲を適切に絞り込むことで、SPFレコードを最適化できます。具体的には、必要最小限のIPアドレス範囲を指定し、誤って他のIPアドレスからのメール送信を許可しないようにします。これにより、不正なメール送信のリスクを低減できます。

また、複数の事業を運営する企業の場合などはほかの事業でも同じドメインを使っている場合、そこで利用されているメール配信ツールのIPも含めて網羅する必要があります。

まとめ

SPFメールは、送信者の認証と迷惑メール対策に役立ち、メールの信頼性を向上させる重要な仕組みです。SPFレコードの設定と検証は、専用のツールを利用することで簡単に行うことができます。また、最適化方法やトラブルシューティングのポイントを理解し、適切な設定を行うことで、メール配信の効果を最大限に引き出すことができます。

さらに高度な設定や、DKIM/DMARCといったその他の認証との連携については、別の記事で説明します。

【図解】初めてでも腹落ち!DKIMの仕組みと設定方法

また、SPF認証などに取り組み安全で到達率の高いメール配信を行いたい場合は是非『blastengine』を使ってみてください。(無料トライアルはこちら)『blastengine』でのSPFの設定方法の詳細なご案内から、電話やメールでのサポートも受け付けておりますので、お気軽にお問い合わせください。

まずは無料でAPI連携、SMTPリレーを試してみませんか?

クレジットカード登録などの支払い情報登録は必要ありません

無料トライアルプランを試す
問い合わせはこちら