SPFレコードとは?なりすましを防ぐ仕組みや設定方法【優しく解説】

【優しく解説】SPFレコードとは?なりすましを防ぐ仕組みや設定方法 のアイキャッチ画像

近年ではなりすましメールによる犯罪が世界中で問題になっています。メルマガなどを配信する場合、受信側のサーバーによって「なりすましメール」と判断されてしまい、迷惑メールフォルダに振り分けられてしまったり、メールがそもそも届かないケースがあります。

そのような場合の対処法のひとつに挙げられるのが「SPFレコードの設定」です。

なりすましメールの手口は複雑化しており被害にあわれる方が後を絶ちません。SPFは、なりすましメールを防ぐための代表的な対策の1つです。SPFやDKIMなどのメール認証技術はメールの安全性を高めるため欠かせないものとなりました。

しかし、SPFレコードの設定はやや難しい印象が強く、二の足を踏んでいる方は多いかもしれません。

そこで今回は、SPFレコードとはどのようなものなのかを解説します。また、なりすましを防ぐ仕組みや設定方法などもまとめていますので、ぜひ参考にしてみてください。

2023年10月、Gmailのメール送信者ガイドラインがアップデートされました。
https://support.google.com/mail/answer/81126

このガイドラインでは2024年2月以降、Gmailアカウントに1日あたり5,000件を超えるメールを送信する送信者は、送信ドメインにSPFレコード・DKIM署名・DMARCメール認証の設定が必要などの記載があります。

送信したGmailが届かないとお悩みの場合は以下の記事を参考にしてください。

関連記事:【解決策】2024年2月よりGmailガイドラインが変更!1日5000件以上の配信は対応必須!

Gmailガイドライン対応バナー
目次

SPFレコードとは

SPFとは「Sender Policy Framework」の略語で、メールの送信元ドメインが詐称されていないかを検証するための技術です。SPFレコードは、その認証情報を指します。SPFレコードを送信用ドメインに登録することにより、正規のメールであることの証明をするのです。

SPFは、ドメインを管理するシステムであるDNSに対して「SPFレコード」と呼ばれる情報を登録することによって、メールの送信元が正当なサーバーであることを示します。SPFレコードを設定していない場合、相手方のメールサーバーに迷惑メールと誤認される危険もあるため、正しいSPFレコードを設定し正常にメールが届く環境を整えることが重要となります。

反対に、SPFレコードに記載されている内容と、送信メールに記載された情報に異なる点があれば、なりすましメールである可能性が高いと判断されます。

SPFレコードの役割

SPFレコードは、電子メールのセキュリティを強化するための仕組みの一つで、ドメイン所有者がそのドメインからの正当なメール送信者を認証するのに役立ちます。

SPFレコードをもとに、DNS(Domain Name System)サーバーがIPアドレスとドメインを比較し認証するシステムです。ここで認証されれば、送ったメールが正規のサーバーから送られたものだという証明になります。具体的には以下のような役割を果たします。

  • スプーフィング防止
    スプーフィングとは、不正な送信者が正当なドメインから送信されたかのようにメールを偽装する行為です。SPFレコードにより、受信メールサーバは送信メールサーバがドメインのSPFレコードに記載されたサーバの一つであるかを確認し、偽装されたメールをフィルタリングすることができます。
  • メール送信元の検証
    SPFレコードによって、メール送信元のIPアドレスがドメインのSPFレコードに登録されているかどうかを検証します。これにより、受信サーバはメールが正当な送信元から来たものかどうかを確認できます。
  • メール配信性の向上
    SPFレコードを設定することで、メールがスパムフィルタに引っかかりにくくなり、正当なメールが受信者に確実に届くようになります。SPFレコードがあると、受信側メールサーバはそのメールが正規の送信源から来たものとして扱うため、配信される確率が上がります。
  • 信頼性の向上
    SPFレコードを使用することで、ドメインの信頼性を高め、フィッシング詐欺やその他のメールベースの攻撃から保護することができます。ドメインから送信されるすべてのメールが正当なものであることを示すことができます。

設定はDNSのTXTレコードとして行い、どのIPアドレスやサーバがメールを送信する権限を持つかを指定します。SPFレコードはメールの偽装を防ぐだけでなく、ドメインの評判を守り、受信者に安全なメール通信を提供するのに重要です。

SPFレコードの仕組み

送信する側のSPFレコードを、使用するドメインのDNSサーバーにあらかじめ登録しておきます。

メールは、送信すると送信側のサーバーを通して、受信側のサーバーに送られる構図です。この間、受信側のサーバーはDNSサーバーに対し、送信者のSPFレコードを確認します。受信側のサーバーがIPアドレスと問い合わせ結果のSPFレコード内容に不一致がないか照合し、一致したメールが受信者に届く仕組みです。

 DNSサーバーにSPFレコード登録されていなかったり間違った設定をしたりしていると、送信したメールがなりすましメールとして扱われることになりかねません。不備のないSPFレコード設定が大切です。

