ドメイン管理者が **まず最初に** 実施するなりすましメール対策(DMARC、SPF、DKIM)


本記事は Security Advent Calendar 2017の9日目の記事です。

背景・概要

メールはかつてインターネットのコミュニケーションの主流でしたが、現在はフィッシングメールや標的型攻撃、BEC(Business E-mail Compromise)に利用されてしまっています。
ここでは、なりすましメールの手法を簡単に説明したあとで、メールやWebサイトを運営する管理者が実施しておきたい、なりすましメール対策を簡単にご紹介します。

メールのなりすまし手法

送信者アドレスのなりすまし(ドメインなりすまし)

メールを表示する際に「送信者」「差出人」と表示されるメールアドレスをなりすます手法です。メールのプロトコル SMTP では容易になりすますことが可能です。

送信者名のなりすまし(display-name なりすまし)

メールを表示する際にアルファベットのメールアドレスではなく日本語や英語で表示される名前の部分をなりすます手法です。こちらもメールのプロトコル SMTP では容易になりすますことが可能です。

メールアドレスのローカルパート(@マークよりも前の文字列)に 0x00 や 0x0a を含めてメールソフト(MUA, Mail User Agent)を偽装する手法 Mailsploit も原理としてはこの送信者名のなりすましに分類されます。
https://internet.watch.impress.co.jp/docs/news/1095692.html

本物に似せたドメイン(ホモグラフドメイン)

例えば、有名なドメインとは異なるが類似しているドメイン(ホモグラフドメイン、カズンドメイン)を取得して、その偽ドメインからメールを送信する手法です。

送信メールサーバの不正利用(踏み台送信)

メールを送信するためのサーバ(MSA, Mail Submission Agent)を不正に利用・乗っ取ることで送信元が信頼された正しい出どころに見せる手法です。

送信メールの件名や本文の巧妙化

件名に「重要なお知らせ」「セキュリティのお知らせ」といった注意を促す内容を記載したり、本文内容が本物とそっくりな文章にするなど、巧妙化されたなりすましが多くなっています。

3つの送信ドメイン認証技術

DMARC

ドメイン管理者が、送信者ドメインのなりすましメールをどのように取り扱って欲しいかを指定する仕組みを DMARC と呼びます。ここで紹介する3つの技術の中で一番簡単に設定することができます。この記事のメインはこの DMARC を設定することです。

SPF

ドメイン管理者が、送信メールサーバがどの IP アドレスであるかを指定する仕組みを SPF と呼びます。

DKIM

ドメイン管理者が、メールに電子署名を付加することで、作成者や内容が本人であることを明らかにする仕組みを DKIM と呼びます。

DMARC の活用

送信メールサーバの把握

DMARC ではドメイン管理者が DNS TXT RR に「受信ポリシー」「集約レポートの受取先」「失敗レポートの受取先」などを設定できます。
ドメイン管理者は、まずは以下のような設定をするとよいでしょう。

_dmarc.example.jp
TXT "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected];"
パラメータ 説明
v DMARC1 必須。
p none または quarantine または reject 必須。
rua mailto:メールアドレス 集約レポートを受け取りたい場合に設定する。
ruf mailto:メールアドレス 失敗レポートを受け取りたい場合に設定する。

パラメータは他にもありますが、まず最初にこれらを設定することが大切です。
https://www.naritai.jp/guidance_record.html

メールドメインの対策

p=none でモニタリングを開始しましょう。
SPF や DKIM が未設定だとしても、モニタリングは開始しましょう。攻撃者はあなたのドメインを狙っているかもしれません。

ドメイン名: example.jp の場合

_dmarc.example.jp
TXT "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected];"

www ドメインやパークドメインの対策

www.example.com のように Web サーバだけで利用するドメインや、取得だけしたパークドメイン(parked domain)もなりすましの注意が必要です。
p=reject で差出人としてこのドメインをなりすませないようにしましょう。そして、このドメインをあらかじめメールで利用していないことを宣言しましょう。攻撃者はあなたのドメインを狙っているかもしれません。

ドメイン名: www.example.com の場合

_dmarc.www.example.com
TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected];"
www.example.com
TXT "v=spf1 -all"
*._domainkey.www.example.com
TXT "v=DKIM1; p="
www.example.com
MX 0 .

あなたのドメインの健康診断

[email protected] にあなたの送信メールサーバからメールを送信するだけで送信ドメイン認証がきちんと設定されているか判定してくれます。

件 名: Sender Authentication Check by naritai.jp
差出人: [email protected]
本 文:
こんにちは あなたのメールアドレス さん

[総評]
設定は正しく設定されています。

個別の送信ドメイン認証結果は以下の通りです。

[SPF]
接続元IPアドレス : 送信元IPアドレス
認証結果は PASS でした。

[DKIM]
認証結果は pass でした。
署名ドメインは example.jp でした。

[DMARC]
認証結果は pass でした。
認証ドメインは example.jp でした。
ポリシーは none でした。

以上です。

DMARC の注意点

  • DMARC はスパム対策というよりもなりすましメール対策
    DMARC はメールの内容に基づいた判定をしません。あくまで正規の差出人から正規の経路で届いたメールかどうかを判定し、そうでないメールを取り除くにすぎません。

  • DMARC は全てのなりすまし手法に有効ではない
    前半であげた様々ななりすまし手法のうち、「送信者アドレスのなりすまし」には有効ですが、それ以外のなりすましには DMARC 単独では不十分です。

  • DMARC 以外の対策も実施しなければならない
    従って、DMARC 以外の従来の対策だけでなく、今後登場する対策も合わせて実施して行く必要があります。

参考になるサイト・サービス

情報サイト

迷惑メール対策推進協議会
https://www.dekyo.or.jp/soudan/contents/anti_spam/report.html
一般財団法人インターネット協会
http://salt.iajapan.org/wpmu/anti_spam/
迷惑メール対策カンファレンス
https://www.iajapan.org/anti_spam/event/2017/conf_16-17th/
なりすまし対策ポータル「ナリタイ」
https://www.naritai.jp/
M3AAWG Protecting Parked Domains Best Common Practices
https://www.m3aawg.org/sites/default/files/m3aawg_parked_domains_bp-2015-12.pdf

DMARC 活用サービス

DMARC/25
https://www.dmarc25.jp/