HTTPS를 통한 DNS (DoH ) 지원은 Windows 10 2004 빌드(2020년 5월 업데이트)에 나타났습니다. 이제 Windows 10은 기본 제공 DoH 클라이언트를 사용하여 HTTPS 프로토콜을 통해 이름을 확인할 수 있습니다. 이 기사에서는 DNS over HTTPS 프로토콜이 무엇에 사용되는지, 최신 Windows 10 빌드에서 이를 활성화하고 사용하는 방법에 대해 설명합니다.
컴퓨터가 이름을 확인하기 위해 DNS 서버에 연결할 때 인터넷을 통해 일반 텍스트로 DNS 요청/응답을 수신합니다. 공격자는 중간자 공격 유형을 사용하여 트래픽을 가로채거나 방문한 리소스를 감지하거나 DNS 트래픽을 조작할 수 있습니다. DNS over HTTPS는 모든 DNS 쿼리를 암호화하여 사용자 데이터 개인 정보를 보호합니다. DoH 프로토콜은 DNS 쿼리를 HTTPS 트래픽으로 캡슐화하여 DNS 서버로 보냅니다(DoH를 지원하는 특수 DNS 서버를 사용해야 함).
Windows 10 2004에는 아직 GPO 매개변수 또는 그래픽 인터페이스에 DNS-over-HTTPS를 활성화하는 옵션이 없습니다. 현재 레지스트리를 통해 최신 Windows 10 빌드에서만 DoH를 활성화할 수 있습니다.
regedit.exe
실행;- 레지스트리 키
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
로 이동합니다. - 이름이 EnableAutoDoh인 새 DWORD 매개변수 생성 및 값 2;
New-ItemProperty cmdlet을 사용하여 이 레지스트리 매개변수를 만들 수도 있습니다.$EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
$EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord –Force - 그런 다음 DNS 클라이언트 서비스를 다시 시작합니다. 이를 수행하려면 dnscase 서비스를 정상적으로 다시 시작할 수 없으므로 컴퓨터를 재부팅하십시오(
Restart-Service -Name Dnscache –force
명령은 다음 오류를 반환합니다. 컬렉션이 수정되었습니다. 열거 작업이 실행되지 않을 수 있습니다. ).
그런 다음 네트워크 연결의 DNS 설정을 변경해야 합니다. DNS over HTTPS를 지원하는 DNS 서버를 지정해야 합니다. 일부 DNS 서버는 아직 DoH를 지원하지 않습니다. 아래 표는 DNS over HTTPS를 지원하는 공용 DNS 서버 목록을 보여줍니다.
제공자 | DNS over HTTP를 지원하는 DNS 서버의 IP 주소 |
Cloudflare | 1.1.1.1, 1.0.0.1 |
8.8.8.8, 8.8.4.4 | |
Quad9 | 9.9.9.9, 149.112.112.112 |
네트워크 연결 창을 엽니다(제어판 -> 네트워크 및 인터넷 -> 네트워크 및 공유 센터 또는 ncpa.cpl
). ). 그런 다음 네트워크 어댑터 속성에서 현재 DNS 서버 IP 주소를 DoH를 지원하는 DNS 서버 주소로 변경합니다.
PowerShell을 사용하여 네트워크 어댑터 설정에서 DNS 서버 주소를 변경할 수 있습니다(PowerShell을 사용한 네트워크 구성에 대한 문서 참조):
$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '8.8.8.8', '1.1.1.1'
그러면 DNS 클라이언트는 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
HTTPS를 통한 DNS를 올바르게 구성했다면 포트 53에 트래픽이 없을 것입니다(아래 스크린샷은 DoH가 활성화 및 비활성화된 콘솔 출력을 보여줍니다).
다음 온라인 서비스(DNSSEC 확인)를 사용하여 HTTPS를 통한 DNS가 컴퓨터에서 작동하는지 확인할 수도 있습니다. https://www.cloudflare.com/ssl/encrypted-sni/
작년에 HTTPS를 통한 DNS는 모든 인기 있는 브라우저(Google Chrome, Mozilla Firefox, Microsoft Edge, Opera)에서 구현되었습니다. 각각에서 DoH 지원을 활성화할 수 있습니다. 따라서 브라우저의 모든 DNS 쿼리가 암호화됩니다(다른 앱의 DNS 트래픽은 여전히 일반 텍스트로 전송됨).
DNS over HTTPS 및 DNS over TLS는 내부 네트워크에서 외부 리소스에 대한 액세스를 제한하는 것이 더 어렵기 때문에 기업 네트워크 관리자에게 많은 문제를 일으킬 것입니다.