SPFレコードによってなりすましを防ぐ仕組み

SPFレコードはメールを送信する際、送信元サーバーとDNS上のIPアドレスを比較します。この比較を通じて、メールが適切なサーバーから送信されたものかどうかを確認することが可能です。

SPFレコードがなりすましを防ぐ仕組みは次のようになっています。

  • メール送信者が、自分のドメインにSPFレコードを登録。SPFレコードは、TXTレコードという形式でDNSサーバーに保存される
  • メール送信者は、自分のドメインを送信元としてメールを送信。メールには、エンベロープFromという送信元アドレスが含まれる
  • メール受信者が、メールを受け取る。受信側のメールサーバーは、エンベロープFromに記載されたドメインのSPFレコードをDNSサーバーから取得
  • メール受信者がSPFレコードに記載された情報と、メールを送信したメールサーバーの情報(IPアドレスなど)を比較。一致しない場合は、なりすましメールであると判断し、迷惑メールフォルダに振り分けたり拒否したりする

SPFレコード設定の必要性とは?

SPFレコードを設定することにはさまざまなメリットがあります。ここではSPFレコードを設定する必要性について解説します。

セキュリティ強化につながる

SPFレコードを設定することで、セキュリティ強化につながるのは大きなメリットです。

メール認証が行われない場合、送信側、受信側の両方がフィッシングやなりすまし、スパムメールなどのリスクに晒されます。SPFレコードは、送信者アドレスの偽造を検出し、不正なメールをブロックすることが可能です。

メール到達率が向上する

送信したメールが受信側に届きやすくなることも、SPFレコードを設定するメリットです。

SPFレコードを公開していないドメインは、送ったメールがエラーで弾かれたり、スパムとみなされたりする場合があります。SPFレコードは、受信者側のサーバーに正規の送信者であることを証明し、メールの配信性を高める点が特徴です。

自社ドメインの評価が高くなる

SPFレコードを設定して、メールの配信性やセキュリティを向上させることによって、自社ドメインの評価が高くなる効果も期待できます。メールの送信元が正規であることを示すことで、自社のブランドや信頼性を高め、顧客との関係を強化することが可能です。

DMARCを遵守できる

DMARC(Domain-based Message Authentication Reporting and Conformance)とは、許可を得たユーザーだけがメールを送るようにする検証システムです。DMARCを利用するには、SPFレコードとDKIMレコードが求められます。

DMARCを導入することで、メールの送信者は認証に失敗したメールの処理方法を指定したり、認証結果のレポートを受け取ったりすることが可能です。またメールの受信者は、送信者が指定したポリシーに従って、正規のメールとなりすましメールを区別できるようになります。

SPFレコードの設定方法

それでは早速、SPFレコードの設定を進めていきましょう。ここでは、SPFレコードが設定されているかどうかを確認する方法や、設定方法などを解説します。

既に設定されているかを確認する

SPFレコードが既に設定されているかどうかは、以下の方法で確認することが可能です。

  • 「DNSルックアップツール」や「SPFチェッカー」などのWebツールを利用する
  • コマンドプロンプトやターミナルで「nslookup -type=txt ドメイン名」と入力する

コマンドを使用する場合、Windowsの場合はコマンドプロンプトを開いて「nslookup -type=txt ドメイン名」と入力し、Macの場合はターミナルを開いて「dig txt ドメイン名」と入力しましょう。

表示された結果の中に ”v=spf1……” といった記述があれば、SPFレコードは既に設定された状態です。

コマンドプロンプトを起動する方法
[Windows] + [R] キーを押し、「ファイル名を指定して実行」のダイアログを表示させてください。名前の部分に「cmd」と入力し [OK] ボタンを押せば、コマンドプロンプトが起動します。

DNSサーバーにてSPFレコードを設定する方法

SPFレコードを記述する場合は、ドメインを管理するDNSサーバーにTXTレコードとして登録することが一般的です。SPFレコードの設定や変更は、DNSサーバーの管理画面から行えます。

DNSサーバーの管理画面にログインし、TXTエントリにSPFレコードを追加または編集します。

なお、SPFレコードの設定や変更が反映されるまでには時間がかかる場合もあります。メール送信の直前に行うのではなく、前もって設定を進めておきましょう。

SPFレコードの記述方法

SPFレコードは、DNSにTXTエントリとして登録されます。SPFレコードには一般的に以下の要素が含まれます。

  • バージョン番号
    SPFレコードのバージョンを示す。原則として、「v=spf1」と記述
  • 機構
    送信元サーバーの情報を示す。例えば「a」はドメイン名、「ip4」や「ip6」はIPアドレス、「include」は他のドメインを参照することを意味する
  • 限定子
    機構によって照合が確認できたとき、どのような処理を行うかを示す。例えば「+」は正常なメール、「-」は不正なメール、「~」は不正なメールだが配信されることを示す
  • 修飾子
    SPFレコードにより詳細な情報を示す。例えば「redirect」は他のドメインに同一の送信を行うことを意味する

