送信サイドからみた
DMARC
使ってないドメインから設定してもいいんじゃない？

株式会社クオリティア
平野善隆 <hirano@qualitia.co.jp>
Copyright© QUALITIA CO., LTD. All Rights Reserved.

自己紹介
名前

平野 善隆

所属

株式会社クオリティア
メール好きの方募集中！！

主な活動

M3AAWGJPAAWGIA Japan 迷惑メール対策委員会
迷惑メール対策推進協議会
MRI
Audax Randonneurs Nihonbashi

Copyright© QUALITIA CO., LTD. All Rights Reserved.

DMARCを設定するメリット

1. 自社のドメインをなりすましたメールが到達しないようにできる
2. SPFやDKIMが正しくないメールを追跡できる
Copyright© QUALITIA CO., LTD. All Rights Reserved.

なりすまし対策
自社のドメインをなりすましたメールを到達させない

example.jpからのメールは全部
DKIMかSPFがPASSするはずなので、そうではない場合は拒否してくださいね_dmarc.example.jp TXT "v=DMARC1; p=reject"※ DMARC登場以前はスパムフィルタ業者にお願いするしかなかった
Copyright© QUALITIA CO., LTD. All Rights Reserved.

レポーティング
SPF範囲外からの送信やDKIM署名が正しくないメールを追跡できる
example.jpからのメールは全部
DKIMかSPFがPASSするはずなので、そうではない場合は教えてくださいね_dmarc.example.jp TXT"v=DMARC1; rua=mailto:rua@example.jp"
Copyright© QUALITIA CO., LTD. All Rights Reserved.

設定方法

Copyright© QUALITIA CO., LTD. All Rights Reserved.

設定方法• 利用中のドメイン• 利用していないドメイン• 新規のドメイン

Copyright© QUALITIA CO., LTD. All Rights Reserved.

利用中のドメイン

Copyright© QUALITIA CO., LTD. All Rights Reserved.

DMARCの設定_dmarc.example.jp TXT "v=DMARC1; p=none;
rua=mailto:rua@example.jp;
ruf=mailto:ruf@example.jp"

レポートを受け取って様子を見る

SPFやDKIMが正しく設定されていなければレポートが来る
本物のなりすましのレポートも混ざります
Copyright© QUALITIA CO., LTD. All Rights Reserved.

SPFの設定
example.jp TXT "v=spf1 ip4:192.0.2.1 -all"example.jp TXT "v=spf1
ip4:192.0.2.1 ip4:10.0.1.0/24 -all"example.jp TXT "v=spf1

ip4:192.0.2.1 include:_spf.example.com -all"
Copyright© QUALITIA CO., LTD. All Rights Reserved.

最近のDKIM事情• RFC8301: Cryptographic Algorithm and Key Usage Update
to DomainKeys Identified Mail (DKIM) (2018/1月)
・署名も検証もrsa-sha256を使いましょう(MUST)・rsa-sha1はやめましょう(MUST)・署名は1024bit以上(MUST)、2048bit以上(SHOULD)
・検証は1024bit～4096bit(MUST)※ しかし、2048bitはDNSに書けるサイズ255バイトを超えてしまう
Copyright© QUALITIA CO., LTD. All Rights Reserved.

最近のDKIM事情• RFC8463: A New Cryptographic Signature Method for
DomainKeys Identified Mail (DKIM) (2018/9月)

Ed25519-SHA256を使いましょう
BASE64後のサイズが44バイトしかないのでDNSの問題もない

・署名側は実装しましょう(SHOULD)
・検証側は実装必須(MUST)
・後方互換性のために署名はEd25519-SHA256とRSA-SHA256(1024bit以上)を2つ記述する
Copyright© QUALITIA CO., LTD. All Rights Reserved.

DKIMの設定
rsa-20181108._domainkey.example.jp TXT“v=DKIM1; k=rsa; p=11qYAYKCrfVS/7…”
ed25519-20181108._domainkey.example.jp TXT"v=DKIM1; k=ed25519; p=MIGfMA0GCSqGSIb… “※ RSA-SHA256とEd25519-SHA256の両方の署名を登録する
Copyright© QUALITIA CO., LTD. All Rights Reserved.

