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

DNS Night - SPF/DKIM/DMARC のふわぁーっとした話

skmkzyk
March 26, 2024
25

DNS Night - SPF/DKIM/DMARC のふわぁーっとした話

社内勉強会のスライドです。
あまり枚数もないですが、資料作っている中で、Resource Record (RR) ってこんなに種類あるんだ、とか意外と勉強になりましたw

https://www.progrive.co.jp/

skmkzyk

March 26, 2024
Tweet

Transcript

  1. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. https://twitter.com/_skmkzyk https://zenn.dev/skmkzyk

    https://atbex.attokyo.co.jp/blog/001013001/ https://speakerdeck.com/skmkzyk 自己紹介 Summary Azure を中心とした開発や運用自動化のスペシャリストとして、 日系・外資系 SIer や日本マイクロソフトを経験し、現職にて活 躍中。独法や文教業界を中心に、要件定義から設計構築、 NW/SV/アプリ運用までの幅広いプロジェクトに従事。 日本マイクロソフト時代は、顧客のコスト最適化や人材育成に 向けたコンサルティングを中心に、ビジネスの加速に貢献。 酒見 一幸 (Kazuyuki Sakemi) from 株式会社プログライブ コンサルティング 2
  2. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. DNS のリソース

    タイプ、どれくらいご存じですか 3 A AAAA CNAME MX NS PTR SOA SRV TXT 正引きに使うもの、www.example.com → 203.0.113.80 みたいな ↑ の IPv6 版、くあっどえー、と読むことが多いと思う Canonical Name、別名レコード、DNS の世界でのフォワーディング メールサーバーがどこにあるかを示すもの (権威) DNS サーバーがどこにあるかを示すもの 逆引きに使うもの、 203.0.113.80 → 80.113.0.203.in-addr.arpa. → www.example.com みたいな DNS サーバーに関する権威 (Authoritative) 情報を示すもの Active Directory (AD) 関係で、冗長化とかを担うために使われるもの もはやゴミ箱、とりあえず TXT レコードに入れちゃおうぜ、が横行している
  3. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. もっとあるらしい 4

    タイプ 値 (10進)RFC定義 説明 機能 A 1RFC 1035[1] IPv4 IPアドレスレコード 32ビットのIPv4 IPアドレスを回答する。ホストのIPアドレスにホスト名 をマッピングするために使用する。また、RFC 1101でサブネットマスクを保存するためにDNSBLで使う。他 AAAA 28RFC 3596[2] IPv6 IPアドレスレコード 128ビットのIPv6 IPアドレスを回答する。ホストのIPアドレスにホスト名 をマッピングするために使用する。 AFSDB 18RFC 1183 AFS データベースレコード Location of database servers of an AFS cell. This record is commonly used by AFS clients to contact AFS cells outside their local domain. A subtype of this record is used by the obsolete DCE/DFS file system. APL 42RFC 3123 アドレスのプレフィックスリスト さまざまなアドレスファミリのアドレス範囲(例えばCIDR形式)のリストを指定する。実験的。 CAAレコード(英語版) 257RFC 6844 認証局の認可 DNS Certification Authority Authorization, constraining acceptable CAs for a host/domain CDNSKEY 60RFC 7344 子DNSKEY Child copy of DNSKEY record, for transfer to parent CDS 59RFC 7344 子 DS Child copy of DS record, for transfer to parent CERT 37RFC 4398 証明書レコード Stores PKIX, SPKI, PGP, etc. CNAMEレコード(英語版) 5RFC 1035[1] 別名レコード(Canonical name record) 他の名称へのエイリアス(別名)で使用する。: the DNS lookup will continue by retrying the lookup with the new name. DHCID 49RFC 4701 DHCP識別子 Used in conjunction with the FQDN option to DHCP DLV 32769RFC 4431 DNSSEC Lookaside Validation レコード For publishing DNSSEC trust anchors outside of the DNS delegation chain. Uses the same format as the DS record. RFC 5074 describes a way of using these records. DNAME(英語版) 39RFC 2672 Delegation 名 Alias for a name and all its subnames, unlike CNAME, which is an alias for only the exact name. Like a CNAME record, the DNS lookup will continue by retrying the lookup with the new name. DNSKEY 48RFC 4034 DNS キー record The key record used in DNSSEC. Uses the same format as the KEY record. DS 43RFC 4034 Delegation signer The record used to identify the DNSSEC signing key of a delegated zone HIP(英語版) 55RFC 5205 Host Identity プロトコル Method of separating the end-point identifier and locator roles of IP addresses. HTTPS 65IETF ドラフト HTTPS 割り当て RR that improves performance for clients that need to resolve many resources to access a domain. More info in this IETF Draft by DNSOP Working group and Akamai technologies. IPSECKEY 45RFC 4025 IPsec キー Key record that can be used with IPsec KEY 25RFC 2535[3] and RFC 2930[4]キーレコード Used only for SIG(0) (RFC 2931) and TKEY (RFC 2930).[5] RFC 3445 eliminated their use for application keys and limited their use to DNSSEC.[6] RFC 3755 designates DNSKEY as the replacement within DNSSEC.[7] RFC 4025 designates IPSECKEY as the replacement for use with IPsec.[8] KX 36RFC 2230 鍵交換レコード Used with some cryptographic systems (not including DNSSEC) to identify a key management agent for the associated domain-name. Note that this has nothing to do with DNS Security. It is Informational status, rather than being on the IETF standards-track. It has always had limited deployment, but is still in use. LOCレコード(英語版) 29RFC 1876 位置レコード Specifies a geographical location associated with a domain name MX 15RFC 1035[1] and RFC 7505 電子メール交換レコード ドメインのメール転送エージェント(MTA)のリストとドメイン名をマッピングする。 NAPTRレコード(英語版) 35RFC 3403 Naming Authority Pointer Allows regular-expression-based rewriting of domain names which can then be used as URIs, further domain names to lookups, etc. NS 2RFC 1035[1] ネームサーバーレコード DNSゾーン(英語版)自身や下位ドメインの権威DNSサーバ(英語版)を指定するために使用する NSEC 47RFC 4034 Next-Secure record Part of DNSSEC—used to prove a name does not exist. Uses the same format as the (obsolete) NXT record. NSEC3 50RFC 5155 NSEC record version 3 An extension to DNSSEC that allows proof of nonexistence for a name without permitting zonewalking NSEC3PARAM 51RFC 5155 NSEC3 parameters Parameter record for use with NSEC3 PTR 12RFC 1035[1] ポインタレコード canonical nameへのポインタ。CNAMEとは異なり、DNS処理が停止し、名前のみ回答される。最も一般的な用途は、DNSの逆引きである。他の用途として、DNS-SD(英語版)が含まれる。 RP 17RFC 1183 担当者 Information about the responsible person(s) for the domain. Usually an email address with the @ replaced by a . RRSIG 46RFC 4034 DNSSEC署名 Signature for a DNSSEC-secured record set. Uses the same format as the SIG record. SIG 24RFC 2535 署名 Signature record used in SIG(0) (RFC 2931) and TKEY (RFC 2930).[7] RFC 3755 designated RRSIG as the replacement for SIG for use within DNSSEC.[7] SOA 6RFC 1035[1] and RFC 2308[9]Start of [a zone of] authority レコード DNSゾーン(英語版)に関する特定のauthoritative情報。プライマリネームサーバ、ドメイン管理者の電子メール、ドメインのシリアル番号、ゾーンのリフレッシュに関連するいくつかのタイマーを含む。 SRVレコード(英語版) 33RFC 2782 Service locator Generalized service location record, used for newer protocols instead of creating protocol-specific records such as MX. SSHFP 44RFC 4255 SSH公開鍵フィンガープリント Resource record for publishing SSH public host key fingerprints in the DNS System, in order to aid in verifying the authenticity of the host. RFC 6594 defines ECC SSH keys and SHA-256 hashes. See the IANA SSHFP RR parameters registry for details. SVCB 64IETF ドラフト サービス割り当て RR that improves performance for clients that need to resolve many resources to access a domain. More info in this IETF Draft by DNSOP Working group and Akamai technologies. TA 32768N/A DNSSEC Trust Authorities Part of a deployment proposal for DNSSEC without a signed DNS root. See the IANA database and Weiler Spec for details. Uses the same format as the DS record. TKEYレコード(英語版) 249RFC 2930 秘密鍵レコード A method of providing keying material to be used with TSIG(英語版) that is encrypted under the public key in an accompanying KEY RR.[10] TLSA(英語版) 52RFC 6698 TLSA証明書アソシエーション A record for DNS-based Authentication of Named Entities (DANE). RFC 6698 defines "The TLSA DNS resource record is used to associate a TLS server certificate or public key with the domain name where the record is found, thus forming a 'TLSA certificate association'". TSIG(英語版) 250RFC 2845 Transaction Signature Can be used to authenticate dynamic updates as coming from an approved client, or to authenticate responses as coming from an approved recursive name server[11] similar to DNSSEC. TXTレコード(英語版) 16RFC 1035[1] テキストレコード 当初はDNSレコードで、人間が読めるテキスト形式のレコードだった。しかし、1990年代初頭以来、本レコードは、RFC1464で指定されたように、頻繁に機械可読データに利用されるようになった。日和見暗号化、Sender Policy Framework (SPF)、DKIM、DMARC、DNS-SD(英語版)など。 https://ja.wikipedia.org/wiki/DNS%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E4%B8%80%E8%A6%A7
  4. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. SPF /

    DKIM / DMARC とは 5 そもそもね、メールアドレスを知ってるだけでメールを送れる、認証がないってことなんですよ 相手がだれかを認証して、そのうえで許可して、やっとメールが送れる、そういうもんであるべきなのでは? というのは言い過ぎかもしれませんが、 送信元 (メールアドレス) の詐称のしやすさや、そのメールを送ったのがその本人であることの確認がないことなどの 自由でオープンだったころのインターネットの弊害が大きくなってしまってきている SPF → IP アドレスをベースに、そのメールアドレス (のドメイン) のメールはどこから送信されるべきか、を宣言 DKIM → メールに対して電子署名の仕組みを導入する (S/MIME ってあったよね?) DMARC → SPF/DKIM の条件を満たしていないメールを受け取った際にどうすべきか、送信側が宣言しておく https://ent.iij.ad.jp/articles/172/
  5. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. Gmail とか

    Yahoo とかの話 6 そういったいわゆる詐欺メールが多いことに対して、Gmail などが受信のポリシーを強化した SPF / DKIM / DMARC への対応ができていない送信元からのメールを受信しなくなる、メールが届かなくなる なぜGmailだけ届かなかった? 高校出願システム問題、神奈川県に詳しく聞いた https://www.itmedia.co.jp/news/articles/2402/09/news114.html 本当の原因は分かっていなさそうだが、 当初の SPF などの設定にミスがあったことは Twitter などで指摘されており、 複合的な要因がこのような結果につながったのではないか https://ent.iij.ad.jp/articles/6076/
  6. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. TXT レコードとは何なのか

    7 文字列ならいろいろ入れられそうなレコード タイプがあったのでこれに SPF の情報を入れることになっている DMARC についても、_dmarc.example.com の TXT レコードに入れることになっている DKIM についても、hoge._domainkey.example.com の TXT レコードに入れることになっている そのほかにも、Microsoft Entra ID の custom domain 追加のために TXT レコードを追加したり App Service の custom domain 追加のために TXT レコードを追加したり とりあえずなんかいろんなものが入っていて企業のドメインの TXT レコードを見るのは楽しいって話 TXT レコードを見れば、どんな SaaS を使っているのか、外からうかがうことができたりする
  7. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. HTTPS レコードってのが増えたらしい

    8 “HTTPSレコード”って知ってる?今知るべき4つの注意点 / https://eng-blog.iij.ad.jp/archives/12882
  8. Copyright (C) ProGrive Consulting Co.,Ltd. All rights reserved. 会社名 株式会社プログライブコンサルティング

    [ProGrive Consulting Co., Ltd.] お問い合わせ [email protected] ~ Expand Your Business ~ ~ビジネスの成長、新たな機会の追求、そして未来を切り開く~