$30 off During Our Annual Pro Sale. View Details »

送信側から見たDMARC

 送信側から見たDMARC

SPF, DKIM, DMARCの設定を説明します。
使用していないドメインでの設定方法も説明します。
DMARCレポートについても少し説明します。

HIRANO Yoshitaka

November 08, 2018
Tweet

More Decks by HIRANO Yoshitaka

Other Decks in Technology

Transcript

  1. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    送信サイドからみた
    DMARC
    使ってないドメインから設定してもいいんじゃない?
    株式会社クオリティア
    平野善隆

    View Slide

  2. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    自己紹介
    名前 平野 善隆
    所属 株式会社クオリティア
    メール好きの方募集中!!
    主な活動 M3AAWG
    JPAAWG
    IA Japan 迷惑メール対策委員会
    迷惑メール対策推進協議会
    MRI
    Audax Randonneurs Nihonbashi

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    設定方法

    View Slide

  7. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    設定方法
    • 利用中のドメイン
    • 利用していないドメイン
    • 新規のドメイン

    View Slide

  8. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    利用中のドメイン

    View Slide

  9. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DMARCの設定
    _dmarc.example.jp TXT "v=DMARC1; p=none;
    rua=mailto:[email protected];
    ruf=mailto:[email protected]"
    レポートを受け取って様子を見る
    SPFやDKIMが正しく設定されてい
    なければレポートが来る
    本物のなりすましのレポートも混ざります

    View Slide

  10. 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"

    View Slide

  11. 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バイトを超えてしまう

    View Slide

  12. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    最近のDKIM事情
    •RFC8463: A New Cryptographic Signature Method for
    DomainKeys Identified Mail (DKIM) (2018/9月)
    ・署名側は実装しましょう(SHOULD)
    ・検証側は実装必須(MUST)
    ・後方互換性のために署名はEd25519-SHA256と
    RSA-SHA256(1024bit以上)を2つ記述する
    Ed25519-SHA256を使いましょう
    BASE64後のサイズが44バイトしかないのでDNSの問題もない

    View Slide

  13. 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の
    両方の署名を登録する

    View Slide

  14. 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
    ※ ed25519とrsaの両方の署名をヘッダに付ける
    ※ Fromのドメインとd=は同じにする

    View Slide

  15. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DMARCの設定 (再び)
    _dmarc.example.jp TXT "v=DMARC1; p=reject;
    rua=mailto:[email protected];
    ruf=mailto:[email protected]"
    ここまで来ると必要なメールのレポートは
    来なくなっているはず
    p=rejectに変更!

    View Slide

  16. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    利用中していないドメイン

    View Slide

  17. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    パークドメイン
    • 他社に取得されないように保持しているだけのドメイン
    • 終了したサービスやキャンペーンで使い終わったドメイン
    • 社名変更前のドメイン
    • メール受信はするけど、送信しないドメイン
    • Webサーバでのみ使用しているドメイン
    • 意識したこともない、サブドメイン
    メールの送信に利用していないドメイン
    今日はこの意味で使います!

    View Slide

  18. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    パークドメインのDMARC設定のススメ
    送信に使っていないなら
    躊躇なくp=rejectできるはず!

    View Slide

  19. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    分類
    • メール送信なし/受信あり
    → 受信専用ドメイン
    • メール送信なし/受信なし/Aレコードあり
    → メール以外の用途で使用されるドメイン
    • メール送信なし/受信なし/Aレコードなし
    → 使用されていないドメイン
    • メール送信あり/受信なし
    → スパマー用ドメイン
    これは取り扱いません

    View Slide

  20. 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"

    View Slide

  21. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DKIMの設定
    送信がある場合
    selector1._domainkey.example.jp TXT "v=DKIM1;
    p=1234567890ABCD…"
    送信がない場合
    *._domainkey.example.jp TXT "v=DKIM1; p="
    =で止めます

    View Slide

  22. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DKIMの設定 (サブドメイン)
    サブドメインからの送信がない場合
    *._domainkey.*.example.jp TXT "v=DKIM1; p="
    とは書けない!
    *.example.jp TXT "v=DKIM1; p="

    View Slide

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

    View Slide

  24. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DMARCの設定 (受信がない場合)
    _dmarc.example.jp TXT "v=DMARC1; p=reject;
    rua=mailto:[email protected];
    ruf=mailto:[email protected]"
    example.jp._report._dmarc.example.com TXT "v=DMARC1"

    View Slide

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

    View Slide

  26. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    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 was
    associated with an implicit MX RR, with a preference of 0, pointing to that
    host.
    拙訳)
    まず、(メールアドレスのドメイン)名に対応したMXレコードを参照する。
    ...
    MXが空だった場合、そのアドレスは暗黙的にそのホストを指すpreference値0の
    MXレコードとして扱われる
    MXレコードがない場合のメール配送の動きについて

    View Slide

  27. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    MXレコード
    つまり、MXレコードがない場合
    Aレコードを参照して配送する
    webサーバ等にメールが来る
    MXレコードがない場合のメール配送の動きについて

    View Slide

  28. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    Null MX
    example.jp MX 0 .
    RFC 7505 A "Null MX" No Service Resource Record for Domains
    That Accept No Mail (2015/6月)
    サブドメインでの受信がない場合
    *.example.jp MX 0 .

    View Slide

  29. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    SOAレコード
    example.jp SOA ns.example.jp
    hostmaster.example.com
    2018110801 900 600 86400 3600
    SOAにもメールアドレスがあるので、届くアドレスを書きましょう

    View Slide

  30. 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

    View Slide

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

    View Slide

  32. 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:[email protected];
    ruf=mailto:[email protected]"
    example.jp._report._dmarc.example.com TXT "v=DMARC1"
    example.jp. MX 0 .
    *.example.jp. MX 0 .
    パークドメインと同様に設定。TTLは短めにして必要に応じて変更。

    View Slide

  33. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    設定のまとめ
    できるとこだけでも、
    p=rejectにしましょう。

    View Slide

  34. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    レポート編

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  38. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    調査



    202.241.206.5
    54

    none
    fail
    fail



    support.transware.co.jp



    delivery.qualitia.co.jp
    none





    送信元IPアドレス
    = 社内から送信する全メールが
    経由するメールサーバ
    ヘッダのFROMドメイン

    View Slide

  39. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    わかったこと
    ヘッダFROMのドメインが
    support.transware.co.jp
    のメールを
    社内からgoogleに
    送信または転送しているらしい
    ※ メールアドレスがわかるわけではない
    rufレポートがあればわかる

    View Slide