SPFレコードの仕組みと設定方法|なりすましメールを防ぐDNS認証技術を理解する

目次
SPFレコードの仕組みと設定方法
メールシステムを運用していると、「なりすましメール」や「送信ドメイン認証」という言葉を目にすることがあります。
近年は迷惑メール対策が強化されており、単にメールサーバを構築しただけでは正常にメールが届かないことも珍しくありません。
その対策として広く利用されている仕組みの一つがSPF(Sender Policy Framework)です。
SPFはDNSを利用して「このドメインからメールを送信してよいサーバ」を公開する仕組みです。
本記事ではSPFレコードの仕組みや設定方法、確認方法、実務でよくあるトラブルについて解説します。
SPFとは
SPFは送信元メールサーバの正当性を確認するための仕組みです。
受信サーバはメールを受け取った際に、送信元ドメインのDNSへ問い合わせを行います。
そして、そのメールサーバが送信を許可されているか確認します。
なぜSPFが必要なのか
メールは送信元アドレスを簡単に偽装できます。
例えば次のような送信も技術的には可能です。
From: president@example.com
しかし実際には第三者が送信しているかもしれません。
SPFはそのようななりすましを防ぐために利用されます。
SPFの動作の流れ
送信サーバ
↓
メール送信
↓
受信サーバ
↓
DNS問い合わせ
↓
SPF確認
↓
受信判定
受信サーバはDNS上のSPF情報を確認します。
SPFレコードはTXTレコードで登録する
現在のSPFはTXTレコードとして登録します。
例です。
example.com. IN TXT "v=spf1 mx -all"これが最も基本的なSPF設定です。
SPFレコードの構成
v=spf1 mx -all各要素には意味があります。
| 値 | 意味 |
|---|---|
| v=spf1 | SPFバージョン |
| mx | MXサーバを許可 |
| -all | その他を拒否 |
mxとは
MXレコードで指定されたサーバからの送信を許可します。
v=spf1 mx -all最も利用される設定です。
aとは
AレコードのIPアドレスを許可します。
v=spf1 a -allWebサーバ兼メールサーバで利用されることがあります。
ip4とは
特定のIPv4アドレスを許可します。
v=spf1 ip4:203.0.113.10 -all指定したIPのみ許可されます。
ip6とは
IPv6アドレスを指定します。
v=spf1 ip6:2001:db8::10 -allincludeとは
外部サービス利用時によく利用します。
v=spf1 include:_spf.google.com -allGoogle Workspaceなどで利用されます。
Google Workspaceの例
v=spf1 include:_spf.google.com ~allGoogle公式が推奨する設定です。
Microsoft 365の例
v=spf1 include:spf.protection.outlook.com -allMicrosoft公式の設定例です。
-allと~allの違い
実務でよく質問されます。
-all
完全拒否
~all
SoftFail
警告扱いになります。
SPF確認方法
digコマンドで確認できます。
$ dig example.com TXT
結果例です。
"v=spf1 mx -all"nslookupで確認する
> nslookup -type=TXT example.com
Windowsでも確認可能です。SPF判定結果
受信サーバは次のような結果を返します。
| 結果 | 意味 |
|---|---|
| Pass | 許可された送信元 |
| Fail | 拒否対象 |
| SoftFail | 警告 |
| Neutral | 判定保留 |
よくある設定ミス① SPF未設定
メールは送信できますが信頼性が低下します。
迷惑メール判定の原因になります。
よくある設定ミス② SPFレコード複数登録
SPFは1つだけ登録する必要があります。
誤りです。
v=spf1 mx -all
v=spf1 include:_spf.google.com -all複数登録は無効になる場合があります。
よくある設定ミス③ 外部サービス追加忘れ
メール配信サービス利用時によく発生します。
- Google Workspace
- Microsoft 365
- SendGrid
- Mailchimp
SPFへ追加する必要があります。
よくある設定ミス④ IP変更後の未更新
メールサーバ移行後です。
旧IP
↓
登録済
新IP
↓
未登録
SPF失敗になります。
メールが迷惑メールになる理由
SPFだけではありません。
- SPF
- DKIM
- DMARC
- 逆引きDNS
複数要素で評価されています。
実務で覚えておきたいポイント
- SPFは送信元認証技術である
- TXTレコードとして登録する
- なりすまし対策に利用される
- Google WorkspaceやMicrosoft 365でも必須
- SPFレコードは1つだけ登録する
- メール障害時はSPFも確認する
まとめ
SPFはメール送信元の正当性を確認するための重要な仕組みです。
DNSのTXTレコードを利用して送信を許可するサーバを公開し、なりすましメール対策を実現しています。
現在ではGoogleやMicrosoftをはじめ、多くのメールサービスがSPFを重視しているため、メール運用において必須の知識と言えるでしょう。
メール障害や迷惑メール判定が発生した場合は、まずSPF設定を確認することが重要です。





