Defaults.Exposed › 修正 › SPF(Sender Policy Framework)
SPF(Sender Policy Framework) の直し方
SPFとは、どのメールサービスがあなたの会社を名乗ってメールを送ってよいかを、ドメインの設定に記したものです。これがないと、世界中の誰でもあなたになりすましたメールを送れてしまい、しかもあなたが本当に送った正規のメールほど顧客の迷惑メールフォルダに振り分けられやすくなります。
あなたのビジネスにとっての結論: 誰でもあなたの会社になりすまして、顧客・社員・取引先に向けて請求書や振込先変更の依頼など、あらゆるメールを送れてしまいます。それと同時に、あなたが本当に送った見積書や請求書ほど迷惑メール扱いされやすくなり、気づかぬうちに商談が止まっていきます。
これで失いかねないもの
- 詐欺師があなたの顧客に『あなたからの請求書』を送り、自分の口座番号で支払わせます。発覚するのは数週間後、顧客から『商品はまだか』と問い合わせがあったとき。そのときには、あなたの信用も、場合によっては賠償責任も問われています。
- 大手プロバイダーが本当にあなたからのメールだと確認できないため、見積書・請求書・返信が静かに顧客の迷惑メールフォルダへ落ちていきます。商談は冷め、理由もわからないまま失注します。
- 詐欺師が経営者や経理担当になりすまし、社員に『至急の振込』やギフトカードの購入を依頼します。メールは本当にあなたのドメインから来たように見えるため、誰かが支払ってしまいます。
- 大口の見込み客のIT部門やセキュリティ審査があなたのドメインを調べ、送信者保護がないことを確認します。そのまま取引を見送られるか、契約前に修正を求められ、商談を失うか数週間の遅延を招きます。
- SPFレコードが存在するから守られていると思い込んでいても、実際は『ソフトフェイル』のままで何も強制されていなかったり、静かに壊れていたりして、なりすましメールが素通りしている場合があります。
なぜ重要か。 メールの『差出人』を偽るのは攻撃者にとって極めて簡単で、コストもかかりません。SPFは、あなたのドメインをなりすましにくくし、正規のメールを迷惑メールから守る、最も安く・最も速い手段です。GoogleとYahooは今や認証されていないドメインからのメールを積極的に迷惑メール扱い・拒否するようになっており、これはもう任意ではなく、メールをそもそも届けるための最低条件です。
要点
今、SPFが正しく設定されていない限り、世界中の誰でもあなたの会社から来たように見えるメールを送れます。顧客に偽の請求書を、社員に偽の振込依頼を、取引先にあなたを装ったメールを送れてしまい、しかもそれが本物に見えるのです。あなたのドメインにそうでないと示すものが何もないからです。
SPF(Sender Policy Framework)はその解決策です。ドメインの設定に書かれた1行のテキストで、実際にあなたを名乗ってメールを送ってよいメールサービスを列挙します。受信側のメールプロバイダー(Gmail、Outlook、すべて)は、メールが本物かどうかを判断する前に、そのリストを照合します。リストがない、あるいは弱いと、判断材料が何もありません。
このページでは、両方とも正しくなければならない2つの点を扱います。SPFレコードがそもそも存在するか、そしてそれが役割を果たすほど厳格に設定されているかです。
これが招きうる損失
SPFレコードがない・弱いことが、信頼とお金が静かに流出する形に変わる、ありふれた現実のパターンです。当社は実在の企業名を挙げることはありません。これらはデータ全体に見られる傾向です。
- 請求書のすり替え。 犯罪者があなたの顧客に、あなたから来たそっくりのメールを送り、自分の口座番号を記した本物そっくりの請求書を添付します。顧客はそれを支払います。あなたが最初に知るのは『注文品はどこか』という催促です。怒った顧客、犯罪者へ渡った支払い、そして損失を誰が負担するのかという厳しい話し合いが残ります。
- CEO/経理詐欺。 経営者を装って経理担当に『ちょっと頼みがある。今日中にこの支払いを通せるか?』とメールが届きます。本当にあなたのドメインから来たように見えるため、誰の警戒心も働きません。お金が会社の外へ出ていきます。
- 見えない配信税。 GmailやYahooが本当にあなたからのメールだと確認できないため、見積書や請求書が顧客の迷惑メールフォルダに落ち始めます。バウンスもエラーも来ず、商談がただ静かになる。気づくこともできないまま、ビジネスを失っています。
- 失われた契約。 大口顧客の調達・セキュリティチームが、導入の一環としてあなたのドメインを基本チェックします。送信者認証がないのを見て、リスクと判定します。良くて締切に追われて慌てて修正、最悪の場合、チェックを通過した競合に持っていかれます。
- ブランドを汚す波。 あなたのドメインが一般向けのフィッシングに使われます。被害に遭った人々は、あなたの名前のついたすべてのメールを疑うようになり、正規のキャンペーンや更新案内まで無視・報告されます。
これらすべてに共通する筋書きは、攻撃者は何も払わず、コストと非難はあなたの会社が背負うということです。
SPFの実体
メールが届くと、受信メールサーバーが知りたいことはひとつ。これは本当に名乗っている相手からのものか? SPFはこの問いの一部に答えます。
あなたはドメインのDNS設定に短いテキスト1行(『TXTレコード』)を公開し、あなたに代わって送信を許可されたメールサービスを名指しします。例えばこのように:
v=spf1 include:_spf.google.com include:sendgrid.net -all
平易に言えば、これは*『当社からの正規メールはGoogleのサーバーとSendGridのサーバーから来る。当社を名乗るそれ以外はすべて拒否せよ』*という意味です。
評点に関わる2つの点:
-
レコードは存在するか? これが最重要です(単一のメール検査の中で最も重みがあります)。レコードがなければ受信側に照合するリストがなく、なりすましは野放しです。ここには微妙な失敗もあります。ドメインに2つ以上のSPFレコードがあると、ルール上はすべてが無効になり、存在しているように見えても実質的にSPFがまったくない状態になります。
-
ポリシーは十分に厳格か? レコードが存在しても無力なことがあります。末尾の『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つのレコードにまとめます。代表的なプラットフォーム別:
- Google Workspace:
include:_spf.google.com - Microsoft 365:
include:spf.protection.outlook.com - SendGrid:
include:sendgrid.net - Mailchimp:
include:servers.mcsv.net - Zoho:
include:zoho.eu(または地域に合ったドメイン)
まとめたレコードはこのようになります:
v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:sendgrid.net -all
追加場所はプロバイダー別に:
- Cloudflare: DNS → Records → Add record → Type
TXT、Name@、Content に上の値。 - Microsoft 365 / Google 管理者: 設定ウィザードに使うべき正確なinclude文字列が表示されるので、それをDNSホストのTXTレコードにコピーします。
- GoDaddy / Blacknight / ほとんどのホスト: DNS management → Add →
TXT、Host/Name@、Value にレコード。
ステップ3 — 安全に始め、その後強制する。 送信元リストが完全か確認する間は、~all(ソフトフェイル)で公開し、正規のメールが誤ってブロックされないようにします。正規メールがすべて流れていることを確認したら、-all(ハードフェイル)へ厳格化します。あるいはより良いのは、~allのままDMARCポリシーp=rejectを加える、推奨される最新の組み合わせです。
ステップ4 — レコードが必ず1つだけであることを確認する。 古いSPFレコードがすでにある場合は、2つ目を追加せず、その1つを編集します。v=spf1レコードが2つあると互いを打ち消し、無防備になります。
ステップ5 — 参照回数に注意する。 送信元が多いと、10回参照の上限を超えることがあります。その場合は統合します。『SPFフラットニング』を提供するプロバイダーもありますし、使っていない送信元を外しましょう。
ステップ6 — 再度ドメインをチェックし、レコードが存在し、ポリシーが厳格な状態で合格することを確認します。
よくある間違い
- SPFレコードが2つ。 最もよくある静かな失敗です。既存を編集せず新しいレコードを追加すると、両方が無効になります。必ず1つだけにします。
~allで止めて完了したと思い込む。 DMARCが背後にないソフトフェイルは弱い中途半端で、設定されているように見えてほとんど守りません。-allにするか、~allをDMARCp=rejectと組み合わせましょう。- 送信元の見落とし。 請求書アプリ・CRM・ニュースレターツールを列挙する前に
-allへ厳格化すると、自分の正規メールがブロックされ始めます。まずすべて列挙すること。 - 10回参照の上限超過。
include:はさらに参照を連鎖させます。多すぎるとレコードは壊れているとみなされます。簡潔に保ちましょう。 +allの使用。 これはインターネット全体にあなたを名乗る権限を明示的に与えます。レコードがない状態より悪い。決して公開しないこと。
どこに位置づくか
SPFは土台ですが、3つの層のひとつです。DKIMはメッセージが改ざんされていないことを証明する暗号署名を加え、DMARCはSPFとDKIMを結びつけ、検査に失敗したメールを受信側が実際にどう扱うべきか(顧客が目にする『差出人』名のなりすましのブロックを含む)を指示します。まずSPFを正しくし(最も速い勝ちで、最も重みがある)、次にDKIMとDMARCを加えて完全に扉を閉じてください。3つの修正はすべて無料です。
ご利用のホストで設定する
主要な事業者向けのステップ別ガイド:
- GoDaddy で SPF を設定する
- Namecheap で SPF を設定する
- Cloudflare で SPF を設定する
- Google Workspace で SPF を設定する
- Microsoft 365 で SPF を設定する
- Squarespace で SPF を設定する
- Wix で SPF を設定する
- AWS Route 53 で SPF を設定する
- Hostinger で SPF を設定する
- Porkbun で SPF を設定する
- IONOS で SPF を設定する
- Bluehost で SPF を設定する
よくある質問
技術に詳しくありません。自分で対応できますか?
細かい仕組みを理解する必要はありません。変更はドメインの設定に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レコードの追加に有料製品が必要だと言う人がいたら、それは間違いです。