Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

Windows 10でDNS over HTTPS(DoH)を有効化する方法【レジストリ設定手順】

DNS over HTTPS(DoH)とは?

DNS over HTTPS(DoH)のサポートは、Windows 10 2004ビルド(2020年5月アップデート)から搭載されました。これにより、Windows 10は内蔵のDoHクライアントを使用して、HTTPS経由でDNS名前解決を行えるようになっています。

通常、パソコンがDNSサーバーに接続して名前解決を行う際、DNSのリクエストやレスポンスは平文(暗号化されていない状態)でインターネット上を送受信されます。そのため、攻撃者にトラフィックを傍受されれば、どのサイトにアクセスしたかが盗み見られたり、中間者攻撃(Man-in-the-Middle)によってDNSトラフィックを改ざんされたりする危険性があります。

DoHプロトコルは、すべてのDNSクエリをHTTPSで暗号化することで、ユーザーのプライバシーを保護します。DNSクエリをHTTPSトラフィックにカプセル化し、DoH対応のDNSサーバーへ送信する仕組みです。

レジストリでDoHを有効にする手順

Windows 10 2004には、グループポリシー(GPO)やGUIでのDoH有効化オプションがまだ用意されていません。現時点では、最新のWindows 10ビルドにおいてレジストリ経由でのみDoHを有効化できます。

手順1:レジストリエディターを起動

  1. regedit.exeを実行します。
  2. 以下のレジストリキーへ移動します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

手順2:DWORD値を作成

新しいDWORD値としてEnableAutoDohを作成し、値を2に設定します。

PowerShellを使えば、以下のコマンドでも同じ設定が可能です。

$EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
$EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord –Force

手順3:PCを再起動

設定を反映させるには、DNSクライアントサービスの再起動が必要です。ただし、dnscacheサービスは通常の手順では再起動できず、Restart-Service -Name Dnscache –forceを実行すると「Collection was modified; enumeration operation may not execute」というエラーが返されるため、パソコンの再起動を行ってください。

DoH対応のパブリックDNSサーバーを設定する

次に、ネットワーク接続のDNS設定を変更し、DoHに対応したDNSサーバーを指定します。すべてのDNSサーバーがDoHに対応しているわけではない点に注意してください。主なDoH対応パブリックDNSサーバーは以下のとおりです。

プロバイダーDoH対応DNSサーバーのIPアドレス
Cloudflare1.1.1.1、1.0.0.1
Google8.8.8.8、8.8.4.4
Quad99.9.9.9、149.112.112.112

GUIでDNSサーバーを変更する方法

ネットワーク接続画面(コントロールパネル → ネットワークとインターネット → ネットワークと共有センター、または ncpa.cpl)を開き、ネットワークアダプターのプロパティから現在のDNSサーバーのIPアドレスを、DoH対応のアドレスに変更します。

PowerShellでDNSサーバーを変更する方法

PowerShellを使用すれば、コマンド一つでDNSサーバーアドレスを変更できます。

$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '8.8.8.8', '1.1.1.1'

PktMonでDoHの動作を確認する

設定完了後、DNSクライアントは名前解決に標準のUDP/TCPポート53ではなく、HTTPS(443番ポート)を使用するようになります。

ネットワークトラフィックをキャプチャできるツール「PktMon.exe」を使えば、コンピュータからポート53へのDNSリクエストが送信されていないことを確認できます。

まず、既存のパケットモニターフィルタをすべて削除します。

pktmon filter remove

次に、デフォルトのDNSポート(53番)に対する新しいフィルタを作成します。

pktmon filter add -p 53

リアルタイムのトラフィック監視を開始します(トラフィックはコンソールに表示されます)。

pktmon start --etw -p 0 -l real-time

DoHが正しく設定されていれば、ポート53上のトラフィックは一切表示されません。DoH有効時と無効時の出力結果を見比べることで、動作確認が可能です。

また、Cloudflareが提供するオンラインチェックツール(https://www.cloudflare.com/ssl/encrypted-sni/)でも、お使いのパソコンでDNS over HTTPSが機能しているかを確認できます。

ブラウザ側のDoHサポートについて

ここ数年で、DNS over HTTPSは主要なブラウザ(Google Chrome、Mozilla Firefox、Microsoft Edge、Opera)すべてに実装されています。それぞれのブラウザ設定からDoHを有効化すれば、ブラウザからのDNSクエリは暗号化されます(ただし、他のアプリケーションのDNSトラフィックは依然として平文で送信される点に注意してください)。

一方で、DoHやDoT(DNS over TLS)の普及は企業ネットワーク管理者にとって頭痛の種にもなります。内部ネットワークから外部リソースへのアクセス制限が難しくなるため、運用ポリシーの見直しが必要となるケースもあるでしょう。

  1. 【Windows 10】「DNSサーバーが応答しません」エラーの原因と12の解決方法を徹底解説

    現代において、ほとんどのビジネスパーソンや専門家はインターネットなしには仕事が成り立ちません。そのため、貴重な情報を収集しようとしている最中にインターネットへアクセスできなくなると、深刻な支障をきたします。特に、締め切りが迫った作業に追われているときはなおさらです。インターネット接続を妨げる厄介な原因のひとつが、「DNSサーバーが応答しません(DNS Server Not Responding)」というエラーです。まるで昔話に出てくるように、橋の下に座るトロールが「ここは通さぬぞ!」と言って行く手を阻むようなものです。しかし安心してください。この記事で紹介するシンプルなトラブルシューティングの

  2. Windows 11でDNSサーバーを変更する方法【設定アプリ・コントロールパネル対応】

    Windows 11のPCやノートパソコンでDNS設定を見直すことは、プライバシーを強化したい方にとって重要な作業です。Webページを開くときも、アプリがバックグラウンドでサーバーに接続するときも、DNSを変更しておけばPC上のすべてのインターネット通信を保護できます。この記事では、初心者の方に向けて、Windows 11でDNSサーバーを変更する方法を2つの手順で詳しく解説します。 DNSとは?なぜ変更する必要があるのか? 多くの人にとって、インターネットへの接続はスイッチを入れるように簡単なものになっています。面倒な手順を踏むことなく、数秒でデバイスをネットワークにつなげられるのは、D