Defaults.Exposed

Defaults.Exposed修正 › SPF(Sender Policy Framework)

SPF(Sender Policy Framework) の直し方

SPFとは、どのメールサービスがあなたの会社を名乗ってメールを送ってよいかを、ドメインの設定に記したものです。これがないと、世界中の誰でもあなたになりすましたメールを送れてしまい、しかもあなたが本当に送った正規のメールほど顧客の迷惑メールフォルダに振り分けられやすくなります。

あなたのビジネスにとっての結論: 誰でもあなたの会社になりすまして、顧客・社員・取引先に向けて請求書や振込先変更の依頼など、あらゆるメールを送れてしまいます。それと同時に、あなたが本当に送った見積書や請求書ほど迷惑メール扱いされやすくなり、気づかぬうちに商談が止まっていきます。

これで失いかねないもの

なぜ重要か。 メールの『差出人』を偽るのは攻撃者にとって極めて簡単で、コストもかかりません。SPFは、あなたのドメインをなりすましにくくし、正規のメールを迷惑メールから守る、最も安く・最も速い手段です。GoogleとYahooは今や認証されていないドメインからのメールを積極的に迷惑メール扱い・拒否するようになっており、これはもう任意ではなく、メールをそもそも届けるための最低条件です。

要点

今、SPFが正しく設定されていない限り、世界中の誰でもあなたの会社から来たように見えるメールを送れます。顧客に偽の請求書を、社員に偽の振込依頼を、取引先にあなたを装ったメールを送れてしまい、しかもそれが本物に見えるのです。あなたのドメインにそうでないと示すものが何もないからです。

SPF(Sender Policy Framework)はその解決策です。ドメインの設定に書かれた1行のテキストで、実際にあなたを名乗ってメールを送ってよいメールサービスを列挙します。受信側のメールプロバイダー(Gmail、Outlook、すべて)は、メールが本物かどうかを判断する前に、そのリストを照合します。リストがない、あるいは弱いと、判断材料が何もありません。

このページでは、両方とも正しくなければならない2つの点を扱います。SPFレコードがそもそも存在するか、そしてそれが役割を果たすほど厳格に設定されているかです。

これが招きうる損失

SPFレコードがない・弱いことが、信頼とお金が静かに流出する形に変わる、ありふれた現実のパターンです。当社は実在の企業名を挙げることはありません。これらはデータ全体に見られる傾向です。

これらすべてに共通する筋書きは、攻撃者は何も払わず、コストと非難はあなたの会社が背負うということです。

SPFの実体

メールが届くと、受信メールサーバーが知りたいことはひとつ。これは本当に名乗っている相手からのものか? SPFはこの問いの一部に答えます。

あなたはドメインのDNS設定に短いテキスト1行(『TXTレコード』)を公開し、あなたに代わって送信を許可されたメールサービスを名指しします。例えばこのように:

v=spf1 include:_spf.google.com include:sendgrid.net -all

平易に言えば、これは*『当社からの正規メールはGoogleのサーバーとSendGridのサーバーから来る。当社を名乗るそれ以外はすべて拒否せよ』*という意味です。

評点に関わる2つの点:

  1. レコードは存在するか? これが最重要です(単一のメール検査の中で最も重みがあります)。レコードがなければ受信側に照合するリストがなく、なりすましは野放しです。ここには微妙な失敗もあります。ドメインに2つ以上のSPFレコードがあると、ルール上はすべてが無効になり、存在しているように見えても実質的にSPFがまったくない状態になります。

  2. ポリシーは十分に厳格か? レコードが存在しても無力なことがあります。末尾の『all』メカニズムが受信側への指示です:

    • -all(ハードフェイル) — リストにないものをすべて拒否。最も強い。満点。
    • ~all(ソフトフェイル)+ DMARCをrejectに設定 — 最新の推奨構成。正規の転送メールがバウンスするリスクなく、ハードフェイルと同等の保護。満点。
    • ~all+ DMARCをquarantineに設定 — 許容範囲だがやや弱い。完全な保護にはDMARCをrejectへ。
    • ~all単独(DMARCの強制なし) — 弱い。『おそらく偽物だが、とにかく配信』という意味。なりすましメールが素通りします。守られていると思い込む多くの企業が陥る罠です。
    • ?all(ニュートラル) — 保護なし。
    • +all — 積極的に危険。誰でもあなたを名乗って送ってよいと世界に伝えます。決して使わないこと。

もうひとつ見えない失敗があります。SPFは評価時に最大10回のDNS参照しか許されません。include:を重ねすぎてこの上限を超えると、受信側は全体を壊れているとみなし、保護がない状態に戻ります。多数のマーケティングツールやSaaSを使う企業によくある、静かな問題です。

『良い』状態とは: SPFレコードが正確にひとつ、あなたを名乗って正規に送る全サービスを列挙し、-all(またはDMARCをp=rejectにした~all)で終わり、10回参照の上限に十分な余裕を持って収まっている状態です。

修正方法(無料・約10分)