SPFレコードを記述する方法は、以下のとおりです。

「ドメイン IN TXT 【バージョン番号】【限定子】【機構】【IPアドレス】」

例えば、example.jpのIPアドレスが「192.168.100.3」である場合、SPFレコードは以下のように記述します。

「example.jp. IN TXT “v=spf1 ip4:192.168.100.3 ~all”」

この場合、IPアドレスが「192.168.100.3」に一致するメールサーバーから送信されたメールだけを認証することが可能です。

SPFレコードが複数の場合の書き方

2つ以上のSPFレコードがある場合には、行を分けずに1行にまとめて書くことでエラーが起こりにくくなります。2つのIPアドレス「192.168.16.0.1」と「192.168.16.0.2」を指定したい場合の記載例は以下の通りです。

example.jp IN TXT "v=spf1 +ip4:192.168.16.0.1 ~all""v=spf1 +ip4:192.168.16.0.2 ~all"

このように「+」限定子でつなげ1行で記載します。

SPFレコードの構成要素

SPFレコードは上述したように「バージョン情報」「機構」「限定子」「修飾子」の4つの構成で成り立っています。ここからは、それぞれの構成要素について、詳しく確認していきましょう。

バージョン番号

SPFのバージョンを表す部分ですが、基本「v=spf1」と記述します。

ここで注意が必要なのは「v=spf1.0」などのように同じ意味を表す情報であっても、記載方法が異なるとエラーになることです。設定は、一文字の間違いもなく記載するよう気をつけましょう。

機構

機構は、送信元サーバーの情報を記述する部分です。主な機構は、以下の通りです。

機構意味
aa機構はドメイン名を証明する。ドメインのAレコードもしくはAAAAレコードで送信元のIPアドレスが一致すれば認証される。
include  include機構はドメイン名を証明する。include先ドメインのSPFレコードが許可されれば認証される。
mxmx機構はドメイン名を指定する。ドメインのMXレコードで送信元のIPアドレスが一致すれば認証される。
allall機構は常に認証を許可するという意味をもつ。通常、SPFレコードの末尾に記載される。
ip4、ip6ip4機構、ip6機構はIPアドレスを証明する。送信元サーバーのIPアドレスが指定されたIPアドレスに含まれる場合に認証される。

限定子

限定子は、SPFレコード内の機構に対してどのように照合処理をするかを受信メール側に定義するものです。省略することも可能な接頭語になります。

主な限定子は、以下の通りです。

限定子意味説明
Passドメインを正常なメールと認識する。メールは受信される。
HardFailドメインが認証されない。メールは拒否される。
~SoftFailドメインは認証されないが、認証情報は公開されメールは配信される。
?Neutral認証情報を公開されず、どのように処理するかは自由になる。

修飾子

修飾子を使用すると、SPFを拡張することができるようになります。指定できるのは2つまでです。より、詳細な情報を示すもので、レコードの最後に記載することになっています。

主な修飾子は、以下の通りです。

修飾子意味
redirect複数のドメインに対して1つのSPF定義を共有する。
exp認証が失敗した場合に、その説明や理由をドメインに送信する。
ブラストメールのバナー

メルマガ配信はSPFとDKIMが設定できるメール配信システムを使う

メール配信システムを活用する場合は、メール自体はシステムを保有している会社のサーバーから配信されることとなります。

そのため、メルマガ配信などメールの一斉配信を行う際はSPFが設定できるメール配信システムを使うことが重要です。

メール配信システムとは

改めて、メール配信システムとは大量のメールアドレス宛に一斉にメールを配信できるシステムのことです。

メールの大量配信は一般的にスパムメールに似た行為のため、迷惑メールフォルダに入ってしまったり、文字通りメールが届かない可能性があります。

メール配信システムにはこれらを回避するための技術が使われており、安心安全に大量のメールを届けることができます。その特性から、メルマガ配信や社内向けの一斉メール等に活用されています。

DKIM署名とは

DKIMとはDomainKeys Identified Mailのことで、正しい発行元メールサーバから送信された、改ざんされていないメールであると証明する電子署名方式の送信ドメイン認証技術のことを言います。

SPFだけでなく、DKIM署名も設定することでより送信メールの信頼度を上げることができるため、迷惑メールになる確率を低くすることができます。

企業がメルマガ配信をする場合は、SPFだけでなくDKIM署名も設定できるメール配信システムを選択するとよいでしょう。

シェア1位のメール配信システム「ブラストメール」の活用

