SPFレコードは、Sender Policy Frameworkの略で(送信者ポリシーフレームワーク)送信するメールアドレスとドメイン名の認証技術の一つ。電子メールの送信者が、正当なメールの送信者であることを証明するための技術です。

このSPFレコードによって、受信したメールが正規のサーバーから送信されているのか、詐欺メールか、スパムメールか、不正なメールか、防止する役割を果たしています。

サイバーセキュリティ―cybersecurity
Pixabay画像:サイバーセキュリティ―cybersecurity

SPFレコードの仕組み

SPFレコードの設定を行うと、メール受信側のサーバーでメールを送信したメールサーバーのIPアドレスと、送信元ドメインに付随するSPFレコードの内容をチェックして、双方のIPアドレス一致により認証可否の判断をします。

その認証により当該メールは「問題なし」とされ、送信元ドメインの信頼性を保証できるという仕組みになっています。SPFを機能させるために、事前にSPFレコードを送信ドメインのメールアドレスのDNSサーバーのtxtレコードへ登録しておく必要があります。

参照:Gmailヘルプページ https://support.google.com/mail/answer/81126?hl=ja

SPFレコード認証プロセス

  1. メールを送信
  2. 受信メールサーバーがDNSサーバーに問い合わせ
  3. DNSサーバーのSPFレコードを要求
  4. SPFレコードと受信メールの送信元ドメインIPアドレスを照合
  5. 一致すると認証成功

という流れです。ちなみにSPFレコードは、メールが送信される前の段階で問い合わせられます。

DKIMとは?設定方法と確認方法、SPFレコードとの違い

SPFレコードの設定方法

SPFレコードの設定方法は利用するメールサーバーによって異なるため、ドメイン管理者やサーバー管理者、レンタルサーバ管理画面から設定を行う必要があります。

書き方

SPFレコードはドメインのDNSの設定画面にアクセスし、TXTレコードに記述します。
書式は v=spf1 [許可するIPアドレスやドメイン名] -all
v=spf1`はSPFのバージョンを表し、`-all`は許可されていない送信元からのメールを拒否することを意味します。

例えば、IPアドレスが `192.168.0.1` で、ドメイン名が `example.com` である場合は
v=spf1 ip4:192.168.0.1 include:example.com -all

複数のSPF設定

オンプレミス環境のメールサーバーや外部メール送信サービスなど、複数のメールサービスを使用する企業では、複数のSPFレコードを設定する必要があります。

ですが厳密には、1つのドメインに対して複数のSPFレコードを設定することは推奨されていません。複数のSPFレコードが設定されていると、メールの受信側で認証エラーが発生し正常に送受信できない可能性があります。

そのため、複数のメールサービスを使用する場合は、1つのSPFレコードにまとめて設定することが望ましいです。例えば、以下のように複数のメールサービスの情報を含む1つのSPFレコードを設定します。
————————————————————————————————————————-
“v=spf1 include:_spf.example1.com include:_spf.example2.com include:_spf.example3.com~all”
————————————————————————————————————————-

faxdmya.comのspfレコードです。sakura.ne.jpとgoogle.comとarara.comの3つを設定しています。
———————————————————————–
v=spf1 a:www133b.sakura.ne.jp mx include:_spf.google.com include:spf.am.arara.com ~all
———————————————————————–

includeとは

インクルードとは、含めるという意味の英単語で、ITの分野では、コンピュータプログラムなどが外部から別のプログラムやデータなどを取り込んで一つにまとめることを意味です。

include利用で、sakuraとgoogleとararaのメールサーバーを、1つのSPFにまとる事ができます。

SPFの確認方法

SPFレコードが設定済みかを確認する方法はいくつかあります。
「SPFレコードの設定確認方法」といったワードでネット検索すれば、ブラウザ上で確認できるWebサイトが複数上がってきますが、オフラインでも調べることができます。

パソコンで確認

windowsであればコマンドプロンプトを開き、「nslookup -type=txt 調べたいドメイン」を入力してエンターキーを押します。その入力に対しv=spf1~といった記述が返ってくれば、SPFレコードが設定されていることがわかります。
※「nslookupと-type」の間は半角スペースです。「txtとドメイン」の間は半角スペースです。

Macであれば、ターミナルを開き「dig txt 調べたいドメイン」と入力後、エンターキーを押下すれば同じようにチェックできますので、調べてみてください。

webサイトで確認

SPFレコードを正しく設定することは煩雑な作業であるため、専門のツールを使って確認とチェックを行うことが推奨されます。SPFレコードの確認とチェックができるサイトをいくつか紹介します。

MX Toolbox(https://mxtoolbox.com/spf.aspx
MX Toolboxは、SPFレコードを含むDNSレコードの確認ができるオンラインツールです。簡単にドメインを入力するだけで、結果がすぐに表示されます。また、SPFに関する詳細な解説も提供されており、問題がある場合の対処法もわかりやすく説明されています。

Kitterman(http://www.kitterman.com/spf/validate.html
Kittermanは、SPFレコードの正確な設定をチェックすることができるサイトです。ドメインを入力するだけで、SPFレコードについての詳細なレポートが提供されます。不適切な設定がある場合は修正案も示されるため、非常に便利です。

メール到達率に影響するIPレピュテーションの評価指標とリスク対策

まとめ

SPFレコードを正しく設定することにより、ビジネスや組織のメール送信に信頼性をもたらし、受信者が安心してメールを開くことができます。また、正しいSPFレコードを持つことで、送信メールの誤検知が減らし、送信成功率が向上するでしょう。

企業や組織においては、ブランドイメージの向上や効果的なコミュニケーションを行うためにも、SPFレコードの適切な管理が重要です。

(この記事は2022年に掲載した記事を2023年に加筆修正更新したものです)