SPFとは?設定・確認方法やレコードの記述例、よくある間違いと対処法を解説
SPFとは、IPアドレスを使い送信元ドメインを認証する技術のことです。近年、なりすましなどメールを活用したサイバー攻撃が増加しており、注目されています。本記事では、SPFの概要や設定・確認方法、SPFレコードの記述例とよくある間違い・対処法について解説します。
目次
SPFとは、IPアドレスを使い送信元ドメインを認証する技術のことです。近年、なりすましなどメールを活用したサイバー攻撃が増加しており、注目されています。SPFを導入すれば、自社の名を語ったフィッシング詐欺の被害を防ぎやすくなるでしょう。
本記事では、SPFの概要や設定・確認方法、SPFレコードの記述例とよくある間違い・対処法について詳しく解説します。SPFについて知りたい方、導入を検討している方は、ぜひ参考にしてください。
SPF(Sender Policy Framework)とは

SPF(Sender Policy Framework)とは、IPアドレスを用いてメールの送信元ドメインを認証する技術のことです。ここからは、SPFに関する以下の事項について解説します。
- 注目されている理由
- 仕組み
- DKIMとの違い
- DMARCとの違い
- Sender IDとの違い
SPFが注目されている理由
SPFが注目される理由は、なりすましメールなどの増加です。近年は、クレジットカードや大手ECショップを偽ったメールを利用し、偽サイトから個人情報などを騙し取るフィッシング詐欺が多発しています。また、フィッシングサイトへの誘導や個人情報・機密データの盗聴・金銭の要求などを目的に、受け手が希望しないメールやメッセージを大量に送るスパムも実施されています。万が一、被害に遭えば個人情報の流出や金銭的な被害を受けるでしょう。
フィッシング詐欺などでは、メール送信サーバーを乗っ取っているわけではありません。IPアドレスを確認すれば正規メールかの判断が可能なため、防止に役立つSPFが注目されています。
なお、フィッシング詐欺とスパムメールの詳細は以下をご覧ください。
⇒フィッシング詐欺とは?5つの対策や被害にあった場合の対処法を解説
⇒スパムとは?意味や迷惑メッセージの種類、危険性、対策を徹底解説!
SPFの仕組み
SPFは、SPFレコードを活用して正規かなりすましかの判断を行う仕組みが採用されています。具体的な流れは以下の通りです。
- 送信者が、メールサーバーのIPアドレスをDNSサーバーにSPFレコードとして登録
- 受信者はDNSからSPFレコードを取得して、メールの正当性を確認
SPFレコードに情報がない場合、受信者が偽装メールと判断して受信を拒否します。
DKIMとの違い
DKIMもSPF同様メール認証技術の一つですが、SPFとは重点が異なります。SPFが送信元の詐称に関する判断に重点が置かれているのに対して、DKIMはメールの内容が改ざんされていないかの判断に重点が置かれています。
なお、DKIMに関する詳細は以下をご覧ください。
⇒DKIMとは?仕組みやメリットと注意点、設定・確認方法を解説
DMARCとの違い
DMARCとは、送信元ドメインの認証を行い、不正な送信元からのメールをブロックして、正当なものだけを受信者に届ける技術のことです。SPFとDKIMの技術が活用されており、なりすましの可能性があるメールの配信がされた際の対処方法を、送信者が選択できます。
なお、DMARCの詳細は以下をご覧ください。
⇒DMARCとは?仕組みや導入のメリット・デメリット、設定・確認方法を解説
Sender IDとの違い
Sender IDとは、Microsoft社が提案した送信ドメインに関する認証技術のことで、SPFとは認証の対象が異なります。SPFはエンベロープの送信者アドレスを用いて認証を行うのに対して、Sender IDはヘッダ上の送信者アドレスで認証を実施します。
SPFの認証結果と意味

SPF検証が行われると、英語表記された結果が示されます。各結果と意味は以下の通りです。
| 結果 | 概要 |
|---|---|
| None | SPFレコードが公開されておらず、認証できなかった |
| Neutral | レコードが定められた「?all」の条件にマッチした |
| Pass | 認証に成功した |
| Fail | レコードは公開されているものの、認証に失敗した |
| SoftFail | レコードが定められた限定子の条件にマッチした |
| TempError | 障害が原因で認証に失敗した |
| PermError | レコードの記述などが原因で、認証に失敗した |
SPFを設定する方法

SPFの活用には、DNSサーバーにIPアドレスの登録が必要です。具体的には以下の手順で行います。
- DNS設定にアクセスして、TXTレコード追加画面を開く
- レコードにSPFポリシーを入力する
- 設定を保存後、DNS側の反映を待つ
DNS設定へのアクセス方法は、活用するサーバーごとに異なるため、利用しているシステムの設定マニュアルやFAQをご覧ください。
SPFの設定を確認する方法

次に、SPFの設定を確認する方法を紹介します。
コマンドプロンプトの利用
コマンドプロンプトでSPFの設定を確認する場合には、以下の手順を実施します。
| Windowsの場合 | Mac |
|---|---|
|
|
SPFレコードチェックツールの利用
SPFレコードのチェックツールを利用すれば、設定を簡単に確認できます。例えば、以下は無料で使えるため利用すると良いでしょう。
SPFレコードの記述例

