SPF レコードでドメインを保護する

送信ドメインのなりすまし対策

[From] 欄を使ってメールの送信元ドメインを偽装する、「なりすまし」という行為があります。送信側がドメインホストに Sender Policy Framework(SPF)レコードを追加することで、受信側は送信元ドメインからのメール送信が可能なメールサーバーを識別できます。SPF レコードは、メールが正当なドメインから送られたものであり迷惑メールではないことを、相手のメールサーバーに伝える役割を果たします。

SPF レコードは送信元ドメインに追加します。たとえば、Gmail からメールを送信すると、受信サーバーは送信元ドメイン([ドメイン名].com)の SPF レコードがメールのサーバーと一致しているかどうかを確認します。一致していない場合、そのメールは迷惑メールとして拒否される可能性があります。

注: G Suite のお申し込み時にドメインを Google パートナー(GoDaddy.com、eNom.com、DomainDiscount24.com)から購入した場合は、SPF レコードを追加する必要がないこともあります。

DKIM、DMARC と SPF の併用

SPF に加えて、DKIM(DomainKeys Identified Mail)DMARC(Domain-based Message Authentication, Reporting & Conformance)も設定することをおすすめします。

  • SPF では、メールを送信できるドメインを指定します。
  • DKIM では、メール コンテンツが本物であり、変更されていないことを確認します。
  • DMARC では、ドメインでの不審な受信メールの処理方法を指定します。

ドメインで SPF を有効にする

ドメインで SPF を有効にするには、ドメインホストに SPF TXT レコードを追加します。TXT レコードを追加してもメールフローに影響することはありません。

TXT レコードについて

ドメインホストは、ウェブ トラフィックをドメインに対応付ける DNS レコードと呼ばれるテキスト設定を管理しています。詳しくは、TXT レコードの操作に関するページをご覧ください。TXT レコードについてサポートが必要な場合は、ご利用のドメインホストにお問い合わせください。

SPF TXT レコードとは、ドメインからのメールを送信できるメールサーバーをリストしたものです。レコードに含まれていないサーバーから送信されたメールは、迷惑メールに分類される可能性があります。

SPF と複数のメールサーバー

メールサーバーが複数の場合、複数の SPF レコードの使用はおすすめしません。複数の SPF レコードを使用すると、認証に問題が発生する可能性があります。すべてのメールサーバーで同じ SPF レコードを使用してください。

詳しくは、既存の SPF レコードを更新して複数のメールサーバーで使用できるようにする方法をご覧ください。

SPF TXT レコードを追加する

SPF を有効にするには、ドメインの SPF TXT レコードを更新します。

  1. (Google 管理コンソールからではなく)ドメインホストからドメイン アカウントにログインします。

    詳しくは、ドメインホストの特定をご覧ください。

  2. ドメインの DNS レコードの更新を行うページを探します。たとえば、[DNS management]、[name server management]、[advanced settings] のような名前のページです。
  3. TXT レコードを見つけて、ドメインにすでに SPF レコードがあるかどうかを確認します。SPF レコードは v=spf1 で始まります。
  4. ドメインにすでに SPF レコードがある場合は削除します。ない場合は、手順 5 に進みます。
  5. 次の値を使用して TXT レコードを作成します。
    • Name/Host/Alias(名前 / ホスト / エイリアス):@」と入力するか、空白のままにします。ドメインの他の DNS レコードで正しい入力を確認できる場合があります。
    • Time to Live(TTL、有効期間):3600」と入力するか、デフォルトのままにします。
    • Value/Answer/Destination(値 / 応答 / 参照先):v=spf1 include:_spf.google.com ~all」と入力します。

  6. レコードを保存します。

新しい SPF レコードは 48 時間以内に有効になります。

SPF レコードを確認する

Check MX アプリを使用して SPF レコードを確認します。このアプリは G Suite ツールボックスに含まれています。

  1. https://toolbox.googleapps.com/apps/checkmx/ にアクセスします。
  2. ドメイン名を入力します。
  3. [チェックを実行] をクリックします。
  4. テストが終了したら、[有効な SPF アドレスの範囲] をクリックします。
  5. SPF の結果を確認します。次の結果が含まれていると思われます。
    • _spf.google.com
    • _netblocks.google.com に続いていくつかの IP アドレス
    • _netblocks2.google.com に続いていくつかの IP アドレス
    • _netblocks3.google.com に続いていくつかの IP アドレス

複数のサーバーに SPF レコードを適用する

ドメインに設定できる SPF レコードは 1 つのみです。メールサーバーごとに SPF レコードを作成するのではなく、1 つの SPF レコードを更新してすべてのメールサーバーを含めるようにします。

たとえば、送信メールのゲートウェイを設定している場合、SPF レコードには Gmail サーバー アドレスと送信ゲートウェイの SMTP サーバー アドレスが記述されます。

既存の SPF レコードにメールサーバーを追加するには、~all 引数の前にそのサーバーの IP アドレスを入力します。次の例に示すように、ip4:[アドレス] または ip6:[アドレス] の形式を使用してください。

v=spf1 ip4:172.16.254.1 include:_spf.google.com ~all

メールサーバーのドメインを追加するには、ドメインごとに include ステートメントを使用します。次に例を示します。

v=spf1 include:serverdomain.com include:_spf.google.com ~all

DNS ルックアップと SPF チェックの制限

SPF でサポートされる DNS ルックアップは最多 10 回です。ネストされたルックアップはこの制限にカウントされます。SPF レコードで 11 回以上ルックアップを行うと、11 番目からのメカニズムは無効として処理され、SPF チェックにはパスしません。

詳しくは、RFC 7208 の DNS ルックアップの制限についてのページをご覧ください。

以下の SPF レコードのメカニズムと修飾子は、ルックアップ制限にカウントされます。

  • a
  • exists
  • include
  • mx
  • ptr
  • require

以下のメカニズムと修飾子は、ルックアップ制限にはカウントされません。

  • exp
  • ip4
  • ip6

SPF レコードでのルックアップ回数を減らすには、次のような方法があります。

  • 不要な include ステートメントを使用しない。
  • 可能であれば、include の代わりに ip4 または ip6 メカニズムを使用する。
  • ptr メカニズムからは多くの DNS ルックアップが発生するため、使用しない。
  • 重複するメカニズム、または同じドメインに解決されるメカニズムを削除する。
  • アクティブに送信しているドメインのみを参照する。
  • ドメインのメールを送信しなくなったパートナーの SPF レコードへの include ステートメントを削除する。

Check MX アプリを使用すると、SPF レコードのルックアップ回数を確認できます。このアプリは G Suite ツールボックスに含まれています。

関連記事

SPF レコードに含める内容については、送信(SMTP)に使われる Google の IP アドレスの範囲をご覧ください。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。