ヘッダー画像

メール送信元認証の仕組みSPFレコードって何?を簡単に解説

初めに

 今回はSPF(Sender Policy Framework)レコードについてゆるく説明します。企業で独自ドメイン(xxxx.co.jp)などを使ってメールを利用する場合は、自社のドメインに成りすまされて悪さされてましたといったことを防止するためSPFレコードの登録を推奨してます。

SPFレコードとは?

 端的に言ってしまえば送信元認証の仕組みになります。xxxx.co.jpドメインのメールはどのサーバ(サービス)からメールが送信されて正常なのかをDNSサーバに登録することで、この会社のメールは、このサーバから送信されていて正常ですよと証明することになります。

図 SPF動作の仕組み
# 動作の流れ
1送信者はパソコンからメールを送信します。
2契約中のメールサービスから宛先に対してメールを送信します。
3受信したメールドメインのDNSにSPFレコードの確認をします。
4DNSはSPFレコードの値を返します。
5受信したメールの送信元IPアドレスと、DNSが返してきた値を突合して一致してれば問題なし、不一致だとなりすましの可能性ありと判定して受信者に渡します。
表 SPF動作の詳細

SPFレコードの登録でやってはいけないこと

 SPFレコードの登録はルールがあり、このルールを無視して登録すると最悪の場合メールが一切送れなくなったりしますので、登録される際はご注意ください。

(1) SPFレコードは1行で書く必要があります。
(2) 決められた記述ルールで記載が必要です。
(3)lookup数を10以下に抑える必要があります。

1行で書くとは

 指定するSPFが1つしかない場合はあまり気にしなくても良いですが、複数の送信元を設定する必要がある場合は、この1行で書くルールを守る必要があります。

example.jp.   IN TXT “v=spf1 include:_spf.google.com ~all”
           “v=spf1 ip4:10.1.1.0/24 ~all”
example.jp.   IN TXT “v=spf1 include:_spf.google.com ip4:10.1.1.0/24 ~all”

決められた記述ルールとは

 SPFレコードは「v=spf1 」から始まります。メールサーバをIPアドレスで指定する場合は「ip4:xxx.xxx.xxx.xxx」という記載が必要です。また、IPアドレスでの指定以外に名前(例:include:_spf.google.com)で指定することも可能です。記載する値はメールサービス提供元にご確認いただくと良いかと思います。

lookup数を10以下にするとは

 SPFレコードを名前で指定する場合で、includeを使用する場合はLookup数を気にする必要があります。上記の例であげた「_spf.google.com」を調べるとさらに3つのincludeの先にIPアドレスがいます。この状態だとLookup数は4となります。どれだけincludeされてしまうかは、利用者から制御できませんので、複数のサービスでメールを利用する場合は都度確認いただくと良いかもしれません。下記のサイトからチェック可能です。ご利用中のドメインを入力してチェックしてみましょう。

MXTOOLBOX

ちなみにLookup数がオーバーしていると下記のようにエラーがでます。Lookup数がオーバーしてしまう場合は、利用するサービスの一部を別のドメインに変えるなど工夫が必要になります。

まとめ

 ここまででSPFについて理解できたでしょうか?会社(ドメイン)の信用を落とさないためにも最低限の対策は必要ということですね。さらに詳しい説明が必要な方は下記のサイトが参考になりますのでURLご案内しますね。

間違いから学ぶSPFレコードの正しい書き方

SPFレコードはトライアル実施時にも登録することがあります。トライアルの開始方法については別の記事でご案内しています。この記事が少しでも誰かのお役に立ちますように