MailData

2024年版 「No SPF record found」の修正方法

2024年版 「No SPF record found」の修正方法

2024年4月5日
著者: Maitham Al Lawati
翻訳: 竹洞 陽一郎

この記事はPowerDMARCのブログ記事 How to Fix “No SPF record found” in 2024? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


「No SPF Record Found」というエラーは、ドメインのDNS設定にSPFレコードが存在しないことを意味します。
これを修正するには、DNSにSPFレコードを公開する必要があります。
このブログを読んでいるということは、次のようなメッセージのいずれかに遭遇したことがありますか?

これらのメッセージは異なる表現ですが、いずれも同じ意味を持っています。
つまり、ドメインがSPFメール認証標準で設定されていないことを示しています。

SPFレコードとは何か?

SPFレコードは、ドメインのDNSに公開されるDNS TXTレコードで、認証されたIPアドレスに基づいてメッセージを認証します。
SPFは「Sender Policy Framework」の略で、メール認証プロトコルです。
他の認証メカニズムと組み合わせることで、攻撃者がメールをなりすますのを防ぐために使用できます。

SPFはDNSレコードを利用して、送信サーバがドメイン名からメールを送信する権限を持っているかを検証します。
これは「経路ベース」の認証システムであり、メールが送信元のサーバから受信サーバまでたどる経路に関連しています。

なぜSPFレコードが見つからないのですか?

SPFレコードが見つからない主な理由は2つあります。

なぜSPFを設定する必要があるのか?

SPF(Sender Policy Framework)メール認証が必要だと言われたことがあるかもしれません。
しかし、本当にビジネスにとって必要なのでしょうか?
また、他にどのような利点があるのでしょうか?
この疑問は、企業や中小企業が自社の組織内で大規模なメール交換を行うようになると、理解されることが多いです。

SPFを使用すると、ドメイン名から送信されたメールが自分の許可によるものであるかどうかを確認できます。
SPFレコードが存在しない場合、ドメインは次のような形で悪用される可能性があります。

  1. 攻撃者があなたを装ってフィッシングメールを送信する
  2. 攻撃者があなたのドメインをより簡単になりすます
  3. あなたのドメインが大量のスパムメール送信に利用される
  4. GmailやYahooの受信トレイでメールがブロックされたり、スパムとしてマークされたりする

PowerDMARCの2024年版DMARC Adoption Reportでは、SPF構成が欠けているドメインが75%以上であることが強調されました。
これにより、組織はメールベースの脅威に対してますます脆弱になります。

SPF構文の解説

以下は、正しい構文を使用したダミードメインのSPFレコードの例です。


v=spf1 ip4:29.337.148 include:domain.com -all
SPFの構文
要素内容
v=spf1「v」フィールドはSPFプロトコルのバージョンを指定します。
ip4/ip6有効なIPv4(32ビット)およびIPv6(128ビット)のアドレスを指定し、ドメインの代理としてメールを送信する権限を与えます。
include受信サーバが指定されたドメインのSPFレコードの値を含める必要があることを示します。
-all

SPFレコードが-allで終わる場合、厳格なポリシーを示します。
これは、ドメイン所有者が、そのドメインからのすべてのメールはレコードに明示的に記載されたサーバからのみ送信されるべきだと主張していることを意味します。
レコードで許可されていない送信者から受信されたメールは、ハードフェイル(hardfail)と見なされます。
これにより、メールが拒否されたり、スパムフォルダに振り分けられたりする可能性があります。

SPFレコードが~allで終わる場合、より緩やかなポリシーを示します。
これは、ドメイン所有者がレコードに記載されたサーバからのメール送信を推奨しているが、厳密には強制しないことを意味します。
許可されていないサーバからメールが受信された場合、ソフトフェイル(softfail)と見なされます。
受信メールサーバがソフトフェイルに遭遇した場合、メールを即座に拒否することはありません。
代わりに、メールを潜在的に疑わしいものとしてマークする可能性があります。

「No SPF Record Found」エラーを修正する方法

