Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DNS, DNSSECの仕組み

DNS, DNSSECの仕組み

DNS, DNSSECの仕組み

HIRANO Yoshitaka

August 06, 2020
Tweet

More Decks by HIRANO Yoshitaka

Other Decks in Technology

Transcript

  1. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNS勉強会
    2020/8/6
    平野善隆

    View Slide

  2. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    もくじ
    •DNS名前解決の流れ
    •digコマンドの使い方
    •DNS名前解決の流れを確認
    •DNSレコードタイプ
    •DNSSECとその仕組み
    •ドメインの管理
    •QT-DNS(仮)のご紹介

    View Slide

  3. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNS名前解決の流れ

    View Slide

  4. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ
    ネコ: ブラウザーにwww.qualitia.co.jpを入力
    ブラウザー: IPがキャッシュにあればそれを使う
    PCにwww.qualitia.co.jpのIPを問い合わせ
    OS: キャッシュにあればそれを返す
    OS内のDNSサーバーは
    スタブDNSサーバー
    とよく呼ばれます

    View Slide

  5. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ
    クライアント
    OS: フルリゾルバーにwww.qualitia.co.jp.のIPを問い合わせ
    フルリゾルバー: キャッシュにあれば、それを返す
    フルリゾルバー
    www.qualitia.co.jp.は?
    キャッシュDNSサーバー
    フルサービスリゾルバー
    ともよく呼ばれます

    View Slide

  6. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ
    クライアント
    フルリゾルバー: ルートDNSサーバーにwww.qualitia.co.jp.のIPを問い合わせ
    ルートDNSサーバー: 知らんがな。jpのDNSサーバーに聞いて
    フルリゾルバー
    ルートDNSサーバー 知らんがな。jpに聞いて
    www.qualitia.co.jp.は?
    権威DNSサーバー
    と呼ばれます

    View Slide

  7. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ
    クライアント
    フルリゾルバー: jpのDNSサーバーにwww.qualitia.co.jp.のIPを問い合わせ
    jpのDNSサーバー: 知らんがな。qualitia.co.jpのDNSサーバーに聞いて
    フルリゾルバー
    ルートDNSサーバー
    知らんがな。qualitia.co.jpに聞いて
    www.qualitia.co.jp.は?
    jpのDNSサーバー これも
    権威DNSサーバー
    です

    View Slide

  8. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ
    クライアント
    フルリゾルバー: qualitia.co.jpのDNSサーバーにwww.qualitia.co.jp.のIPを問い合わせ
    qualitia.co.jpのDNSサーバー:
    54.65.37.180を返す
    フルリゾルバー: クライアントに54.65.37.180を返す。ついでにキャッシュする。
    OS: ブラウザーに54.65.37.180を返す。ついでにキャッシュする。
    ブラウザー: 54.65.37.180に接続して滝のような画面を表示
    ネコ: にゃー
    フルリゾルバー
    ルートDNSサーバー
    54.65.37.180やね。
    www.qualitia.co.jp.は?
    qualitia.co.jpのDNSサーバー
    JPのDNSサーバー
    54.65.37.180やて。
    これも権威DNSサーバーです

    View Slide

  9. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    という時代もありました

    View Slide

  10. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    クエリがルートDNSサー
    バーに丸見え!
    セキュリティ的に問題だ!

    View Slide

  11. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    QNAME Minimisation
    RFC7816 (2016年)

    View Slide

  12. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ (QNAME Minimisation)
    クライアント
    フルリゾルバー: ルートDNSサーバーにjp.のIPを問い合わせ
    ルートDNSサーバー: 知らんがな。jpのDNSサーバーに聞いて
    フルリゾルバー
    ルートDNSサーバー jpに聞いて
    jpのIPは?

    View Slide

  13. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ (QNAME Minimisation)
    クライアント
    フルリゾルバー: jpのDNSサーバーにco.jp.のIPを問い合わせ
    jpのDNSサーバー: 存在しないことを返す
    フルリゾルバー: jpのDNSサーバーにqualitia.co.jp.のIPを問い合わせ
    jpのDNSサーバー: 知らんがな。qualitia.co.jpのDNSサーバーに聞いて
    フルリゾルバー
    co.jp.のIPは?
    jpのDNSサーバー
    ないわ
    qualitia.co.jp.のIPは?
    知らんがな。qualitia.co.jpに聞いて

    View Slide

  14. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの名前解決の流れ (QNAME Minimisation)
    クライアント
    フルリゾルバー: qualitia.co.jpのDNSサーバーにwww.qualitia.co.jp.のIPを問い合わせ
    qualitia.co.jpのDNSサーバー:
    54.65.37.180を返す
    フルリゾルバー: PCに54.65.37.180を返す。ついでにキャッシュする。
    PC: ブラウザーに54.65.37.180を返す。ついでにキャッシュする。
    ブラウザー: 54.65.37.180に接続して滝のような画面を表示
    ネコ: にゃー
    フルリゾルバー
    ルートDNSサーバー
    54.65.37.180やね。
    www.qualitia.co.jp.は?
    qualitia.co.jpのDNSサーバー
    JPのDNSサーバー
    54.65.37.180やて。

    View Slide

  15. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    QNAME Minimisation
    •どのくらい普及しているの?
    ➔ 最近unboundをインストールしたらデフォ
    ルトでonでした。

    View Slide

  16. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ご家庭では?

    View Slide

  17. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ご家庭の環境
    クライアント
    DNSフォワーダー
    ISPのフルリゾルバー
    www.qualitia.co.jpのIPは?
    WIFIルーターなど
    www.qualitia.co.jpのIPは?
    IPSに丸投げします

    View Slide

  18. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSサーバー大集合

    View Slide

  19. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    いろいろなDNSサーバー
    クライアント
    ルートDNSサーバー
    社内のDNSサーバー スタブリゾルバー
    フルリゾルバー
    フォワーダー
    条件付きフォワーダー
    jpのDNSサーバー
    qualitia.co.jpのDNSサーバー
    権威DNSサーバー
    権威DNSサーバー
    権威DNSサーバー

    View Slide

  20. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    具体的なソフト名では
    • フルリゾルバー
    • BIND
    • unbound
    • Knot Resolver
    • PowerDNS Recursor
    • 権威DNSサーバー
    • BIND
    • Knot DNS
    • NSD
    • PowerDNS Authoritative Nameserver

    View Slide

  21. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドのインストール
    Windows編

    View Slide

  22. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ダウンロード
    •https://www.isc.org/download/

    View Slide

  23. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    インストール
    •Zipを展開
    ダウンロードディレクトリの
    下ではなく
    セキュリティの緩いところへ。
    • でないと恐い警告がでます。
    •BINDInstall.exeを右ク
    リック⇨管理者として実

    •Tools Onlyだけ選択

    View Slide

  24. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    VC++のランタイムもインストール
    • VC++のランタイムもインストールします
    • 再起動のボタンが出ても、まだ再起動しないように

    View Slide

  25. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    PATHを通す
    • PATHを追加
    C:¥Program Files¥ISC BIND 9¥bin

    View Slide

  26. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドのインストール
    CentOS編

    View Slide

  27. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドのインストール
    CentOS7
    yum install –y bind-utils
    CentOS8
    dnf install –y bind-utils

    View Slide

  28. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドの使い方

    View Slide

  29. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドの使い方 超基本
    • MXレコードを知りたい
    dig qualitia.co.jp MX
    TXTレコードを知りたい
    dig qualitia.co.jp TXT
    TLSAレコードを知りたい
    dig _25._tcp.mail.interlingua.co.jp TLSA
    逆引きしたい
    dig -x 54.65.37.180

    View Slide

  30. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSサーバーを指定したい
    8.8.8.8(googleのフルリゾルバーサービス)を使って
    www.qualitia.co.jpのAレコードを調べたい
    dig @8.8.8.8 qualitia.co.jp A
    ns1.qt-dns.com(QT-DNS(仮)の権威サーバー)にある
    mail.interlingua.co.jpのAレコードを調べたい
    dig +norecurse @ns1.qt-dns.com mail.interlingua.co.jp A
    権威DNSサーバ上のレコードを調べるときは、再帰的に他
    のDNSサーバに問い合わせないように+norecを付けます。
    +オプションは判別可能なところまで
    短くできます。
    +norecでもokです。

    View Slide

  31. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    結果の見方 (結果があるとき)
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> qualitia.co.jp mx
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20780
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;qualitia.co.jp. IN MX
    ;; ANSWER SECTION:
    qualitia.co.jp. 3549 IN MX 10 msmx01.qualitia.co.jp.
    qualitia.co.jp. 3549 IN MX 20 msmx02.qualitia.co.jp.
    ;; Query time: 1 msec
    ;; SERVER: 192.168.2.11#53(192.168.2.11)
    ;; WHEN: Thu Jul 30 18:03:18 JST 2020
    ;; MSG SIZE rcvd: 89
    よく、結果がない
    と、空目するので注意です。
    結果はANSWER SECTION
    にあります
    どのフルリゾルバーが答えたか

    View Slide

  32. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    結果の見方 (結果がないとき)
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> notexist.qualitia.co.jp mx
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 4529
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;not.exist.qualitia.co.jp. IN MX
    ;; AUTHORITY SECTION:
    qualitia.co.jp. 554 IN SOA ns-5.awsdns-00.com. awsdns-
    hostmaster.amazon.com. 1 7200 900 1209600 86400
    ANSWER SECTION
    はありません。
    所属するはずのzoneのSOAが
    AUTHORITY SECTION
    に表示されます。
    statusが NXDOMAIN
    になります。
    ※not.exist.quialitia.co.jpは存在するのならqualitia.co.jpに
    あるはずなのでqualitia.co.jpのSOAが表示されています。
    qualitia.co.jpは存在するということです。

    View Slide

  33. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    結果の見方 (結果がないとき2)
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.qualitiaaaa.co.jp mx
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 12038
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.qualitiaaaa.co.jp. IN MX
    ;; AUTHORITY SECTION:
    jp. 185 IN SOA z.dns.jp. root.dns.jp. 1596109502 3600 900
    1814400 900
    ANSWER SECTION
    はありません。
    所属するはずのzoneのSOAが
    AUTHORITY SECTION
    に表示されます。
    statusが NXDOMAIN
    になります。
    ※qualitiaaaa.co.jpがそもそも存在しないので、
    jpのSOAが表示されています。
    qualitiaaaa.co.jpもco.jpも存在しないということがわかります。

    View Slide

  34. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSの流れを実際に確認

    View Slide

  35. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    tcpdumpコマンドで確認
    •tcpdump -n -vv port 53
    14:34:19.853230 IP (tos 0x0, ttl 64, id 24915, offset 0, flags [none], proto UDP (17), length 71)
    unbound1.cdev.jp.33600 > a.dns.jp.domain: [bad udp cksum 0xd902 -> 0xceac!] 5506% [1au]
    A? qualitia.co.jp. ar: . OPT UDPsize=4096 DO (43)
    14:34:19.854790 IP (tos 0x0, ttl 55, id 62203, offset 0, flags [none], proto UDP (17), length 701)
    a.dns.jp.domain > unbound1.cdev.jp.33600: [udp sum ok] 5506- q: A? qualitia.co.jp. 0/8/1 ns:
    qualitia.co.jp. NS ns-1916.awsdns-47.co.uk., qualitia.co.jp. NS ns-764.awsdns-31.net.,
    qualitia.co.jp. NS ns-1192.awsdns-21.org., qualitia.co.jp. NS ns-5.awsdns-00.com.,
    52JRLDO6NA169OJDDJ7TCFIT0HGJ4ESQ.jp. Type50, 52JRLDO6NA169OJDDJ7TCFIT0HGJ4ESQ.jp.
    RRSIG, 62LH3LQSL8CUP4UKNCIMD776PBEBTGCH.jp. Type50,
    62LH3LQSL8CUP4UKNCIMD776PBEBTGCH.jp. RRSIG ar: . OPT UDPsize=4096 DO (673)
    qualitia.co.jpのAレコードは?
    知らんな。ns-1916.awsdns-47.co.jpとかns-764.awsdns-31.netとかに聞いて
    長いので一部だけ

    View Slide

  36. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドで確認
    ルートDNSサーバのDNSサーバを確認
    dig . NS
    ;; ANSWER SECTION:
    . 518400 IN NS d.root-servers.net.
    . 518400 IN NS h.root-servers.net.
    . 518400 IN NS g.root-servers.net.
    . 518400 IN NS m.root-servers.net.
    . 518400 IN NS e.root-servers.net.
    . 518400 IN NS c.root-servers.net.
    . 518400 IN NS b.root-servers.net.
    . 518400 IN NS i.root-servers.net.
    . 518400 IN NS j.root-servers.net.
    . 518400 IN NS f.root-servers.net.
    . 518400 IN NS a.root-servers.net.
    . 518400 IN NS l.root-servers.net.
    . 518400 IN NS k.root-servers.net.
    13個DNSサーバがあります
    フルリゾルバーに
    なったつもりで

    View Slide

  37. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドで確認
    ルートDNSサーバにwww.qualitia.co.jpを問い合わせ
    dig +norec @a.root-servers.net www.qualitia.co.jp A
    ;; ANSWER SECTION: なし
    ;; AUTHORITY SECTION:
    jp. 172800 IN NS a.dns.jp.
    jp. 172800 IN NS d.dns.jp.
    jp. 172800 IN NS e.dns.jp.
    jp. 172800 IN NS f.dns.jp.
    jp. 172800 IN NS h.dns.jp.
    jp. 172800 IN NS g.dns.jp.
    jp. 172800 IN NS c.dns.jp.
    jp. 172800 IN NS b.dns.jp.
    jp.のDNSサーバーに聞いて
    知らんがな

    View Slide

  38. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドで確認
    jpのDNSサーバにwww.qualitia.co.jpを問い合わせ
    dig +norec @a.dns.jp www.qualitia.co.jp A
    ;; ANSWER SECTION: なし
    ;; AUTHORITY SECTION:
    qualitia.co.jp. 86400 IN NS ns-1916.awsdns-47.co.uk.
    qualitia.co.jp. 86400 IN NS ns-1192.awsdns-21.org.
    qualitia.co.jp. 86400 IN NS ns-764.awsdns-31.net.
    qualitia.co.jp. 86400 IN NS ns-5.awsdns-00.com.
    qualitia.co.jpのDNSサーバーに聞いて
    知らんがな

    View Slide

  39. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドで確認
    qualitia.co.jpのDNSサーバにwww.qualitia.co.jpを問い合わせ
    dig +norec @ns-1916.awsdns-37.co.uk www.qualitia.co.jp A
    ;; ANSWER SECTION:
    www.qualitia.co.jp. 3600 IN A 54.65.37.180
    54.65.37.180やで

    View Slide

  40. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    digコマンドで確認2
    実はdigコマンドにオプションがあります。
    dig +trace www.qualitia.co.jp
    dig @8.8.8.8 +trace www.qualitia.co.jp
    とかでどうぞ。
    なぜか社内のDNSでは動かないので

    View Slide

  41. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    レコードのタイプ

    View Slide

  42. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    Aレコード
    ipv4のIPアドレスです
    www.qualitia.co.jp. IN A 54.65.37.180
    www.qualitia.co.jp. IN A 192.0.2.1
    何個でも書けます

    View Slide

  43. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    AAAAレコード
    ipv6のIPアドレスです
    google.com. IN AAAA 2404:6800:4004:80b::200e
    何個でも書けます

    View Slide

  44. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    MXレコード
    Mail Exchange、メールの配送先のサーバのホスト名
    qualitia.co.jp. IN MX 10 msmx01.qualitia.co.jp.
    qualitia.co.jp. IN MX 20 msmx02.qualitia.co.jp.
    何個でも書けます
    IPアドレスは書けません
    10 msmx01.qualitia.co.jp.
    Preference (優先度)
    0が最優先
    配送先のホスト名

    View Slide

  45. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    SOAレコード
    ZONEの情報です
    qualitia.co.jp. IN SOA ns-5.awsdns-00.com. awsdns-
    hostmaster.amazon.com. 1 7200 900 1209600 86400
    1つのzoneに1つしか書けません
    ホストは管理するzoneと同じに
    なります
    ※必須です

    View Slide

  46. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    SOAレコード 詳細
    呼び名 説明 実際の値
    MName Primary DNSサーバー ns-5.awsdns-00.com
    RName 管理者のメールアドレス(@は.に変換) awsdns-hostmaster.amazon.com
    Serial zoneファイルのバージョン
    セカンダリはこのバージョンが増えていれば更新する
    1
    Refresh セカンダリがプライマリに確認して更新する間隔 7200
    Retry Refreshが失敗したとき、次にリトライするまでの間隔 900
    Expire Retryが失敗し続けたとき現在のデータを使う期間 1209600
    Minimum ネガティブキャッシュの時間 86400
    のところはセカンダリDNSのための設定です。

    View Slide

  47. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    NSレコード (自分のzone)
    自分のZONEを管理するDNSサーバーの情報です
    qualitia.co.jp. IN NS ns-5.awsdns-00.com.
    qualitia.co.jp. IN NS ns-764.awsdns-31.net.
    qualitia.co.jp. IN NS ns-1192.awsdns-21.org.
    qualitia.co.jp. IN NS ns-1916.awsdns-47.co.uk.
    何個でも書けます
    管理するzoneと同じになります
    同じ内容を、親のzoneにも書くこと
    で、親のzoneから委任されます
    ※必須です

    View Slide

  48. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    NSレコード (親のzone)
    自分のZONEを管理するDNSサーバーの情報です
    sub.qualitia.co.jp. IN NS ns-5.awsdns-00.com.
    sub.qualitia.co.jp. IN NS ns-764.awsdns-31.net.
    何個でも書けます
    サブドメインにzoneを委任します

    View Slide

  49. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    CNAMEレコード
    別名を指定できます
    www.qualitia.co.jp. IN CNAME qualitia.co.jp.
    1つだけ書けます
    いくつか制限があります

    View Slide

  50. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    CNAMEレコード (制限1)
    他のTYPEと共存できません
    www.qualitia.co.jp. IN CNAME qualitia.co.jp.
    www.qualitia.co.jp. IN A 192.0.2.1
    ×
    qualitia.co.jp. IN SOA ...
    qualitia.co.jp. IN NS ...
    qualitia.co.jp. IN CNAME www.qualitia.co.jp.
    ×
    外部のCDNを使うときに
    問題に!

    View Slide

  51. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    CNAMEレコード (制限2)
    MX, CNAME, PTR, NSなどの別の名前を指すレコード
    と一緒に使えない
    podunk.xx. IN MX mailhost
    mailhost IN CNAME mary
    mary IN A 1.2.3.4
    ×

    View Slide

  52. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    しかし

    View Slide

  53. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    CNAMEレコード (制限2)
    MX, CNAME, PTR, NSなどの別の名前を指すレコード
    と一緒に使えない?!
    www.apple.com IN CNAME www.apple.com.edgekey.net.
    www.apple.com.edgekey.net. IN CNAME www.apple.com.edgekey.net.globalredir.akadns.net.
    www.apple.com.edgekey.net.globalredir.akadns.net. IN CNAME e6858.dsce9.akamaiedge.net.
    e6858.dsce9.akamaiedge.net. IN A 23.35.197.152
    www.microsoft.com. IN CNAME www.microsoft.com-c-3.edgekey.net.
    www.microsoft.com-c-3.edgekey.net. IN CNAME
    www.microsoft.com-c-3.edgekey.net.globalredir.akadns.net.
    www.microsoft.com-c-3.edgekey.net.globalredir.akadns.net. IN CNAME
    e13678.dspb.akamaiedge.net.
    e13678.dspb.akamaiedge.net. IN A 23.35.196.245

    View Slide

  54. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    TXTレコード
    何でも書けます
    qualitia.co.jp. IN TXT "v=spf1 ip4:52.68.88.39 ip4:54.65.37.180
    ip4:18.182.159.94 include:_spf.mail.qualitia.co.jp include:_spf.activegate-
    ss.jp include:spf.haihaimail.jp include:_spf.salesforce.com
    include:spf.protection.outlook.com include:aspmx.pardot.com ~all"
    qualitia.co.jp. IN TXT
    "pardot_124481_*=7327c3f6f1d49449b5c4852f37729deac1621701186
    3c1ba1b68b520d3da44f5"
    qualitia.co.jp. IN TXT "MS=ms67333108"
    qualitia.co.jp. IN TXT "google-site-
    verification=nWIa4dpvjWUIJuD0VT0mcKXKcb3pRh2tk1LwBX19xZ8"
    何個でも書けます

    View Slide

  55. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    メールとDNSの関係
    Type DNS
    SEC
    メール配送 example.jp MX mail.example.jp -
    SPF example.jp TXT v=SPF1 ip4:192.0.2.0/24 -all -
    DKIM 123._domainkey.example.jp TXT v=DKIM1; k=rsa;p=.... -
    DMARC _dmarc.example.jp TXT v=DMARC1; p=reject;
    rua=mailto:[email protected]; ruf=...
    -
    ARC - - - -
    BIMI default._bimi.example.jp TXT v=BIMI1; l=https://.... -
    MTA-STS _mta-sts.example.jp TXT v=STSv1; id=20200320T170000; -
    TLS-RPT _smtp._tls.example.jp TXT v=TLSRPT1;
    rua=mailto:[email protected]
    -
    DANE _25.tcp.mail.example.jp TLSA 3 0 1 2B73BB905F.... 必須
    REQUIRE-TLS - - - -

    View Slide

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

    View Slide

  57. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECとは?
    DNSの問い合わせや応答を暗号化して守る
    DNSの応答が改ざんされていないことを保証する
    DNSの応答が正しい人からのものであることを保
    証する
    ×


    View Slide

  58. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECがないとき
    メールサーバー
    192.0.2.1
    新着メールあるかな?
    ログインして確認!
    DNSサーバー
    メールサーバのIPは?
    192.0.2.1ですよ
    権威DNSサーバー
    メールサーバのIPは?
    192.0.2.1ですよ
    スマホのメーラーはIMAPサーバーに
    定期的に新着メールを問い合わせます

    View Slide

  59. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECがないとき
    メールサーバー
    192.0.2.1
    新着メールあるかな?
    ログインして確認!
    DNSサーバー
    192.0.2.100ですよ
    権威DNSサーバー
    メールサーバのIPは?
    192.0.2.1ですよ
    192.0.2.100ですよ
    メールサーバのIPは?
    ID/パスワード
    収集サーバー
    192.0.2.100
    192.0.2.100ですよ

    View Slide

  60. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECがあるとき
    メールサーバー
    192.0.2.1
    DNSサーバー
    なんかおかしいわ
    権威DNSサーバー
    メールサーバのIPは?
    192.0.2.1ですよ
    192.0.2.100ですよ メールサーバのIPは?
    ID/パスワード
    収集サーバー
    192.0.2.100

    View Slide

  61. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECの関係者
    クライアント
    ルートDNSサーバー
    スタブリゾルバー
    フルリゾルバー
    フォワーダー
    jpのDNSサーバー
    qualitia.co.jpのDNSサーバー
    権威DNSサーバー
    権威DNSサーバー
    権威DNSサーバー

    View Slide

  62. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECが有効かどうかの確認 (リゾルバー)
    http://www.dnssec-or-not.com/
    PCが聞きに行っているフルリゾルバが
    DNSSECに対応してるかどうか
    VPNを使っていると、DNSSEC有効で
    もこちらが表示されるかも知れません

    View Slide

  63. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECが有効かどうかの確認 (サーバー)
    https://dnsviz.net/
    権威DNSサーバーがDNSSECに対応してるかどうか
    DNSSECが失敗したと
    ころは黒くなります

    View Slide

  64. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    dig コマンドで確認
    DNSSEC非対応ドメイン
    dig qualitia.co.jp
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23896
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; ANSWER SECTION:
    qualitia.co.jp. 1443 IN A 54.65.37.180
    DNSSEC非対応ドメイン + DNSSEC非対応リゾルバー
    DNSSEC非対応ドメイン + DNSSEC対応リゾルバー
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6419
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; ANSWER SECTION:
    qualitia.co.jp. 3600 IN A 54.65.37.180
    同じです

    View Slide

  65. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    dig コマンドで確認
    DNSSEC対応ドメイン
    dig mail.interlingua.co.jp
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17088
    ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; ANSWER SECTION:
    mail.interlingua.co.jp. 0 IN A 210.158.71.76
    DNSSEC対応ドメイン + DNSSEC非対応リゾルバー
    DNSSEC対応ドメイン + DNSSEC対応リゾルバー
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10109
    ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; ANSWER SECTION:
    mail.interlingua.co.jp. 300 IN A 210.158.71.76
    同じです
    DNSSEC対応ドメインは
    adフラグが付きます

    View Slide

  66. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    dig コマンドで確認
    なりすまされているDNSSEC対応ドメイン
    dig dnssec-failed.org
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14060
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; ANSWER SECTION:
    dnssec-failed.org. 6510 IN A 69.252.80.75
    DNSSEC対応ドメイン + DNSSEC非対応リゾルバー
    DNSSEC対応ドメイン + DNSSEC対応リゾルバー
    ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 63229
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
    DNSSEC対応リゾルバーでは
    SERVFAILになります
    IPは返りません
    DNSSEC非対応リゾルバーは
    答えを返してしまいます
    adフラグはありません
    VPNを使っているとご自宅のDNSサーバーから
    SERVFAILを受け取っても、その後、会社のDNSサー
    バーに聞きに行ってNOERRORになるかも知れません

    View Slide

  67. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSEC対応/非対応まとめ
    DNSSEC非対応ドメイン DNSSEC対応ドメイン なりすまされた
    DNSSEC対応ドメイン
    DNSSEC非対応リゾルバ adフラグなし adフラグあり adフラグなし
    DNSSEC対応リゾルバ adフラグなし adフラグあり adフラグなし
    DNSSEC非対応ドメイン DNSSEC対応ドメイン なりすまされた
    DNSSEC対応ドメイン
    DNSSEC非対応リゾルバ 回答あり 回答あり 回答あり
    DNSSEC対応リゾルバ 回答あり 回答あり SERVFAIL
    adフラグ
    応答

    View Slide

  68. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECとは?(再掲)
    DNSの問い合わせや応答を暗号化して守る
    DNSの応答が改ざんされていないことを保証する
    DNSの応答が正しい人からのものであることを保
    証する
    ×


    View Slide

  69. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECの仕組み (イメージ)
    qualitia.co.jp. IN MX 20 msmx02.qualitia.co.jp.
    qualitia.co.jp. IN MX 10 msmx01.qualitia.co.jp.
    レコードセットを
    qualitia.co.jpが署名
    qualitia.co.jpのハン
    コをjpが署名
    jpのハンコをrootが署名

    View Slide

  70. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    デジタル署名
    Hash
    ・元のデータを固定長のデータに変換する
    ・基本的に戻せない
    誕生日占い
    自分の誕生日、誕生月、誕生年の数字を足してください。
    その数字を一桁ずつ分けた上で、全てを足しててください。
    この計算を、数字が一桁になるまで続けましょう
    1972年7月1日
    ⇨ 1972 + 7 + 1 = 1980
    ⇨ 1 + 9 + 8 + 0 = 18
    ⇨ 1 + 8 = 9
    1:アイデアマン
    2:平和主義
    3:お祭り好き
    4:保守的
    5:パイオニア
    6:ロマンチスト
    7:インテリ
    8:大物
    9:エンターテイナー
    md5, sha1, sha256

    View Slide

  71. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    デジタル署名
    共通鍵暗号 (秘密鍵暗号)
    ・暗号化する側と復号する側が同じ鍵を使う
    ・変換されたデータは元に戻せる
    AES, DES, 3DES, Camellia, ...
    デジタル署名では使いません

    View Slide

  72. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    デジタル署名
    公開鍵暗号
    ・暗号化する側の鍵(秘密鍵:Private Key)と
    復号するの鍵(公開鍵: Public Key)が異なる
    ・変換されたデータは元に戻せる
    RSA, ECDSA, Ed25519, ...

    View Slide

  73. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    デジタル署名
    署名
    ・データからHashを生成
    ・Hashを秘密鍵で暗号化
    ・これを署名として公開
    ・公開鍵ももちろん公開
    検証
    ・データからHash(①)を生成
    ・署名を公開鍵で複合(②)
    ・①と②が一致するかどうか確認
    Hashと公開鍵暗号の秘密鍵を使います
    ぼくドラえもんです ⇨ abcde
    abcde ⇨ くぁwせdrftgyふじこlp
    ぼくドラえもんです (署名:くぁwせdrftgyふじこlp)
    ぼくドラえもんです ⇨ abcde
    くぁwせdrftgyふじこlp ⇨ abcde
    abcde == abcde
    Hashと公開鍵暗号の公開鍵を使います

    View Slide

  74. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    レコードセットの署名
    •dig +dnssec interlingua.co.jp mx
    interlingua.co.jp. 294 IN MX 10 mail.interlingua.co.jp.
    interlingua.co.jp. 294 IN RRSIG MX 13 3 300 20200817003038 20200802230038
    55501 interlingua.co.jp. g5r2rLGrbrX6aYap2p/wDgJgL/LWs18/aQRtZAKDYQxFkF6eQg0Xy0c/
    pNdysOWDNRQxO/4zom+Wvb87YwYl+g==
    interlingua.co.jp. 6 IN DNSKEY 256 3 13 (
    6zijMNFnm5+VuhJQqRG6ehQy0aDjOXYXZmx7yTL46TKp
    RI9p9cCx+aDBhzwa5eK19vCf1MiVoMqIVDBqvFoU8g==
    ) ; ZSK; alg = ECDSAP256SHA256 ; key id = 55501
    interlingua.co.jp. 6 IN DNSKEY 257 3 13 (
    rpYAYd2eS/tow2Be8qrAMHQkl4Lwxp5fsSPQmt9137/s
    3mDX72NyvjXIdYaNcPPUEh5F4FM4iyylFtx9LS4CvA==
    ) ; KSK; alg = ECDSAP256SHA256 ; key id = 63661
    •dig +multi interlingua.co.jp dnskey
    署名
    公開鍵
    署名した人

    View Slide

  75. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    レコードセットの署名
    interlingua.co.jp. 294 IN MX 10 mail.interlingua.co.jp.
    interlingua.co.jp. 294 IN RRSIG MX 13 3 300 20200817003038 20200802230038
    55501 interlingua.co.jp. g5r2rLGrbrX6aYap2p/wDgJgL/LWs18/aQRtZAKDYQxFkF6eQg0Xy0c/
    pNdysOWDNRQxO/4zom+Wvb87YwYl+g==
    interlingua.co.jp. 6 IN DNSKEY 256 3 13 (
    6zijMNFnm5+VuhJQqRG6ehQy0aDjOXYXZmx7yTL46TKp
    RI9p9cCx+aDBhzwa5eK19vCf1MiVoMqIVDBqvFoU8g==
    ) ; ZSK; alg = ECDSAP256SHA256 ; key id = 55501
    署名
    公開鍵
    権威DNSサーバーはMXレコードセットのHashをZSK(Zone Signing Key)の秘密鍵で暗号化し、
    RRSIG MXとして公開
    フルリゾルバーはRRSIGをZSKの公開鍵で復号し、MXレコードセットのHashと合っているかどう
    かを確認
    MXレコードセットはZSKの所有者interlingua.co.jpが書いたものから改ざんされていないことがわかる

    View Slide

  76. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    しかし
    そもそも公開鍵が偽物かも

    View Slide

  77. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    公開鍵も署名しないと

    View Slide

  78. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    公開鍵の署名
    •dig +dnssec +multi interlingua.co.jp dnskey
    interlingua.co.jp. 300 IN DNSKEY 256 3 13 (
    6zijMNFnm5+VuhJQqRG6ehQy0aDjOXYXZmx7yTL46TKp
    RI9p9cCx+aDBhzwa5eK19vCf1MiVoMqIVDBqvFoU8g==
    ) ; ZSK; alg = ECDSAP256SHA256 ; key id = 55501
    interlingua.co.jp. 300 IN DNSKEY 257 3 13 (
    rpYAYd2eS/tow2Be8qrAMHQkl4Lwxp5fsSPQmt9137/s
    3mDX72NyvjXIdYaNcPPUEh5F4FM4iyylFtx9LS4CvA==
    ) ; KSK; alg = ECDSAP256SHA256 ; key id = 63661
    interlingua.co.jp. 300 IN RRSIG DNSKEY 13 3 300 (
    20200817003032 20200802230032 63661 interlingua.co.jp.
    6GYbqK+/csGs3SW70LdxvHwAHM+AAGem6G4vK4OvrJWu
    4lQesbZTVO9fXHIfkSZnx0QqppKSEt9SBhUdVF91lg== )
    署名
    KSKの公開鍵
    ZSKの公開鍵
    権威DNSサーバーはDNSKEYレコードセットのHashをKSK(Key Signing Key)の秘密鍵で暗号化し、
    RRSIG DNSKEYとして公開
    公開鍵はKSKの所有者interlingua.co.jpが書いたものから改ざんされていないことがわかる

    View Slide

  79. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    まだ、なりすませますね

    View Slide

  80. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    鍵のHash(DS)を親Zoneに預ける
    interlingua.co.jp. 300 IN DNSKEY 257 3 13 (
    rpYAYd2eS/tow2Be8qrAMHQkl4Lwxp5fsSPQmt9137/s
    3mDX72NyvjXIdYaNcPPUEh5F4FM4iyylFtx9LS4CvA==
    ) ; KSK; alg = ECDSAP256SHA256 ; key id = 63661
    KSKの公開鍵のHash。
    DSと呼びます
    KSKの公開鍵
    KSK(Key Signing Key)の公開鍵のHashを親のZoneに登録しておく
    •dig interlingua.co.jp ds
    interlingua.co.jp. 4520 IN DS 63661 13 2
    975FAD7B7EF66EEB94F2D364EE1B8A84D9F87C445655FB383A064BD4 78D726DC
    このレコードはjp.のzoneに存在
    interlingua.co.jpのKSKの公開鍵が改ざんされていないことをjpが保証する

    View Slide

  81. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    親ZoneでDSを署名
    •dig +dnssec interlingua.co.jp ds
    interlingua.co.jp. 4087 IN DS 63661 13 2
    975FAD7B7EF66EEB94F2D364EE1B8A84D9F87C445655FB383A064BD4 78D726DC
    interlingua.co.jp. 4087 IN RRSIG DS 8 3 7200 20200831174502 20200801174502
    32163 jp. N8AnyWRKCGnaZmsLPhvkOoUuhKKzwNcPvATKCr4dzTCcmaWFpNDKNEU7
    gddNckfgg2VxtRpvV2ZT5MPcwhWpqWM1O7p+TxX3fz3pYm/7RjoCjvK6
    p5n4IdSmkHCT+9ThHD3popKUWXI/KtXkgXUCkFatkTFxt9uTJOmsXxN/ OVs=
    jp. 86394 IN DNSKEY 256 3 8 (
    AwEAAa9eY9Ns9TIFqb+iYkU9C7n80Y0M1L2NZcEbvmCJ
    frJqQC09tA+7TJbJ7y3k5q+wtYznOpGY1v2qbeTaEbaR
    vr7ZFa/OQUZbl7yE7qNDNVl7+s5/zXFq09hRWoFFaWgY
    5rC75FmeVambDibge+G0yIGNsD1PsYQ/7oG3mujg+0jn
    ) ; ZSK; alg = RSASHA256 ; key id = 32163
    •dig +multi jp dnskey
    署名
    公開鍵
    署名した人

    View Slide

  82. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    これをrootまで繰り返す

    View Slide

  83. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSSECのトラストチェイン
    interlingua.co.jp. IN MX 10 mail.interlingua.co.jp.
    DNSKEY (ZSK)
    DNSKEY (KSK)
    DNSKEY (ZSK)
    DNSKEY (KSK)
    DS
    署名
    署名
    Hashを預ける
    署名
    署名
    DNSKEY (ZSK)
    DNSKEY (KSK)
    DS
    署名
    署名
    interlingua.co.jpのzone
    ルートのzone
    jpのzone

    View Slide

  84. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    Keyのロールオーバー
    •DKIM署名のKeyと同じようにDNSSECのKeyも
    定期的にメールオーバーする必要があります。
    結構複雑なので、次回!

    View Slide

  85. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ドメインの管理

    View Slide

  86. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ドメイン管理の仕組み
    .jpとか.comとかを管理
    .jpの場合JPRS
    お名前.comなど
    jpの場合
    実はクオリティアもこれ

    View Slide

  87. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ドメイン登録の仕組み
    クオリティア
    クオリティア
    JPRS

    View Slide

  88. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ドメイン移管
    JPRS
    クオリティア お名前.com
    ①example.jpを
    お名前.comから
    クオリティアに移して
    ③example.jpをクオリ
    ティアに移していい?
    ②example.jpをクオリ
    ティアに移して
    ④example.jpをクオリ
    ティアに移していい?
    example.jpはお名前.comが管理

    View Slide

  89. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    ドメイン移管
    JPRS
    クオリティア お名前.com
    ①example.jpを
    お名前.comから
    クオリティアに移して
    ③example.jpをクオリ
    ティアに移していい?
    ②example.jpをクオリ
    ティアに移して
    ⑤ええで
    ⑦example.jpはクオリティアが管理
    ④example.jpをクオリ
    ティアに移していい?
    ⑥ええら
    しいわ

    View Slide

  90. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    DNSホスティングサービス
    QT-DNS(仮)
    ご紹介

    View Slide

  91. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    QT-DNS(仮)の範囲
    クライアント
    ルートDNSサーバー
    社内のDNSサーバー スタブリゾルバー
    フルリゾルバー
    フォワーダー
    条件付きフォワーダー
    jpのDNSサーバー
    qualitia.co.jpのDNSサーバー
    権威DNSサーバー
    権威DNSサーバー
    権威DNSサーバー

    View Slide

  92. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    レコードの一覧

    View Slide

  93. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    メール管理者向けのわかりやすい設定

    View Slide

  94. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    権威DNSサービス (今できること)
    • ドメイン登録・管理代行 (手動)
    • DNSサーバのホスティング
    • ns1.qt-dns.com, ns2.qt-dns.com
    • 日本、シンガポールにそれぞれ2系統、計4系統で冗長化
    • 規模に応じてスケールアウト/イン可能
    • DNSSECの自動設定
    • ECDSAP256SHA256のアルゴリズムで署名
    • ZSK, KSKの自動Rollover
    • 2週間のZSK自動Rollover
    • 3ヶ月のKSK自動Rollover
    • レジストリへのDSレコード自動登録
    • MX, SPF, DKIM, DMARC, TXTの親切な登録

    View Slide

  95. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    おわり

    View Slide

  96. Copyright© QUALITIA CO., LTD. All Rights Reserved.
    おまけ
    WindowsのDNSキャッシュをクリアしたい
    ⇨ ipconfig /flushdns
    社内でDNSSEC対応のリゾルバーを試してみたい
    ⇨ 172.16.96.53, 172.16.96.54 にunboundがインストールされています。
    自分でunboundをインストールしてみたい
    ⇨ https://qiita.com/hirachan/items/bb1cf3a7cd2e93ead56d
    フルリゾルバーを変更したい
    Windows ⇨ 設定 ➔ ネットワークとインターネット ➔ アダプターのオプションを変更する ➔ 変更するアダプターをダブルクリック ➔ プロパティ ➔
    インターネットプロトコルバージョン4(TCP/IPv4) ➔ 次のDNSサーバーのアドレスを使う
    Linux ⇨ /etc/resolv.conf

    View Slide