ドメインやウェブサイトを管理している人に、この項を渡してください。修正は無料です。 これはDNS設定の変更であって、買う製品ではありません。当社が料金をいただくのは、それが正しい状態を保ち続けているかを監視する場合のみで、変更そのものには料金はかかりません。

ステップ1 — あなたを名乗って送る全サービスを列挙する。 ここを間違える人が多いのです。すべて書き出してください。メールボックスのプロバイダー(Google Workspace、Microsoft 365など)に加え、ニュースレターツール、CRM、ヘルプデスク、ECプラットフォーム、請求・会計アプリ、予約システムなど。あなたの名前でメールを送るサービスを忘れると、ポリシーを厳格化したときにそのメールがブロックされます。

ステップ2 — TXTレコードをひとつ公開する(ルートドメインに)。全送信元の『include』行を1つのレコードにまとめます。代表的なプラットフォーム別:

まとめたレコードはこのようになります:

v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:sendgrid.net -all

追加場所はプロバイダー別に:

ステップ3 — 安全に始め、その後強制する。 送信元リストが完全か確認する間は、~all(ソフトフェイル)で公開し、正規のメールが誤ってブロックされないようにします。正規メールがすべて流れていることを確認したら、-all(ハードフェイル)へ厳格化します。あるいはより良いのは、~allのままDMARCポリシーp=rejectを加える、推奨される最新の組み合わせです。

ステップ4 — レコードが必ず1つだけであることを確認する。 古いSPFレコードがすでにある場合は、2つ目を追加せず、その1つを編集します。v=spf1レコードが2つあると互いを打ち消し、無防備になります。

ステップ5 — 参照回数に注意する。 送信元が多いと、10回参照の上限を超えることがあります。その場合は統合します。『SPFフラットニング』を提供するプロバイダーもありますし、使っていない送信元を外しましょう。

ステップ6 — 再度ドメインをチェックし、レコードが存在し、ポリシーが厳格な状態で合格することを確認します。

よくある間違い

どこに位置づくか

SPFは土台ですが、3つの層のひとつです。DKIMはメッセージが改ざんされていないことを証明する暗号署名を加え、DMARCはSPFとDKIMを結びつけ、検査に失敗したメールを受信側が実際にどう扱うべきか(顧客が目にする『差出人』名のなりすましのブロックを含む)を指示します。まずSPFを正しくし(最も速い勝ちで、最も重みがある)、次にDKIMとDMARCを加えて完全に扉を閉じてください。3つの修正はすべて無料です。

ご利用のホストで設定する

主要な事業者向けのステップ別ガイド:

よくある質問

技術に詳しくありません。自分で対応できますか?

細かい仕組みを理解する必要はありません。変更はドメインの設定に1〜2行を追加するだけで、ウェブサイトやIT業者を管理している人が行えます。下の『修正方法』の項を渡してください。通常は数分で済み、無料です。当社が料金をいただくのは、それが正しい状態を保ち続けているかを継続監視する場合のみです。

すでにSPFレコードがあります。これで守られていますか?

必ずしもそうではありません。レコードがあるのは前半分で、後半分はそれが厳格に設定されているかです。『~all』(ソフトフェイル)で終わりDMARCが背後にないレコードは、受信サーバーに『偽物かもしれないが、とにかく配信せよ』と伝えるだけで、保護はごくわずかです。SPFレコードが2つあったり、参照(lookup)が多すぎたりすると、壊れているとみなされ、存在しているように見えても保護はまったくありません。両方が正しくなければなりません。

これを修正すると、自分のメールが届かなくなりませんか?

正規の送信元(例えばあなたの名前で送る請求書アプリやニュースレターツール)を見落とすと、その可能性はあります。だからこそ安全な手順は、まずあなたを名乗って送る全サービスを列挙し、ソフトな『~all』で公開して見落としがないか確認してから、ハードフェイルへ厳格化することです。この順序で行えば、何も壊れません。

『~all』と『-all』の違いは?どちらを使うべきですか?

『-all』(ハードフェイル)は、リストにないものをすべて拒否するよう受信側に指示する最も強い設定です。『~all』(ソフトフェイル)は『おそらく正規ではないが、とにかく受け取れ』という意味です。最新の推奨は、『~all』をDMARCの『reject』ポリシーと組み合わせることです。この組み合わせなら、転送メールがバウンスするリスクなく『-all』と同等の保護が得られます。DMARCで強制されない『~all』単独は、避けるべき弱い設定です。

SPFだけでメールのなりすましをすべて止められますか?

いいえ。SPFは不可欠な最初の層であって、答えのすべてではありません。SPFはどのサーバーが送ってよいかを示しますが、検査に失敗したときに受信側がどうすべきかは指示しませんし、利用者が目にする『差出人』名もカバーしません。なりすましを完全に封じるにはDKIMとDMARCも必要です。SPFは最も速く効果の高い最初の一歩なので、ここから始め、残り2つを加えてください。

効果が出るまでどれくらい?費用はかかりますか?

DNSの変更は通常、数分から数時間で反映されます。修正そのものは常に無料で、DNSプロバイダーの設定を編集するだけです。SPFレコードの追加に有料製品が必要だと言う人がいたら、それは間違いです。