ブラストメールのアイキャッチ画像

最もおすすめのメール配信システムはブラストメールですブラストメールは13年連続顧客導入シェア1位のメール配信システムとなります。

ブラストメールの特徴は、シンプルな操作性と、コストパフォーマンスの高さです。様々な業種や官公庁の導入もあり、定番のメール配信システムと言えるでしょう。

SPF・DKIM署名の設定はもちろん、セグメント(ターゲット)配信や効果測定、HTMLメールエディタなど、基本的な機能は全て揃っており、最も安いプランであれば月額4,000円以下で導入できます。(DKIM署名はstandardプラン以上)

シンプルかつ安いので、初めてメール配信システムを使ってみたい方にもおすすめです。無料トライアルも可能となっているので、まずは試してみてはいかがでしょうか。

関連記事:【3分で分かる!】ブラストメールとは?ブラストメールのトライアル期間を使って徹底レビュー

API連携・SMTPリレーサービス「ブラストエンジン(blastengine)」の活用

blastengineのアイキャッチ画像

ブラストエンジン(blastengine)は簡単にメールの大規模高速配信が可能なSMTPリレーサーバーを提供していますが、同時にメールサーバーを必要としない、APIでのメール送信の仕組みも提供しています。

サーバーの運用やメンテナンスはblastengineで行うため、常に高いIPレピュテーションを保って安全にメールを送ることができます。

以下のような課題がある場合はブラストエンジンの利用を検討するとよいでしょう。

  • 自社のIPアドレスやドメインがブラックリストに登録されてメールが届かない
  • 国内キャリアへのメールが届かず対応方法もわからない
  • 自社でメールサーバを管理・運用したくない

また、導入社数22,000社、13年連続顧客導入数No.1の姉妹製品blastmailの技術力で構築した配信基盤で、各メールプロバイダ、携帯キャリアドメインへの最適化と大規模ネットワークを経由してメール配信を行い、日本国内への圧倒的な到達率を実現しています。

それでいて、月額3,000円から利用ができるためコストパフォーマンスも高く、メールだけでなく日本語での電話サポートにも対応しています。

メールアドレスの入力のみですぐにトライアルを始めることができますので、是非試してみてください。

関連記事:blastengine(ブラストエンジン)とは?API・SMTP特化のエンジニア向けメール配信サービスを解説

メール送信サービスを利用する場合のSPFレコードの書き方

ご紹介したようなメール送信サービスを利用し、メールマーケティングに役立てている企業なども多いのではないでしょうか。メール作成や、送信、セキュリティチェックまで可能な大変便利なサービスです。

大量のメールを円滑に送るため、サービス業者のサーバーを利用し配信されます。そのため、普段とは違うサーバーから送信されることをSPFレコードに記載する必要があるのです。

この場合「include」機構の後にメール送信サービスのドメインを記載します。

SPFレコードを確認する方法

ここからは、正しくSPFレコードが設定されているか確認する方法について紹介します。

使用しているOSごとのSPFレコードの確認方法は次の通りです。

OS確認方法
Windowsコマンドプロンプトを開いてから「nslookup -type=TXT (調べたいドメインを記載)」を入力して実行する
Macターミナルを開き、「dig txt (調べたいドメインを記載)」を入力して実行する

こちらの確認方法は、専門知識も必要とされるので少し難しく感じる方もいるでしょう。

そこで、SPFレコードの設定を簡単に確認できるツールの利用もおすすめです。世界中にSPFのチェックツールとして機能するサイトはたくさんありますが、使いやすい日本語のサイトを2つ紹介します。

SKYSNAG

POWERDRAMARCS

まとめ

SPFレコードは、メールの送信元を偽装から守り、セキュリティを向上させる重要な仕組みです。本記事では、SPFレコードの基本から設定方法まで詳しく解説しました。

SPFは、DNSに登録される情報で、メール送信元の正当性を検証します。SPFレコードは、送信できるサーバー情報を指定し、なりすましを防ぐ役割を果たすのが特徴です。

SPFレコードの設定には多くのメリットがあります。セキュリティを向上させ、メールの到達率を高め、自社ドメインの評価を向上させ、DMARCを遵守するためにも重要です。

設定方法は、DNSサーバーでTXTレコードとして登録することが一般的です。バージョン番号、機構、限定子、修飾子を適切に記述し、SPFレコードを設定します。設定後は必ず正しく機能しているかを確認しましょう。

SPFレコードの設定は、メールの信頼性とセキュリティを高め、なりすましメールから保護するために不可欠です。しっかりと設定し、安全なメール環境を構築しましょう。

Gmailガイドライン対応バナー
  • URLをコピーしました!

この記事を書いた人

Email Rising編集部です。Email Risingではメール配信システムやメールマーケティングについてのお役立ち情報を発信しています

目次