SPFとは?送信ドメイン認証の基本

目次
SPFの仕組みと役割を理解してメールのなりすましを防ごう
メールセキュリティ対策において、現在必須とも言える技術の一つがSPF(Sender Policy Framework)です。
企業や組織のドメインを悪用したなりすましメールは年々増加しており、フィッシング詐欺やマルウェア配布など様々な攻撃に利用されています。
こうした問題を防ぐために利用されるのが送信ドメイン認証です。
その中でも最も基本となる技術がSPFです。
本記事ではSPFの仕組みや設定方法、SPFだけでは防げない問題について解説します。
SPFとは
SPF(Sender Policy Framework)は送信ドメイン認証技術の一つです。
メール送信元ドメインが、実際にそのメールサーバから送信してよいかを確認する仕組みです。
DNSへ登録されたSPFレコードを利用して判定を行います。
なりすましメール対策として広く利用されています。
なぜSPFが必要なのか
SMTPでは送信者アドレスを自由に設定できます。
例えば攻撃者は以下のようなメールを送信できます。
From: president@example.com受信者は本当にexample.comから送信されたメールだと誤解する可能性があります。
SPFはこのようななりすましを判定するための仕組みです。
なりすましメールの例
攻撃者は実際には別のサーバを利用しながら、送信者だけを偽装します。
攻撃者サーバ
↓
From: ceo@example.com
↓
受信者
メールアドレスだけでは正当性を判断できません。
SPFの基本的な仕組み
SPFでは受信側メールサーバがDNSへ問い合わせを行います。
処理の流れは以下の通りです。
メール受信
↓
送信元ドメイン確認
↓
DNSへSPF問い合わせ
↓
送信元IP確認
↓
許可または拒否
DNSに登録された送信許可サーバと照合します。
SPFレコードとは
SPFはDNSのTXTレコードとして登録します。
例えば以下のような設定です。
example.com. IN TXT "v=spf1 ip4:192.168.1.10 -all"この設定は192.168.1.10からの送信のみ許可するという意味になります。
SPFレコードの構成
SPFレコードは複数の要素で構成されます。
v=spf1 ip4:192.168.1.10 -all
| 要素 | 意味 |
|---|---|
| v=spf1 | SPFバージョン |
| ip4 | IPv4許可 |
| -all | それ以外拒否 |
まずはこの基本構文を覚えましょう。
ip4の意味
特定のIPv4アドレスを許可します。
v=spf1 ip4:203.0.113.10 -allこのIPアドレスから送信されたメールのみ許可されます。
ip6の意味
IPv6アドレスを許可します。
v=spf1 ip6:2001:db8::1 -allIPv6環境で利用します。
mxの意味
MXレコードで定義されたメールサーバを許可します。
v=spf1 mx -allメールサーバ構成変更時の管理が容易になります。
aの意味
Aレコードで登録されたサーバを許可します。
v=spf1 a -all比較的小規模な環境で利用されます。
includeの意味
別ドメインのSPF設定を参照します。
v=spf1 include:_spf.google.com -allGoogle Workspaceなどでよく利用されます。
allの意味
最後に判定を行う項目です。
代表的な指定方法です。
| 記号 | 意味 |
|---|---|
| -all | 拒否 |
| ~all | ソフト拒否 |
| ?all | 判定なし |
| +all | 全許可 |
通常は「-all」または「~all」が利用されます。
Google Workspaceの例
Google Workspaceでは次のような設定が推奨されています。
v=spf1 include:_spf.google.com ~allGoogleのメールサーバからの送信を許可します。
Microsoft 365の例
Microsoft 365では次のような設定です。
v=spf1 include:spf.protection.outlook.com -allMicrosoftの送信サーバを許可します。
SPF確認方法
digコマンドで確認できます。
# dig TXT example.com
または
# dig example.com TXT登録済みSPFレコードが表示されます。
nslookupで確認する
Windows環境ではnslookupも利用できます。
> nslookup -type=TXT example.comDNS登録状況を確認できます。
SPFの判定結果
受信側では以下の結果が返されます。
| 結果 | 意味 |
|---|---|
| Pass | 認証成功 |
| Fail | 認証失敗 |
| SoftFail | 疑わしい |
| Neutral | 判定なし |
| None | SPF未設定 |
受信サーバはこの結果を参考に判定します。
SPFだけでは防げない問題
SPFは非常に有効ですが万能ではありません。
例えばメール転送時に問題が発生することがあります。
送信者 ↓ 転送サーバ ↓ 受信者
転送後の送信元IPが変わるためSPF失敗となる場合があります。
メール転送問題とは
メール転送では転送サーバのIPアドレスから再送されます。
そのため受信側ではSPF認証に失敗することがあります。
これがSPFの代表的な弱点です。
DKIMとの違い
SPFは送信元IPアドレスを検証します。
一方DKIMは電子署名を利用します。
| 技術 | 確認対象 |
|---|---|
| SPF | 送信元IP |
| DKIM | 電子署名 |
両方を組み合わせることが推奨されています。
DMARCとの関係
DMARCはSPFやDKIMの結果を利用して最終判定を行います。
現在のメールセキュリティでは次の3つがセットです。
- SPF
- DKIM
- DMARC
企業ドメインでは導入が推奨されています。
実務での導入例
現在では以下のような環境で利用されています。
- 企業メールサーバ
- Google Workspace
- Microsoft 365
- レンタルサーバ
- クラウドメールサービス
事実上の標準技術となっています。
まとめ
SPFは送信ドメイン認証技術の一つで、送信元IPアドレスを検証することでなりすましメールを防止します。
DNSのTXTレコードへSPF情報を登録し、受信側メールサーバが認証を行います。
ただしSPFだけでは完全な対策にはならないため、DKIMやDMARCと組み合わせて利用することが重要です。
現在のメールセキュリティでは、SPFは導入必須の技術と言えるでしょう。






