未使用ドメインのなりすまし対策|SPF/DMARC設定例
目次
この記事でわかること
- 使っていないドメイン(パークドメイン)がなりすましに悪用される仕組み
- 未使用ドメイン専用の防御 3 点セット(SPF・DMARC・MX)の具体的な設定値
- 悪用されていないかを後から検知する方法と、運用上の注意点
「使っていないドメイン」が一番危ない理由
サイト運営者でも、ブランド保護や typosquatting(タイプミス類似ドメイン)対策で 複数のドメインを保有 しているケースは珍しくありません。
- メイン:
example.co.jp(実際に Web サイトとメールに使用) - 防御目的:
example.com、example.jp、example-corp.co.jpなど複数を取得して放置
ところが、こうした「取得して何もしていないドメイン」(パークドメイン)は、なりすましメールの送信元として最適な標的 になります。理由はシンプルで、メール認証(SPF/DKIM/DMARC)が何も設定されていない からです。
攻撃者は次の流れで悪用します。
- WHOIS や検索でブランド関連ドメインを発見
- SPF / DMARC が未設定であることを確認
- その未使用ドメインを送信元に偽装してフィッシングメールを送る
- 受信者は「example のドメインだから本物だろう」と誤認してリンクをクリック
実際にメールを使っていないドメインだからこそ、社員も顧客も「ここからメールは来ないはず」という油断 があり、被害が長期間気付かれない傾向があります。気付いた時には取引先が被害に遭っており、信用毀損につながるケースもあります。
メインドメインの守り方は類似ドメイン対策の基礎で扱っているため、本記事は 未使用ドメイン特化 で防御策を整理します。
なお、使わなくなったドメインを保有し続けず手放す場合の判断と手順は使わないドメインの放置リスクと正しい手放し方で扱っています。
防御 3 点セット ─ 「送信を一切認めない」宣言
未使用ドメインの守り方は、メインドメインとは設計思想が逆です。メインドメインでは「正規送信元を許可する」設定をしますが、未使用ドメインでは 「誰にも送信させない」「誰からも受け取らない」 という宣言を 3 つのレコードで明示します。
1. SPF: 送信元を一切認めない
example.com. TXT "v=spf1 -all"
-all だけを書く SPF レコードは「このドメインから送信される正当なメールは存在しない」という宣言です。include: も ip4: も書きません。受信側はこのドメインを送信元と詐称するメールを すべて SPF で fail と判定します。~all(softfail)ではなく必ず -all(hardfail)を使ってください。softfail だと受信側が一部許容してしまう可能性があります。
2. DMARC: 失敗したら拒否、レポートを受け取る
_dmarc.example.com. TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; aspf=s; adkim=s"
ポイントは次のとおりです。
p=reject─ 認証失敗メールは受信側で破棄rua=─ 集約レポート送付先(メインドメインのアドレスを指定する。未使用ドメインに受信機能はないため)aspf=s/adkim=s─ strict alignment、ドメインの完全一致を要求
なお、別ドメインの rua= を使うには受信側ドメインで承認 TXT が必要です。example.co.jp._report._dmarc.example.com TXT "v=DMARC1" を example.co.jp 側に設定します。これを忘れると、DMARC レポートが届かないか、送信側が rua の指定を無効化してしまう挙動を取ります。
DMARC レコードの各タグの詳細はDMARC レコードのタグ一覧を参照してください。
3. MX: メール受信も拒否(nullMX)
example.com. MX 0 .
MX 0 .(末尾はピリオド)は nullMX と呼ばれる RFC 7505 の仕様で、「このドメインはメールを受け取らない」という宣言です。誤って mailto: リンクをクリックされた場合や、攻撃者がバウンスメールを使った検証を試みた場合に、受信を即座に拒絶します。
DKIM は 何も設定しない(セレクタを発行しない)のが正解です。鍵を作らないことで、攻撃者が DKIM 署名付きメールを偽造する余地もなくなります。
完成形の DNS 設定例
example.com を未使用ドメインとして保護する場合の完成形をまとめます。
example.com. TXT "v=spf1 -all"
_dmarc.example.com. TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; aspf=s; adkim=s"
example.com. MX 0 .
*.example.com. TXT "v=spf1 -all"
_dmarc.*.example.com. TXT "v=DMARC1; p=reject"
ワイルドカードでサブドメインも同じ宣言にしておくと、mail.example.com のような任意サブドメインを使った詐称も封じられます。最後の _dmarc.* は環境によっては設定できない場合があるため、対応している DNS サービスでのみ追加してください。
設定を反映する前に、メイン側の example.co.jp 受信側で承認 TXT(example.co.jp._report._dmarc.example.com)を忘れずに登録します。設定後は dig example.com TXT などで反映確認すると安心です。
悪用検知と運用上の注意
DMARC レポートで悪用試行を観測する
防御 3 点セットを設定した直後から、未使用ドメインを詐称しようとした 試行を DMARC レポートで観測 できます。
rua=で指定したアドレスに、Gmail / Yahoo / Microsoft などから日次の集約レポートが届く- 「example.com を送信元とした認証失敗メールが N 件あった」と数値で把握できる
- 送信元 IP / 国 / ホスト名で攻撃元を特定できる
レポートの読み解きはDMARC レポートの読み方で詳しく解説しています。未使用ドメインで認証失敗が連続して観測される場合、ブランドが攻撃者に狙われている兆候 であり、メインドメインの監視も強化する必要があります。攻撃者は試行が通らないとわかると、別の類似ドメインや派生綴りを試すため、観測が継続的なブランド監視の出発点になります。
棚卸しと将来計画への配慮
設定後も次の 3 点を定期的に見直してください。
- 将来そのドメインを使う計画がある場合 は、メール送信開始前に
-allを外す手順を再設定するのを忘れないこと。古い設定を残したままメールを送ると、自分で出したメールがすべて DMARC reject されます - 取得しているドメイン一覧を社内で管理 し、防御未対応のドメインがないか年 1 回は棚卸しすること。新規取得ドメインが防御 3 点セット未適用のまま放置される事態を防げます
- レジストラの自動更新を有効にして ドメインの失効と乗っ取り を防ぐこと(更新失敗時の復旧はドメイン更新失敗からの復旧を参照)
特に M&A や事業統合で取得したドメインは管理から漏れやすく、攻撃者にとっての好機となるため要注意です。前任者しか知らないドメインが残ったまま会社に承継されているケースは、思っている以上に多く発生しています。
よくある失敗パターン
未使用ドメインの保護で陥りがちな失敗を 3 つ挙げておきます。
- SPF を
~all(softfail)で書いてしまう: 受信側が一部許容するため、防御として穴が空きます。必ず-allを使ってください - DMARC の
rua=を未使用ドメイン自身のアドレスにしてしまう: 受信機能がないので、せっかくのレポートが届きません。必ずメインドメインのアドレスを指定し、承認 TXT も忘れずに登録します p=noneのまま運用を続ける: 「とりあえず DMARC を入れたから安心」と勘違いするケースです。p=noneは観測モードでしかなく、なりすましメールの拒否は行われません。未使用ドメインなら最初からp=rejectで問題ありません
これらを踏まえて初期設定を 1 度しっかり済ませてしまえば、以降は年 1 回の棚卸しと DMARC レポートの定期確認だけで運用できます。
自社の状況を確認してみませんか
設定状況がわからない方は、無料のドメイン診断で現状をチェックできます。 DMARC・SPF・DKIM・SSL の状態が数十秒でレポートされます。 判断に迷う場合はお問い合わせからご相談ください。専門家がわかりやすくサポートいたします。