Share
Embed
Web アクセスの基礎 - DNS のセキュリティ
2025/11/1 開催の「HTML5 11th Anniversary」(https://html5.connpass.com/event/370534/) で行ったセッションのスライドです。
ほとんどすべての Web アクセスでは DNS による名前解決が必要です。そのため DNS のセキュリティは重要でなければなりませんが、さまざまな理由で必ずしも安全ではないもあります。
このセッションでは現在どのような方法で DNS のセキュリティを確保できるのか、その概要を解説しています。
Murachi Akira PRO
October 31, 2025
Transcript
61 slides
-
About me • Murachi Akira aka hebikuzure ( 村地 彰
) • 株式会社エクシードワン 技術フェロー • 株式会社シーピーエス 技術教育スペシャリスト • 専門学校東京テクニカルカレッジ非常勤講師 • Microsoft MVP (Most Valuable Professional) • Since Apr. 2011 ( 15 Years! ) • Award Category: Windows and Devices - Windows Cloud and Datacenter Management – Windows Server • Expertise • Windows client / user management and security • Microsoft 365, Active Directory, Microsoft Endpoint Manager https://www.linkedin.com/in/akiramurachi/ https://www.facebook.com/amurachi/ https://x.com/hebikuzure 2025/09/25 2 Murachi Akira aka Hebikuzure -
目次 • DNS • DNSSEC / DNSCurve • DoH /
DoT • Zero Trust DNS • まとめ 2025/09/25 Murachi Akira aka Hebikuzure 3 -
DNS(Domain Name System) • ドメイン名と IP アドレスの対応を管理するシステム • 対応付けの情報=ゾーン情報 2025/09/25
Murachi Akira aka Hebikuzure 5 -
DNS(Domain Name System) • ドメイン名と IP アドレスの対応を管理するシステム • 対応付けの情報=ゾーン情報 •
ドメイン名 ⇒ IP アドレス :正引き • IP アドレス ⇒ ドメイン名 :逆引き 2025/09/25 Murachi Akira aka Hebikuzure 6 -
DNS によるドメイン名の管理 • DNS サーバーにより階層化して管理される 2025/09/25 Murachi Akira aka Hebikuzure
7 https://www.nic.ad.jp/ja/newsletter/No22/080.html より引用 -
DNS の問い合わせ • DNS プロトコルでドメイン名を管理している DNS サーバーに、 • ドメイン名に対応する IP
アドレスを問い合わせる (A レコード、AAAA レコード) • IP アドレスに対応するドメイン名を問い合わせる (PTR レコード) 2025/09/25 Murachi Akira aka Hebikuzure 8 -
DNS の問い合わせ • DNS プロトコルでドメイン名を管理している DNS サーバーに、 • ドメイン名に対応する IP
アドレスを問い合わせる(A レコード、AAAA レコード) • IP アドレスに対応するドメイン名を問い合わせる(PTR レコード) • IP アドレス以外の情報も問い合わせできる • MX レコード(メールサーバーの情報) • NS レコード(権威ネームサーバーの情報) • SRV レコード(サービスの情報) • CNAME レコード(別名の情報) 2025/09/25 Murachi Akira aka Hebikuzure 9 -
名前解決(resolve) • DNS でドメイン名から IP アドレスを取得すること • リゾルバー:名前解決を行う仕組み(プログラム) • 権威
DNS サーバー:ゾーン情報を管理しているサーバー • リゾルバーは権威 DNS サーバーの情報を参照して IP アドレスを取得 2025/09/25 Murachi Akira aka Hebikuzure 10 -
再帰問い合わせと反復問い合わせ 2025/09/25 Murachi Akira aka Hebikuzure 13 https://www.nic.ad.jp/ja/newsletter/No22/080.html より引用 再帰問い合わせ
他のリゾルバーに問い合わせを依頼するだけ 権威サーバーへの問い合わせを行わない -
再帰問い合わせと反復問い合わせ 2025/09/25 Murachi Akira aka Hebikuzure 15 https://www.nic.ad.jp/ja/newsletter/No22/080.html より引用 再帰問い合わせ
反復 問い合わせ 階層ごとの権威サーバーへ 繰り返し問い合わを行う -
さまざまな登場人物 • スタブ リゾルバー: 再帰問い合わせをおこなう DNS クライアント • フルサービス リゾルバー:
反復問い合わせをおこなう DNS クライアント • キャッシュ サーバー: 問い合わせ結果をキャッシュして、キャッシュを利用して応答する DNS サーバー • 権威サーバー: ゾーン情報を管理している DNS サーバー 2025/09/25 Murachi Akira aka Hebikuzure 16 -
• スタブ リゾルバー: 再帰問い合わせをおこなう DNS クライアント • フルサービス リゾルバー: 反復問い合わせをおこなう
DNS クライアント • キャッシュ サーバー: 問い合わせ結果をキャッシュして、キャッシュを利用して応答する DNS サーバー • 権威サーバー: ゾーン情報を管理している DNS サーバー さまざまな登場人物 2025/09/25 Murachi Akira aka Hebikuzure 17 -
• スタブ リゾルバー: 再帰問い合わせをおこなう DNS クライアント • フルサービス リゾルバー: 反復問い合わせをおこなう
DNS クライアント • キャッシュ サーバー: 問い合わせ結果をキャッシュして、キャッシュを利用して応答する DNS サーバー • 権威サーバー: ゾーン情報を管理している DNS サーバー さまざまな登場人物 2025/09/25 Murachi Akira aka Hebikuzure 18 再帰問い合わせ スタブ リゾルバー -
• スタブ リゾルバー: 再帰問い合わせをおこなう DNS クライアント • フルサービス リゾルバー: 反復問い合わせをおこなう
DNS クライアント • キャッシュ サーバー: 問い合わせ結果をキャッシュして、キャッシュを利用して応答する DNS サーバー • 権威サーバー: ゾーン情報を管理している DNS サーバー さまざまな登場人物 2025/09/25 Murachi Akira aka Hebikuzure 19 フルサービス リゾルバー / キャッシュ サーバー 反復 問い合わせ 再帰問い合わせ スタブ リゾルバー -
• スタブ リゾルバー: 再帰問い合わせをおこなう DNS クライアント • フルサービス リゾルバー: 反復問い合わせをおこなう
DNS クライアント • キャッシュ サーバー: 問い合わせ結果をキャッシュして、キャッシュを利用して応答する DNS サーバー • 権威サーバー: ゾーン情報を管理している DNS サーバー さまざまな登場人物 2025/09/25 Murachi Akira aka Hebikuzure 20 フルサービス リゾルバー / キャッシュ サーバー 反復 問い合わせ 再帰問い合わせ スタブ リゾルバー 権威サーバー -
DNS のセキュリティ • DNS の仕様(RFC1034/1035)ではネットワーク セキュリティはほ ぼ考慮されていない • クライアント認証無し •
サーバー認証無し • 平文通信(暗号化なし) 2025/09/25 Murachi Akira aka Hebikuzure 22 -
DNS のセキュリティ技術 • DNSSEC • DNSCurve • DoH(DNS over HTTPS)
• DoT(DNS over TLS) • Zero trust DNS 2025/09/25 Murachi Akira aka Hebikuzure 23 -
DNSSEC • 電子署名の仕組みを利用して以下を検証する • 応答が、問い合わせた本来の権威ネームサーバからの応答かどうか • パケット内容が改ざんされていないかどうか • 問い合わせたレコードが存在するか否か •
DNS キャッシュポイズニングへの対策 2025/09/25 Murachi Akira aka Hebikuzure 25 -
DNSSEC 23 May 2020 ©Murachi Akira aka hebikuzure 26 署名
署名 署名 権威 DNS サーバー jp co company www.company.co.jp キャッシュ DNS サーバー DNS クライアント 署名付き回答 -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 27 DNS サーバー
リゾルバ DNSSEC 問い合わせ -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 28 DNS サーバー
リソースレコード ハッシュ化 ハッシュ値 リゾルバ DNSSEC 問い合わせ -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 29 DNS サーバー
秘密鍵 で暗号化 リソースレコード ハッシュ化 ハッシュ値 署名 リゾルバ DNSSEC 問い合わせ -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 30 DNS サーバー
秘密鍵 で暗号化 リソースレコード ハッシュ化 ハッシュ値 署名 リソースレコード 署名 リゾルバ DNSSEC 問い合わせ -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 31 DNS サーバー
秘密鍵 で暗号化 リソースレコード ハッシュ化 ハッシュ値 署名 リソースレコード 署名 リソースレコード ハッシュ化 ハッシュ値 リゾルバ DNSSEC 問い合わせ -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 32 DNS サーバー
秘密鍵 で暗号化 リソースレコード ハッシュ化 ハッシュ値 署名 リソースレコード 署名 リソースレコード ハッシュ化 ハッシュ値 署名 公開鍵 で復号 ハッシュ値 リゾルバ DNSSEC 問い合わせ -
DNSSEC の仕組み 2025/09/25 Murachi Akira aka Hebikuzure 33 DNS サーバー
秘密鍵 で暗号化 リソースレコード ハッシュ化 ハッシュ値 署名 リソースレコード 署名 リソースレコード ハッシュ化 ハッシュ値 署名 公開鍵 で復号 ハッシュ値 照合 リゾルバ DNSSEC 問い合わせ -
DNSSEC の課題 • ネットワーク負荷の増大 • DNSクエリとレスポンスのサイズが増加する • サーバ負荷の増大 • 電子署名とその検証の負荷がかかる
• 運用工数の増大 • 暗号鍵やハッシュの管理・運用が複雑 2025/09/25 Murachi Akira aka Hebikuzure 34 -
DNSCurve • 権威 DNS サーバーとキャッシュ サーバー(フルサービス リゾルバー)の 間の通信を暗号化する • サーバー検証とペイロード(DNS
レコード)の保護 2025/09/25 Murachi Akira aka Hebikuzure 36 -
DNSCurve 23 May 2020 ©Murachi Akira aka hebikuzure 37 権威
DNS サーバー jp co company www.company.co.jp キャッシュ DNS サーバー DNS クライアント 暗号化 -
DoH /DoT • DoH : DNS over HTTPS • DNS
クエリと応答を HTTPS でカプセル化 • 443 ポートを利用 • DoT : DNS over TLS • DNS クエリと応答を TLS で暗号化 • 853 ポートを利用(他のポートも利用可) 2025/09/25 Murachi Akira aka Hebikuzure 39 -
DoH /DoT 2025/09/25 Murachi Akira aka Hebikuzure 40 IP TCP
TLS DNS IP TCP TLS HTTPS DNS DNS over HTTPS DNS over TLS ネットワーク層 トランスポート層 アプリケーション層 -
DoH 23 May 2020 ©Murachi Akira aka hebikuzure 41 権威
DNS サーバー jp co company www.company.co.jp キャッシュ DNS サーバー DNS クライアント HTTPS (カプセル化された DNS) -
DoH 23 May 2020 ©Murachi Akira aka hebikuzure 42 権威
DNS サーバー jp co company www.company.co.jp キャッシュ DoH サーバー DNS クライアント HTTPS (カプセル化された DNS) 443番 ポート -
DoT 23 May 2020 ©Murachi Akira aka hebikuzure 43 権威
DNS サーバー jp co company www.company.co.jp キャッシュ DNS サーバー DNS クライアント TLS で暗号化された DNS -
DoT 23 May 2020 ©Murachi Akira aka hebikuzure 44 権威
DNS サーバー jp co company www.company.co.jp キャッシュ DoT サーバー DNS クライアント TLS で暗号化された DNS 853番 ポート -
DNSSEC・DNSCurve・DoH・DoT • DNSSEC = DNS SECurity extensions • 電子署名つき DNS
応答、暗号化しない(機密性はない)完全性の保証 • DNSCurve • 権威サーバーとキャッシュ サーバーの DNS 通信の暗号化 機密性の保証 • DoH/DoT • クライアントとキャッシュ サーバーの DNS 通信の暗号化 機密性の保証 • DNSSECが守るもの ≠ DNSCurve が守るもの ≠ DoH/DoTが守 るもの • DoH/DoT と DNSSEC / DNSCurve は共に必要な技術 2025/09/25 Murachi Akira aka Hebikuzure 45 -
守られるもの • DNSSEC • DNS 応答のセキュリティ • DNS サーバー自体のセキュア化 •
DNSCurve • DNS キャッシュ サーバーのDNS 通信のセキュリティ • DNS 通信経路のセキュア化 • DoH/DoT • DNS クライアントの DNS 通信のセキュリティ • DNS 通信経路のセキュア化 2025/09/25 Murachi Akira aka Hebikuzure 46 -
守られないもの • クライアントのセキュリティ • 問い合わせ先の DNS サーバーは「安全」ですか? • DNS はアプリケーション
プロトコルなので、アプリごとに独自の DNS 設定が可能 • Windows 10 以降、Wi-Fi プロファイルごとに(ユーザー権限で) DNS 設定が可能 • HOSTS ファイルの改ざんの可能性もある 2025/09/25 Murachi Akira aka Hebikuzure 47 -
DNSSECとDoH/DoTで守られないもの • クライアントのセキュリティ • 問い合わせ先の DNS サーバーは「安全」ですか? • DNS はアプリケーション
プロトコルなので、アプリごとに独自の DNS 設定が可能 • Windows 10 以降、Wi-Fi プロファイルごとに(ユーザー権限で) DNS 設定が可能 2025/09/25 Murachi Akira aka Hebikuzure 48 攻撃者が DNS 設定を ハイジャック可能 -
Zero Trust DNS • DNS クライアント(Windows 環境)の保護 • 信頼され認証された DNS
サーバーとの保護された DNS 通信でのみ 名前解決を許可する • 保護された DNS 通信を経由する、信頼された名前解決で提供され た IP アドレスのみ送信接続を許可する • Windows 11 Insider Preview でプレビュー提供中 2025/09/25 Murachi Akira aka Hebikuzure 50 -
Zero Trust DNS の仕組み • Windows フィルタリング プラットフォーム (WFP) を利用する
• 「保護 DNS」(Protective DNS, PDNS) への DoH/DoT トラフィッ クと、保護 DNS で解決された IP アドレスへの通信のみ許可する • それ以外のトラフィックをブロックする 2025/09/25 Murachi Akira aka Hebikuzure 51 PDNS Malicious DNS Zero Trust DNS -
Zero Trust DNS の動作(1) 2025/09/25 Murachi Akira aka Hebikuzure 52
MDM などを通じて Windows に Zero Trust DNS (ZTDNS) クライアントの 構成情報をプロビジョニング • 常に許可するサブネットの一覧 • PDNS サーバーのリスト • PDNS サーバーの証明書、 • クライアント認証に使用される証明書 以下の図版は https://techcommunity.microsoft.com/blog/networkingblog/announcing-zero-trust-dns-private-preview/4110366 から引用 -
Zero Trust DNS の動作(2) 2025/09/25 Murachi Akira aka Hebikuzure 53
PDNS サーバーへの接続と、ネットワーク接続情報の検出に必要な DHCP などを除く、すべての送信 IPv4 / IPv6 トラフィックをブロック DHCP や RDNSS での DNS 構成情報は無視される -
Zero Trust DNS の動作(3) 2025/09/25 Murachi Akira aka Hebikuzure 54
1. アプリケーションは ZTDNS クライアントにクエリを送信 2. ZTDNS クライアントは事前構成された PDNS に DoH/DoT で問い合わせ 3. PDNS サーバーは許可されているクライアントからの問い合わせか、 許可されているドメイン名の問い合わせかをチェック -
Zero Trust DNS の動作(4) 2025/09/25 Murachi Akira aka Hebikuzure 55
4. PDNS サーバーは ZTDNS クライアントに応答 5. ZTDNS クライアントは応答された IP アドレスへの送信接続を、クエリ元の アプリケーションに対して許可 6. ZTDNS クライアントからアプリケーションに DNS 応答を返却 7. アプリケーションが目的のドメインに送信接続 -
Zero Trust DNS の動作(5) 2025/09/25 Murachi Akira aka Hebikuzure 56
ZTDNS を経由しない DNS クエリや送信接続はすべてブロックされる -
Zero Trust であるということ • DNS を含むトラフィックがデフォルトで禁止されていると想定 • 「保護された DNS サーバーで名前解決できた
IP アドレス=信頼され る送信先」という検証を通信ごとに行う • DNS サーバーを通じてドメイン名ベースのアクセス制御が可能 2025/09/25 Murachi Akira aka Hebikuzure 57 -
ZTDNS の互換性 • PDNS (DNS サーバー) の最小要件は DoH または DoT
のサポート • クライアント検証、ドメイン名検証はオプション • 新しいネットワークプロトコルの追加は無い • 今までの DNS エコシステムと互換性がある 2025/09/25 Murachi Akira aka Hebikuzure 58 -
DNS をセキュアにして 安全なインターネット アクセス • DNS • DNSSEC / DNSCurve
• DoH / DoT • Zero Trust DNS 2025/09/25 Murachi Akira aka Hebikuzure 60