3行で説明
- なりすましメールを防ぐための技術
- 設定することで、迷惑メール判定されるリスクを下げることもできる
- DNSのTXTレコードを使って、メール送信元のIPを登録する
なぜ必要か
メール送信のプロトコル、SMTPのセキュリティ上の弱点として、誰でも任意のドメインの差出人になりすますことができる、というものがある。
SPFレコードを設定することによって、自分が所有しているドメインを使ったメールアドレスから、第三者が自由にメールを送信することを防ぐことができる。
設定方法
所有するドメインのTXTレコード(自由にコメントをかけるレコード)にv=spf
で始まる以下のような形式で記述することにより、SPFレコードとして認識されるようになる。
example.jp. IN TXT "v=spf1 +ip4:192.168.100.0/24 ~all"
example.jp. IN TXT "v=spf1 include:kagoya.net ~all"
SPFレコードが使われるタイミング
メール受信サーバーが、メール受信の直前に、DNSサーバーにSPFレコードがあるかどうか確認する
↓
・レコードがなければ普通に受信
・レコードがあれば、送信元のIPアドレスとSPFレコードに書かれているIPアドレスが一致しているか確認し、一致しなければ受信を拒否する
SPFレコードとは?正しい書き方を徹底解説 | カゴヤのサーバー研究室
関連ツール
ドメインを入力すると、そのドメインに設定されているSPFレコードを確認できる。
https://www.kitterman.com/spf/validate.html
フォームに必要事項を入力すると、SPFレコードが生成される
https://www.spfwizard.net/
CNAMEレコードを使った設定
例えばSendGrid使ってメールを送信する場合、自分が所有するドメインのCNAMEレコードにSendGridのドメインを設定する。
そうすることで、SendGrid側で設定されているSPFレコードを使うことができる。