DKIMヘッダ
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
d=example.jp; s=ed25519-20181108; t=1528637909;
h=from : to : subject : date : message-id : from : subject : date;bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D...
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.jp; s=rsa-20181108; t=1528637909;
h=from : to : subject : date : message-id : from : subject : date;bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8Gw...
From: Alice <alice@example.jp>※ ed25519とrsaの両方の署名をヘッダに付ける※ Fromのドメインとd=は同じにする
Copyright© QUALITIA CO., LTD. All Rights Reserved.

DMARCの設定 （再び）ここまで来ると必要なメールのレポートは来なくなっているはず
p=rejectに変更!
_dmarc.example.jp TXT "v=DMARC1; p=reject;
rua=mailto:rua@example.jp;
ruf=mailto:ruf@example.jp"

Copyright© QUALITIA CO., LTD. All Rights Reserved.

利用中していないドメイン

Copyright© QUALITIA CO., LTD. All Rights Reserved.

パークドメイン

メールの送信に利用していないドメイン
今日はこの意味で使います！

• 他社に取得されないように保持しているだけのドメイン• 終了したサービスやキャンペーンで使い終わったドメイン• 社名変更前のドメイン• メール受信はするけど、送信しないドメイン• Webサーバでのみ使用しているドメイン• 意識したこともない、サブドメイン

Copyright© QUALITIA CO., LTD. All Rights Reserved.

パークドメインのDMARC設定のススメ

送信に使っていないなら躊躇なくp=rejectできるはず！

Copyright© QUALITIA CO., LTD. All Rights Reserved.

分類• メール送信なし／受信あり→ 受信専用ドメイン• メール送信なし／受信なし／Aレコードあり→ メール以外の用途で使用されるドメイン• メール送信なし／受信なし／Aレコードなし→ 使用されていないドメイン• メール送信あり／受信なし→ スパマー用ドメイン

これは取り扱いません

Copyright© QUALITIA CO., LTD. All Rights Reserved.

SPFの設定
送信がある場合
example.jp TXT "v=spf1 ip4:192.0.2.1 -all"
送信がない場合
example.jp TXT "v=spf1 -all"

送信がない場合(サブドメイン)*.example.jp TXT "v=spf1 -all"
Copyright© QUALITIA CO., LTD. All Rights Reserved.

DKIMの設定送信がある場合
selector1._domainkey.example.jp TXT "v=DKIM1;
p=1234567890ABCD…"

送信がない場合*._domainkey.example.jp TXT "v=DKIM1; p="=で止めます

Copyright© QUALITIA CO., LTD. All Rights Reserved.

DKIMの設定 （サブドメイン）
サブドメインからの送信がない場合*._domainkey.*.example.jp TXT "v=DKIM1; p="とは書けない！

*.example.jp TXT "v=DKIM1; p="Copyright© QUALITIA CO., LTD. All Rights Reserved.

DMARCの設定 （受信がある場合）_dmarc.example.jp TXT "v=DMARC1; p=reject;
rua=mailto:rua@example.jp;
ruf=mailto:ruf@example.jp"※ 同じ
組織ドメインの場合サブドメインも含む
a.b.c.d.example.jpの場合_dmarc.a.b.c.d.example.jpを参照し、なければ、_dmarc.example.jpを参照する
Copyright© QUALITIA CO., LTD. All Rights Reserved.

DMARCの設定 （受信がない場合）_dmarc.example.jp TXT "v=DMARC1; p=reject;
rua=mailto:rua@example.com;
ruf=mailto:ruf@example.com"
example.jp._report._dmarc.example.com TXT "v=DMARC1"

Copyright© QUALITIA CO., LTD. All Rights Reserved.

メール受信がなくAやAAAAレコードがある
ドメインの場合
Copyright© QUALITIA CO., LTD. All Rights Reserved.

MXレコード
MXレコードがない場合のメール配送の動きについて

