セキュリティを整える
中級メール認証(SPF/DKIM/DMARC)を整える。
= なりすましメールがどの検査で弾かれるかを受信サーバー視点で体験
メール認証 が初めての方は、先に そもそもメール認証とは・どんな場面で使うか をどうぞ。
シナリオを選ぶ
受信者に見えている名乗り: From: [email protected]
※ この「名乗り(ヘッダFrom)」は固定です。名乗りは自由に書ける——これこそがなりすまし問題の出発点です。
手動で条件を変える(プリセット選択後も個別に変更可)
envelopeDomain — SPFの検査対象ドメイン
hasSpfRecord — SPFレコードの有無
senderIpAllowed — 送信元IPは許可リスト内か
dkim — DKIM署名の状態
dkimDomain — DKIM署名ドメイン(d=)
※ 署名なしのときは判定対象外(disabled)
hasDmarcRecord — DMARCレコードの有無
policy — DMARCポリシー(p=)
※ DMARCレコードが無いときは判定対象外(disabled)
判定の流れ(SPF → DKIM → DMARC の順に点灯)
① SPF
② DKIM
③ DMARC
SPF レコード
「そのサーバーから送っていいの?」
見るもの: エンベロープFromのドメインのDNSに書かれた送信サーバー許可リスト(IP)
弱点: 転送で切れる。攻撃者も自分のドメインならpassにできる
DKIM レコード
「中身は本物のまま?」
見るもの: メールに付いた電子署名を署名ドメイン(d=)の公開鍵で検証
弱点: 署名が無いメールは判定できない。d=は名乗りと別ドメインでもよい
DMARC レコード
「その合格、画面に見える名乗り(ヘッダFrom)と一致してる?不合格ならどうする?」
見るもの: SPF/DKIMの結果×アライメント、そして p= ポリシー
これが要: SPF・DKIM単体では名乗りを守れない。束ねて初めてなりすまし対策になる
覚え方: SPF=差出局の確認 / DKIM=封蝋(改ざん検知) / DMARC=名乗りの照合と処分の指示
SPFレコード(Xserver系の実例形)
- v=spf1
- = これはSPFレコード宣言
- a:
- = このホスト名のAレコードのIPを許可
- mx
- = MXレコードのサーバーを許可
- include:
- = 別ドメインのSPFを取り込む(メールサービス利用時の定番)
- ~all
- = リスト外はソフトフェイル(怪しい扱い。-all=明確に拒否、?all=中立)
DMARCレコード
- p=
- = 不合格メールの処分(none=監視のみ/quarantine=迷惑行き/reject=拒否)
- rua=
- = 集計レポートの送り先(まずこれを眺めるのが運用の第一歩)
- adkim= / aspf=
- = アライメントの厳しさ(r=relaxed 組織ドメイン一致でOK / s=strict 完全一致)
- pct=
- = ポリシー適用率(段階導入用)
④ ポリシーの育て方
none → quarantine → reject。段階を踏んで育てる。
p=none
処分はせず、ruaレポートを数週間観察。まずは実態把握。
p=quarantine
正規メールが全部passしているのを確認してから移行。
p=reject
最後に拒否へ。pct=で段階適用もできる。
いきなり reject にすると、転送や設定漏れで正規メールまで落ちることがあります。定石は ①p=none で rua レポートを数週間観察 → ②正規メールが全部 pass しているのを確認して quarantine → ③最後に reject。pct= で段階適用もできます。
⚠ このシミュレーターについて
- 実際のDNS照会・暗号検証は行わない教育用モデルです。判定の考え方(組み合わせ論)を忠実に再現していますが、実際の受信サーバーは独自のスパム判定も併用するため、挙動は環境で異なります。
- アライメントの「組織ドメイン」判定は簡易版です(実際は Public Suffix List を使用)。
- 迷惑メールの送信に使える情報は含みません。ここで学べるのは「なぜ弾かれるか」=防御側の知識です。
- すべてブラウザの中だけで動きます(送信ゼロ)。
そもそも SPF・DKIM・DMARC とは
メールの「差出人は本物か」を、受信側が確かめるしくみ。
メールの差出人欄は、手紙の裏に書く差出人の名前のようなもので、誰でも好きに書けてしまいます。そこで受信側が本物かどうかを確かめる3つの仕組みが、SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting and Conformance)です。いずれも、ドメインの DNS に設定を書いて使います。
SPF は「このサーバーから送ってよい」という許可リストとの照合、DKIM はメールにつける署名の検証です。DMARC は、その結果が画面に見える差出人と合っているかを見て、合わないメールを受信箱・迷惑メール・拒否のどれにするかを、送る側の方針(none・quarantine・reject)で決めます。
どこで・どんな場面で出会うか
-
自社のメールが相手の迷惑メールに入ってしまうとき
認証の設定が足りないことが理由のひとつになることがあります。
-
メルマガ配信サービスや請求書の送信システムを使い始めるとき
自社名で送るサービスを足すたびに、そのサーバーを許可する設定が必要になります。
-
自社を名乗る偽のメールが、取引先に届いたと聞いたとき
自社ドメインが悪用されないよう、DMARC などの設定を見直す場面です。
-
取引先やクラウドサービスから設定を求められたとき
「SPF・DKIM・DMARC を設定してください」と案内され、まず意味を知りたい場面です。
-
情報システム担当になった、またはセキュリティの試験に向けて勉強するとき
なりすまし対策の基本として、3つの役割分担を整理しておくと役立ちます。
知らないと何が困るか
- 正規のメールが届かなくなっても、原因がわからない。相手の迷惑メールに入っていると、送った側からは見えにくい問題です。
- 自社の名前を使った偽メールを止められない。DMARC を設定していないと、受信側は「名乗りと一致しているか」を判断する基準を持てません。
- 担当者や業者の説明を、判断できない。3つの役割の違いを知っていれば、設定の相談もしやすくなります。
上のシミュレーターで攻撃のパターンを切り替えて、どの検査で止まるのか順に見てみてください。
このツールは、ネットワーク全体図のここ
- 自分の端末
- 家・会社の中
- 出入口
- 建物の外
- 相手のサーバー
- データセンター
- 見る・動かす
相手のサーバー側(サーバー)— メールの送り主が本物かを、DNS に置いた札で確かめる話です。
相手のサーバー側は、訪ねた先の会社の窓口のような場所です。OSI では第7層(アプリケーション)。
通信の旅の途中には出てきませんが、旅の全体を支える道具です。
このページに出てくる略語(6語)
- SPF (Sender Policy Framework) — 「このドメインのメールを出してよいサーバー」を DNS に書いておく仕組み
- DKIM (DomainKeys Identified Mail) — メールに電子署名を付け、送り主と中身を確かめる仕組み
- DMARC (Domain-based Message Authentication, Reporting and Conformance) — SPF・DKIM に通らないメールの扱いを、送り主が宣言する仕組み
- MX (Mail Exchange) — そのドメイン宛のメールの受け取り先を指す記録
- TXT (Text) — 文字列を置いておける記録。SPF などの札に使う
- SMTP (Simple Mail Transfer Protocol) — メールを送る・中継するための決まりごと
このツールについて
「SPF・DKIM・DMARCを設定しましょう」とはよく言われますが、3つがそれぞれ何を検査しているのかは意外と知られていません。このページでは、受信サーバーの気持ちになって1通のメールを判定します。攻撃側の条件を変えると、どの検査で・なぜ弾かれるかが順に見えます。すべてブラウザ内で完結、送信ゼロ。
SPF=どのサーバーから? DKIM=中身は本物? DMARC=名乗りと一致?不合格ならどうする? 3つの検査を受信サーバーの気持ちで体験。SPFがpassでもなりすましは弾けない理由(アライメント)が分かります。
🔰 かんたんに言うと
「銀行を名乗る偽メール」がなぜ届いたり弾かれたりするのか。メールの世界の本人確認3点セット(SPF・DKIM・DMARC)を、受信サーバーになったつもりで動かして学ぶページです。
主な機能
- なりすまし判定シミュレーター(5つの攻撃・配送シナリオ)
- SPF→DKIM→DMARCの判定が順に点灯し受信箱/迷惑/拒否へ振り分け
- アライメント(名乗りとの一致)の可視化——SPF pass でも弾かれる理由
- DMARC未設定だと素通りになる体験
- SPF/DMARCレコードの読み方辞書(a・mx・include・~all/p・rua・pct等)
- p=none→quarantine→reject の安全な育て方
- 送信ゼロ(すべてブラウザ内)
📖 このツールで使う用語
用語集トップへ →分からない用語があれば、クリックして解説をご覧ください。
よくある質問
Q. SPF・DKIM・DMARCは何が違うのですか?
A. 答えている質問が違います。SPFは「そのサーバー(IP)から送っていいか」を送信ドメインのDNSにある許可リストで確認します。DKIMは「中身が改ざんされていないか」を電子署名で検証します。DMARCは両者の結果を束ね、「その合格は画面に見える名乗り(ヘッダFrom)と一致しているか(アライメント)」を照合したうえで、不合格メールの処分(none/quarantine/reject)を受信サーバーに指示します。
Q. SPFを設定していれば、なりすましは防げますか?
A. 防げません。SPFが検査するのはエンベロープFrom(配送用の差出人)であって、受信者の画面に見えるヘッダFromではないからです。攻撃者は自分のドメインのSPFを正しく設定して合格させつつ、画面の名乗りだけあなたのドメインを書けます。この抜け道を塞ぐのが、名乗りとの一致(アライメント)を検査するDMARCです。
Q. DMARCの p=none には意味がありますか?
A. あります。p=none は「処分はしないが、認証結果のレポート(rua)を送信ドメインの管理者に送る」モードです。まず自分のドメインを名乗るメールがどこから送られているか(正規のメールサービス、想定外のシステム、攻撃)を観測し、正規メールがすべて合格するよう整えてから quarantine → reject に上げるのが安全な定石です。ただし p=none のままでは受信者は守られないので、通過点と考えてください。
Q. 転送すると認証はどうなりますか?
A. SPFは切れがちです。転送サーバーのIPは元ドメインの許可リストに無いからです。一方DKIMの署名は本文が書き換えられない限り転送後も検証できるため、DMARCは「DKIM×アライメント」の側で合格できます。SPFとDKIMの両方を設定すべき理由のひとつがこの転送耐性です(メーリングリストなど本文を書き換える転送では DKIM も切れることがあります)。
Q. 自分のドメインにDMARCを設定するには何をすればいいですか?
A. DNSに `_dmarc.あなたのドメイン` という名前のTXTレコードを1本追加します(例: `v=DMARC1; p=none; rua=mailto:[email protected]`)。前提としてSPF(TXTレコード)と、可能ならDKIM(メールサービス側で発行される公開鍵)を設定しておきます。メールを一切送らないドメインでも、なりすまし防止のため `v=spf1 -all` と `p=reject` を置くのが推奨です。
Q. このシミュレーターは実際のメールを送受信しますか?
A. いいえ。DNS照会も暗号検証も行わない、判定の考え方だけを再現した教育用モデルで、すべてブラウザ内で完結します(送信ゼロ)。また、なりすましメールの送信に使える具体的な手順・情報は含んでいません。学べるのは防御側の知識です。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。
続けて整える
このツールの解説記事
この内容は、研修でも扱っています
totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。