SPFレコードとは?
SPFレコード(Sender Policy Framework)は、ドメインに代わってメールを送信することを許可されたメールサーバーとIPアドレスを指定するDNS TXTレコードです。SPFは重要なメール認証の仕組みで、受信サーバーがメッセージの送信元が正当か確認するのを助け、スパムを減らし、メール送信元のなりすまし攻撃を防ぎます。SPFレコードの構文
基本構造
v=spf1 [mechanisms] [qualifier]all
よく使うメカニズム
| メカニズム | 目的 | 例 |
|---|---|---|
| ip4 | IPv4を許可する | ip4:192.0.2.0/24 |
| ip6 | IPv6を許可する | ip6:2001:db8::/32 |
| a | ドメインのAレコードのIP | a:example.com |
| mx | ドメインのMXサーバー | mx |
| include | 別のSPFを含める | include:_spf.google.com |
修飾子
- + Pass(既定、許可)
- - Fail(未許可、拒否)
- ~ SoftFail(疑わしいものとして扱う)
- ? Neutral(判断を示さない)
SPFレコードの例
Google Workspaceの例
v=spf1 include:_spf.google.com ~all
複数のプロバイダー
v=spf1 include:_spf.google.com include:sendgrid.net ip4:192.0.2.1 -all
SPFのルックアップ制限
SPFには10回のルックアップ制限があります。
- include、a、mxはそれぞれ1回として数える
- ip4とip6は数えない
- 上限を超えると永続的なエラーになる
ベストプラクティス
1. まずは~allで始め、後から-allへ厳格化する
2. DNSルックアップを10回未満に抑える
3. DKIMおよびDMARCと組み合わせる
4. 本番導入前にテストする
SPFはメール認証に不可欠です。ドメインがスパムやフィッシング攻撃に悪用されるのを防ぎ、受信側が正当な送信元を判定するための基盤になります。