次に、SPFレコードの記述例を紹介します。
IPアドレスを直接記述する方式
IPアドレスを直接記述する場合には、以下の通り記載します。
ドメイン IN TXT 【SPFバージョン】 +ip4:【IPアドレス】
例:sms-datatech.co.jp. IN TXT “v=spf1 +ip4:192.○○○.○○○.○○ –all“
ネットワークをCIDR方式で記述する方法
ネットワークをCIDR方式で記述する場合には、以下の通り記載します。
ドメイン IN TXT 【SPFバージョン】 +ip4:【ネットワーク】
例:sms-datatech.co.jp. IN TXT “v=spf1 +ip4:192.○○○.○○○.○/24 –all“
ネットワークを指定する場合には、最小限の範囲を指定しましょう。
ホスト名を指定する記載方法
ホスト名で指定する場合には、以下の通り記載します。
ドメイン IN TXT 【SPFバージョン】 a:【ホスト名】
例:sms-datatech.co.jp. IN TXT “v=spf1 a:mx01.sms-datatech.co.jp –all“
ホスト名はFQDNで記載します。
ネットワークとIPアドレスの指定を混在させる方法
ネットワークとIPアドレスの指定を混在させる場合の記述は、以下の通りです。
ドメイン IN TXT 【SPFバージョン】 +ip4:【IPアドレス】【ネットワーク】
例:sms-datatech.co.jp. IN TXT “v=spf1 +ip4:192.○○○.○○○.○○ +ip4:192.○○○.○○○.○/24 –all“
MXを記述する方法
MX レコードに登録したサーバーからのみメールを送る場合には、以下の通り記載します。
ドメイン IN TXT 【SPFバージョン】mx
例:sms-datatech.co.jp. IN TXT “v=spf1 mx –all“
includeを使い記述する方法
外部のメール送信事業者を活用している場合には、includeを用いて以下の通り記載します。
ドメイン IN TXT 【SPFバージョン】include:【外部サービス指定のドメイン】
例:sms-datatech.co.jp. IN TXT “v=spf1 include:spf.example.jp –all“
redirectを使い記述する方法
一つの企業で複数のドメインを使用しており、この複数のドメインを1つのメールシステムで共有する場合には、redirectを用いて以下の通り記載します。
ドメイン1 IN TXT 【SPFバージョン】 +ip4:【IPアドレス】
ドメイン2 IN TXT 【SPFバージョン】redirect=【ドメイン1】
例:sms-datatech1.co.jp. IN TXT “v=spf1 +ip4:192.○○○.○○○.○○ –all“
sms-datatech2.co.jp. IN TXT “v=spf1 redirect=sms-datatech1.co.jp. –all“
SPFレコードのよくある間違いと対処法

続いて、SPFレコードのよくある間違いと対処法について解説します。
バージョンを間違える
SPFのバージョンを間違えれば、正しく設定されません。バージョンの記載は「v=spf1.0」ではなく「v=spf1」が正しいため、注意しましょう。
機構が省略されている
機構(mechanism)の省略もよくある間違いです。機構とは例えば以下のことです。
- a
- include
- mx
- ptr
- all
- ip4
- ip6
とくに「+a:」が省略されやすいため、注意しましょう。
1ドメインに多数のspf1レコードを公開している
1ドメインに多数のspf1レコードを公開しているケースでも、エラーが発生します。SPFレコードでは、1つのドメインに対して行替えを行わず1行で記述します。
タイプミスがある
タイプミスも、エラー発生のよくある原因です。「:」を入力し忘れも多く発生しています。記述する際には、ミスがないか必ず確認しましょう。
空白文字(SP)が抜けている
空白文字(SP)の抜けにも注意しましょう。とくに、二重引用符を用いて複数に分けて記述する際に起こりやすいミスです。
sms-datatech1.co.jp. IN TXT “v=spf1 +ip4:192.○○○.○○○.○○““ip4:192.○○○.○○○.○○ –all“
例えば、上記は二重引用符で分けられていますが、一つのレコードとして扱われます。” ” で囲まれた2つの部分を接続する際、空白文字は補われず空白文字が入りません。
redirectやincludeの先がない
redirectやincludeの先がない場合にも、エラーが発生します。レコードの公開後、最初の設定から参照先が変わった際に反映させるのを忘れるケースが多くあります。
SPFの課題

最後に、SPFの課題を紹介します。
メール転送時、認証に失敗する
メール転送時に送信者の情報を書き換えなければ、認証に失敗してなりすましメールと見なされます。受信メールを転送する際は、そのまま転送するのではなく、送信元の書き換えを行いましょう。
第三者サーバー利用時、認証に失敗する
メールを送る際に、第三者のメールサーバーを活用すると認証に失敗します。出張やテレワークなどで社外からメールを送る際には、VPNやSSL通信を使用しましょう。
送信者・受信者双方の設定が必要
SPFは、メールの送信者と受信者両方が導入していなければ意味がありません。送信者がDNSサーバーに登録したレコードを、受信者が確認することで偽装確認をしているからです。
まとめ

SPFとは、IPアドレスを用いてメールの送信元ドメインを認証するテクノロジーのことです。なりすましなどのメールを活用したサイバー攻撃の被害を防止する目的で、導入する企業が増加しています。
ただ、設定する際にSPFレコードの記述をミスするケースがあるため、注意しましょう。また、SPFを活用したとしても、メールアカウントの乗っ取りに遭えば、自社のアドレスがサイバー攻撃に利用されてしまいます。
近年のサイバー攻撃は高度化・巧妙化しており、セキュリティ対策を行っても、アカウント乗っ取りなどの被害に遭う可能性を完全になくすことは不可能です。サイバー攻撃を防止する対策を行うとともに、攻撃を受けた際に素早く察知して、適切な対応を取るための体制構築が求められます。
情報漏洩監視ツール「ダークウェブアイ」は、会社のドメイン情報を入れるだけで「いつ」「どこから」「どんな情報が」漏れてしまったのか、一瞬で分かります。
自社情報が漏洩していないか不安な方は、まずは自社の漏洩状況を確認してみてはいかがでしょうか?
⇒メールアドレスを入れるだけ!自社の漏洩状況をチェック!

