スキップしてメイン コンテンツに移動

SPFでメール詐欺防止

SPFでメール詐欺防止

SPF基本とメールセキュリティの関係

メールセキュリティにおいて、送信ドメインの正当性を検証する仕組みとしてSPF(Sender Policy Framework)が広く利用されています。SPFは、DNSにTXTレコードを設定し、送信元IPアドレスが許可されているかどうかを受信側が確認できるようにします。これにより、なりすましメールの送信を抑制し、受信者の迷惑メール判定を改善します。

TXTレコードで設定するSPF構文

SPFレコードはTXTレコードとしてDNSに登録します。基本構文は次のようになります。

v=spf1 [mechanism] [qualifier] -all

ここで「v=spf1」はSPFバージョンを示し、mechanismは許可するIPやドメインを指定します。qualifierは許可・拒否の強度を示し、-all はHard Fail を意味します。

includeメカニズムの使い方

includeメカニズムは、別ドメインのSPFレコードを参照して許可リストに追加する方法です。例えば、メール配信サービスを利用する場合、次のように記述します。

v=spf1 include:mailservice.com -all

この記述により、mailservice.com が許可するIPアドレスが自動的に追加されます。includeは複数使用でき、複雑な送信環境でも柔軟に管理できます。

ip4 と ip6 の指定方法

IPアドレスを直接許可する場合、ip4 と ip6 を使います。例:

v=spf1 ip4:203.0.113.0/24 ip6:2001:db8::/32 -all

ip4 はIPv4、ip6 はIPv6 を示し、CIDR表記で範囲を指定します。これにより、特定のネットワークからの送信のみを許可できます。

all, Soft Fail, Hard Fail の意味

SPFレコードの最後に置く all は「すべてのIP」を対象にする機能です。qualifier と組み合わせて、Soft Fail(~all)や Hard Fail(-all)を設定します。

  • ~all(Soft Fail): 送信元が許可リストにない場合、メールを受信拒否せずに「疑わしい」とマークします。
  • -all(Hard Fail): 送信元が許可リストにない場合、メールを受信拒否します。

Soft Fail はテスト段階や一部のサブドメインで有効にし、Hard Fail は本番環境で確実に防御したい場合に使用します。

なりすまし防止の実践例

実際にSPFを設定する際のポイントは次の通りです。

  1. 送信ドメインの全てのメールサーバーをリストアップし、ip4/ip6 で明示的に許可。
  2. 外部サービス(メールマーケティング、CMS)を利用する場合は include を追加。
  3. テスト環境では ~all を設定し、実際にメールが届くか確認。
  4. 本番環境では -all を設定し、Hard Fail に切り替える。
  5. SPFレコードは 255 文字以内に収めるため、複数行に分割して DNS に登録。

これらを実施することで、メールセキュリティを強化し、なりすまし防止に大きく貢献します。

この記事はAIによって作成されました。

コメント