「No SPF Record Found」エラーを回避するには、以下の手順を実行してください。

ステップ 1: SPFレコードの欠落を確認する
最初のステップは、「No SPF Record Found」エラーが存在するか確認することです。
PowerDMARCに無料で登録し、SPFチェッカーツールを使用してDNSを調べてください。 SPFチェッカーツール この例では、ドメインがSPF検索で「No records found」と返されました。
ステップ 2: SPFレコードを作成する
次に、DNS TXTレコードを作成してドメイン用にSPFを構成します。
当社のポータルにある無料のSPFレコードジェネレーターを使用すると、正しい構文で即座にレコードを作成できます。 SPFレコードジェネレーター
ステップ 3: SPF構文フィールドを設定する
  • ドメインのMXとしてリストされたサーバがメールを送信できるようにするか選択
  • ドメインの現在のIPアドレスがこのドメインのメール送信を許可するか選択
  • ドメインからメールを送信する権限を持つIPアドレスを入力
  • ドメインのメールを配信または中継する可能性のある他のサーバホスト名やドメインを追加
  • SPFポリシーモードまたは受信サーバの厳密性レベルを選択(Fail: 非準拠メールを拒否、Soft-fail: 非準拠メールを受け入れてマーク、Neutral: メールはおそらく受け入れられる)
  • 「Generate SPF Record」をクリックして、即座にレコードを作成
SPFの構文を生成する
ステップ 4: レコードをDNSに公開する
ドメインレジストラに連絡してDNS管理コンソールにアクセスします。
DNSレコードを編集してSPF用の新しいレコードを追加する必要があります。 DNSを公開する
ステップ 5: SPFの実装を確認する
最後に、同じSPFチェッカーツールを使用して、公開されたSPFレコードを調べて検証します。 SPFを検証する

「No valid SPF record found」/「No valid SPF record」

「No valid SPF record found」/「No valid SPF record」

「No SPF record found」エラーに類似したバリエーションとして、「No valid SPF record found」というエラーがあります。
このエラーは、DNSにSPFレコードが存在していても、そのレコードが有効でないことを意味します。
これは構文エラーや、冗長または無効なメカニズムが原因で発生する可能性があります。

この解決策には以下のようなものがあります。

SPFレコードが有効であるかを確認する方法

SPFレコードの有効性を確認するには、オンライン検証ツールを使用してDNSレコードを検索する必要があります。
PowerDMARCのSPFチェッカーツールと同様です。
「Valid」ステータスに緑色のチェックマークが表示されれば、SPF DNSレコードが有効であることを示します。

有効なSPFレコードを追加する方法

正しいSPFレコードを追加するには、手動で行うのではなく、PowerDMARCのような自動レコード生成ツールを使用します。
これにより、構文エラーの可能性を減らせます。
また、有効なレコードを設定する際には以下の点に注意してください。

SPFレコードを公開するだけで十分ですか?

答えは「いいえ」です。
SPFだけではブランドがなりすましから保護されることはありません。
ドメインの直接なりすまし、フィッシング攻撃、BEC(Business Email Compromise)に対して最適な保護を得るには、DKIMやDMARCも構成する必要があります。

さらに、SPFにはDNSルックアップ10回までの制限があります。
この制限を超えると、SPFが無効になり、正当なメールでも認証に失敗します。
そのため、PowerDMARCのホスト型SPFソリューションを使用することで、この制限を守り、メールプロバイダによる変更にも対応できます。

このブログが問題解決の助けとなり、「No SPF record found」エラーに悩むことがなくなることを願っています。
無料DMARCトライアルに登録して、メール配信率とセキュリティを向上させましょう!

コンテンツのレビューおよび事実確認プロセス

この記事は、15年以上の業界経験を持つサイバーセキュリティ専門家によって執筆されました。
提示した解決策は、現実の実践的な戦略に基づいており、これらの戦略を通じてクライアントがこのようなエラーを解決するのを支援してきました。
過去にクライアントに役立ったように、この記事があなたの助けとなることを心より願っています!