HTTPS 経由の DNS クライアントのセキュリティ保護 (DoH)

Windows Server 2022 から、DNS クライアントは DNS over HTTPS (DoH) をサポートします。 DoH が有効になっている場合、Windows Server の DNS クライアントと DNS サーバーの間の DNS クエリは、プレーンテキストではなく、セキュリティで保護された HTTPS 接続を通して渡されます。 暗号化された接続間で DNS クエリを渡すことによって、信頼されていないサード パーティによる傍受から保護します。

DoH をサポートする DNS クライアントを構成する

ネットワーク インターフェイスに対して選択したプライマリまたはセカンダリ DNS サーバーが既知の DoH サーバーの一覧に含まれている場合にのみ、DoH を使用する Windows Server クライアントを構成できます。 DoH が必須、DoH を要求する、または従来のプレーンテキストの DNS クエリのみを使用する DNS クライアントを構成できます。 デスクトップ エクスペリエンスを備えた Windows Server で DoH をサポートする DNS クライアントを構成するには、次の手順を実行します。

  1. Windows の設定のコントロール パネルから、[ネットワークとインターネット] を選択します。

  2. [ネットワークとインターネット] ページで、[イーサネット] を選択します。

  3. [イーサネット] 画面で、DoH 用に構成するネットワーク インターフェイスを選択します。

    screen shot of ethernet settings

  4. [ネットワーク] 画面で、[DNS 設定] まで下にスクロールし、[編集] ボタンを選択します。

  5. [DNS 設定の編集] 画面で、自動または手動の IP 設定のドロップダウンから [手動] を選択します。 この設定を使用すると、優先 DNS サーバーと代替 DNS サーバーを構成できます。 これらのサーバーのアドレスが既知の DoH サーバーの一覧に存在する場合は、[優先 DNS 暗号化] ドロップダウンが有効になります。 次の設定項目から選択して、優先 DNS 暗号化を設定できます。

    • 暗号化のみ (HTTPS 経由の DNS)。 この設定を選択すると、すべての DNS クエリ トラフィックが HTTPS 経由で渡されます。 この設定にすると、DNS クエリ トラフィックに最適な保護が提供されます。 ただし、これは、ターゲット DNS サーバーが DoH クエリをサポートできない場合は DNS 解決が行われないことも意味します。

    • 暗号化優先、非暗号化の許可。 この設定を選択すると、DNS クライアントは DoH の使用を試み、それができない場合は暗号化されていない DNS クエリにフォールバックします。 この設定は、DoH 対応 DNS サーバーに対する最適な互換性を提供しますが、DNS クエリが DoH からプレーンテキストに切り替わった場合に通知は行われません。

    • 非暗号化のみ。 指定した DNS サーバーへの DNS クエリ トラフィックはすべて、暗号化されません。 この設定により、従来のプレーンテキスト DNS クエリを使用する DNS クライアントを構成します。

      screen shot of dns settings

  6. [保存] を選択して、DoH 設定を DNS クライアントに適用します。

PowerShell を使用して、Set-DNSClientServerAddress コマンドレットを使ってクライアントの DNS サーバー アドレスを構成している場合、DoH 設定は、サーバーのフォールバック設定が既知の DoH サーバー テーブルの一覧にあるかどうかによって異なります。 現時点では、Windows Server 2022 で Windows Admin Center または sconfig.cmd を使用して DNS クライアントの DoH 設定を構成することはできません。

グループ ポリシーを使用して DoH を構成する

Windows Server 2022 のローカルおよびドメイン グループ ポリシーの設定には、Configure DNS over HTTPS (DoH) name resolution (DNS over HTTPS (DoH) 名前解決の構成) ポリシーが含まれています。 これを使用して、DoH を使用する DNS クライアントを構成できます。 このポリシーは、Computer Configuration\Policies\Administrative Templates\Network\DNS Client ノードにあります。 有効にすると、このポリシーで次の設定を構成できます。

  • Allow DoH (DoH を許可)。 指定した DNS サーバーがこのプロトコルをサポートしている場合、DoH を使用してクエリが実行されます。 サーバーが DoH をサポートしていない場合は、暗号化されていないクエリが発行されます。

  • Prohibit DoH (DoH を禁止)。 DNS クライアント クエリでの DoH の使用を禁止します。

  • Require DoH (DoH を必須にする)。 DoH を使用してクエリを実行することを必須にします。 構成された DNS サーバーが DoH をサポートしない場合、名前解決は失敗します。

    screenshot of dns configuration.

ドメインに参加しているコンピューターに対して [Require DoH] (DoH を必須にする) オプションを有効にしないでください。Windows Server DNS Server サービスは DoH クエリをサポートしていないため、Active Directory Domain Services は DNS に大きく依存しています。 Active Directory Domain Services ネットワーク上の DNS クエリ トラフィックの暗号化を必須にする場合は、このトラフィックを保護するために IPsec ベースの接続セキュリティ規則を実装することを検討してください。 詳細については、「IKEv2 を使用したエンドツーエンドの IPsec 接続のセキュリティ保護」を参照してください。

どの DoH サーバーが既知のサーバーの一覧にあるかを確認する

Windows Server には、DoH をサポートすることが確認されているサーバーの一覧が含まれています。 この一覧にどの DNS サーバーが含まれているかは、Get-DNSClientDohServerAddress PowerShell コマンドレットを使用して確認できます。

screenshot of powershell command

既知の DoH サーバーの既定の一覧は次のとおりです。

サーバー所有者 DNS サーバーの IP アドレス
Cloudflare 1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
Google 8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
Quad 9 9.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::fe:9

新しい DoH サーバーを既知のサーバーの一覧に追加する

Add-DnsClientDohServerAddress PowerShell コマンドレットを使用して、既知のサーバーの一覧に新しい DoH サーバーを追加できます。 DoH テンプレートの URL と、セキュリティで保護されたクエリが失敗した場合にクライアントが暗号化されていないクエリにフォールバックすることを許可するかどうかを指定します。 このコマンドの構文は次のとおりです。

Add-DnsClientDohServerAddress -ServerAddress '<resolver-IP-address>' -DohTemplate '<resolver-DoH-template>' -AllowFallbackToUdp $False -AutoUpgrade $True

DoH で名前解決ポリシー テーブルを使用する

名前解決ポリシー テーブル (NRPT) を使用して、特定の DNS サーバーを使用する特定の DNS 名前空間に対するクエリを構成できます。 DNS サーバーが DoH をサポートすることがわかっている場合、そのドメインに関連するクエリは、暗号化されていない方法ではなく DoH を使用して実行されます。