RFC5321 5.1

The lookup first attempts to locate an MX record associated with the name.
....
If an empty list of MXs is returned, the address is treated as if it wasassociated with an implicit MX RR, with a preference of 0, pointing to thathost.
拙訳)
まず、(メールアドレスのドメイン)名に対応したMXレコードを参照する。
...
MXが空だった場合、そのアドレスは暗黙的にそのホストを指すpreference値0のMXレコードとして扱われる
Copyright© QUALITIA CO., LTD. All Rights Reserved.

MXレコード
MXレコードがない場合のメール配送の動きについて

つまり、MXレコードがない場合
Aレコードを参照して配送する
webサーバ等にメールが来る

Copyright© QUALITIA CO., LTD. All Rights Reserved.

Null MX
RFC 7505 A "Null MX" No Service Resource Record for Domains
That Accept No Mail (2015/6月)

example.jp

MX0.

サブドメインでの受信がない場合*.example.jp

MX

Copyright© QUALITIA CO., LTD. All Rights Reserved.

0.

SOAレコード
SOAにもメールアドレスがあるので、届くアドレスを書きましょう

example.jp SOA ns.example.jp
hostmaster.example.com
2018110801 900 600 86400 3600

Copyright© QUALITIA CO., LTD. All Rights Reserved.

参考文献
M3AAWG Protecting Parked Domains
Best Common Practices (Updated December 2015)
https://www.m3aawg.org/sites/default/files/m3aawg_parked_domains_bp-2015-12.pdf

Copyright© QUALITIA CO., LTD. All Rights Reserved.

新規のドメインCopyright© QUALITIA CO., LTD. All Rights Reserved.

DNSの設定
example.jp TXT "v=spf1 -all"*.example.jp TXT "v=spf1 -all"*.example.jp TXT "v=DKIM1; p=“_dmarc.example.jp TXT "v=DMARC1; p=reject;
rua=mailto:rua@example.com;
ruf=mailto:ruf@example.com"
example.jp._report._dmarc.example.com TXT "v=DMARC1"
example.jp. MX 0 .
*.example.jp. MX 0 .
パークドメインと同様に設定。TTLは短めにして必要に応じて変更。
Copyright© QUALITIA CO., LTD. All Rights Reserved.

設定のまとめできるとこだけでも、p=rejectにしましょう。

Copyright© QUALITIA CO., LTD. All Rights Reserved.

レポート編

Copyright© QUALITIA CO., LTD. All Rights Reserved.

やってみた今は使われていない
transware.co.jpドメインでDMARCを設定してみました
Copyright© QUALITIA CO., LTD. All Rights Reserved.

予想
送信には使われていないし、スパムは毎日のように届いているのでtransware.co.jpをなりすましたメールがあちこちで拒否されている様子がDMARCレポートでわかるだろう。

Copyright© QUALITIA CO., LTD. All Rights Reserved.

結果
レポートから判明した送信元• 社内から• 誤送信防止サービスのデモ環境から• 監視システムからえっ！
送信には使用されていないはずなのに・・・
Copyright© QUALITIA CO., LTD. All Rights Reserved.

調査<feedback><record><row><source_ip>202.241.206.5</source_ip><count>54</count>
送信元IPアドレス<policy_evaluated>= 社内から送信する全メールが<disposition>none</disposition>
経由するメールサーバ<dkim>fail</dkim><spf>fail</spf></policy_evaluated></row><identifiers><header_from>support.transware.co.jp</header_from></identifiers><auth_results>
ヘッダのFROMドメイン<spf><domain>delivery.qualitia.co.jp</domain><result>none</result></spf></auth_results>💀💀

</record></feedback>Copyright© QUALITIA CO., LTD. All Rights Reserved.

わかったこと
ヘッダFROMのドメインがsupport.transware.co.jpのメールを社内からgoogleに送信または転送しているらしい※ メールアドレスがわかるわけではない

rufレポートがあればわかる
Copyright© QUALITIA CO., LTD. All Rights Reserved.