SPFとは?

SPFとは?

この記事は Sender Policy Framework: SPF 101 (No, Not the Sunblock!) の抄訳です。

暑い季節にSPFと聞くと、夏の日差しを思い出しますね。SPF(Sun Protection Factor)は紫外線から肌を守ってくれますが、本記事では毎日利用しているメールを守ってくれるSPF(Sender Policy Framework)をご紹介します。

SPFとは?

SPFとは、メールの送信ドメイン認証のひとつで、メールが正規のサーバ(=そのドメインからの送信が許可されているサーバ)から送信されているのかどうかを判断するのに有効です。SPFがあれば、ISPはあなたのドメインを利用した悪意のあるメールを判断できます。
残念なことに、なりすましメールは非常に厄介な問題で、個人情報を不正に入手するために大量のメールが送信され続け受信ボックスが圧迫されてしまいます。特に、迷惑メール業者は送信者とユーザの信頼関係(アカウントの確認やパスワードの再設定、ログインなどへ誘導できる)を利用しようとするので、トランザクションメールはなりすましメールの被害を受けやすくなっています。
SMTPだけではなりすましメールを防ぐことは出来ないので、活用できる手法は全て活用してメールが正当であることを証明しましょう。この手法の中には、もちろんSPFも含まれています。

SPFの仕組み

SPFはエンベロープFrom(=SMTP通信で使用されるメールアドレス)を保護するためのオープンスタンダードで、エンベロープFromのドメインと送信元のIPアドレスから、メールが正当なサーバから送信されているかを確かめます。
SPFを利用するには、メール送信に利用する全てのメールサーバのIPアドレスを、v=spf1で始まるSPFレコード(もしくはTXTレコード)形式でDNSサーバに登録する必要があります。受信側ISPは送信リクエストを受け取ると、エンベロープFromのDNSサーバに問い合わせて公開されているSPFレコード(もしくはTXTレコード)を取得し、送信元の検証を行います(図)。メールの送信元IPアドレスがSPFレコードに記載されていれば、メールは配信されます。
(SPFレコードを登録していても「必ず」メールが配信されるわけではありません。ご存知の通り、メールが相手に届かない原因は様々あります。メールが配信されない理由は、SPFの認証に失敗したからとは限らないのです。)

図1 送信ドメイン認証イメージ

図 送信ドメイン認証イメージ(Email Deliverability Guide p12より)

全てのISPがSPF認証を導入している訳ではありませんが、認証が失敗した場合はそのメールをブロックしたり迷惑メールフォルダに入れたりするISPもいます。
SPFの仕組みについてさらに詳しく知りたい方はOpenSPF.org(英語)をご確認ください。

SPFレコードの記述方法は複数あり、少しずつ異なります。SPFレコードを設定したら、正しく記述できているかを確認してください。確認には下記サイト(英語)をご利用ください。

  • Scott Kitterman’s SPF Testing Tools:ドメインのSPFレコードが既に存在しているかどうかを確認できます。また、SPFレコードが有効かどうかも確認できます。
  • OpenSPF.org:メールを送信するだけでSPFレコードを確認できます。

さいごに

なりすましメールは、ビジネスへの信頼もユーザ数も減らしてしまいます。SPFは迷惑メールを防ぐわけではありませんが、抑止力として働き、なりすましメールの被害を受けにくくなります。Sender IDやDKIMを併用することで、ISPはさらにメールの正当性を判断しやすくなり、なりすましメールの被害に遭うリスクを大きく下げることができます。

メールは、とても大切なコミュニケーションツールです。ユーザからの信頼を保つため、メールを確実に届けるため、下記リンクも是非ご覧ください。