Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

Windows 10에서 DoH(DNS over HTTPS) 활성화하는 방법 완벽 가이드

DNS over HTTPS(DoH)는 Windows 10 2004 빌드(2020년 5월 업데이트)부터 공식 지원되기 시작했습니다. 이제 Windows 10은 내장된 DoH 클라이언트를 사용하여 HTTPS 프로토콜을 통해 도메인 이름을 확인할 수 있습니다. 이 글에서는 DNS over HTTPS 프로토콜이 왜 필요한지, 그리고 최신 Windows 10 빌드에서 이를 활성화하고 사용하는 방법을 단계별로 자세히 안내합니다.

DNS over HTTPS(DoH)란 무엇인가?

컴퓨터가 도메인 이름 확인을 위해 DNS 서버에 접속할 때, DNS 요청과 응답은 인터넷을 통해 평문(clear text)으로 전송됩니다. 이 경우 공격자가 트래픽을 가로채어 사용자가 방문한 사이트를 엿보거나, 중간자(man-in-the-middle) 공격을 통해 DNS 트래픽을 조작할 수 있는 보안 취약점이 존재합니다.

DNS over HTTPS는 모든 DNS 쿼리를 암호화하여 사용자 데이터의 프라이버시를 보호하는 프로토콜입니다. DoH는 DNS 쿼리를 HTTPS 트래픽으로 캡슐화하여 전송하므로, 반드시 DoH를 지원하는 전용 DNS 서버를 사용해야 합니다.

레지스트리를 통해 DoH 활성화하기

Windows 10 2004에는 DoH를 활성화할 수 있는 그룹 정책(GPO) 매개변수나 그래픽 인터페이스 옵션이 아직 제공되지 않습니다. 현재로서는 최신 Windows 10 빌드에서 레지스트리 편집을 통해서만 DoH를 활성화할 수 있습니다.

  1. regedit.exe를 실행합니다.
  2. 다음 레지스트리 키로 이동합니다:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. EnableAutoDoh라는 이름의 새 DWORD 값을 생성하고 데이터를 2로 설정합니다.
    PowerShell의 New-ItemProperty cmdlet을 사용하면 더욱 간편하게 생성할 수 있습니다:
    $EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
    $EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
    New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord –Force
  4. DNS 클라이언트 서비스를 재시작해야 합니다. dnscache 서비스는 정상적인 방법으로 재시작할 수 없으므로(Restart-Service -Name Dnscache –force 명령 실행 시 "Collection was modified; enumeration operation may not execute" 오류가 반환됨), 컴퓨터를 재부팅해야 변경 사항이 적용됩니다.

DoH 지원 DNS 서버로 변경하기

다음으로 네트워크 연결의 DNS 설정을 변경해야 합니다. DNS over HTTPS를 지원하는 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

네트워크 연결 창을 연 후(제어판 → 네트워크 및 인터넷 → 네트워크 및 공유 센터 또는 ncpa.cpl 실행), 네트워크 어댑터 속성에서 현재 DNS 서버 IP 주소를 위 표의 DoH 지원 주소로 변경합니다.

PowerShell을 사용하여 네트워크 어댑터의 DNS 서버 주소를 변경할 수도 있습니다:

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

설정이 완료되면 DNS 클라이언트는 기존의 UDP/TCP 53 포트 대신 HTTPS(443 포트)를 통해 DNS 이름 확인을 수행합니다.

PktMon으로 DoH 작동 여부 확인하기

네트워크 트래픽 캡처 도구인 PktMon.exe를 활용하면 컴퓨터에서 53 포트로 DNS 요청이 더 이상 전송되지 않는지 확인할 수 있습니다.

먼저 현재 설정된 패킷 모니터 필터를 모두 제거합니다:

pktmon filter remove

기본 DNS 포트(53)에 대한 새 필터를 생성합니다:

pktmon filter add -p 53

실시간 트래픽 모니터링을 시작합니다(트래픽이 콘솔에 표시됨):

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

DNS over HTTPS가 올바르게 구성되었다면 53 포트에서는 어떠한 트래픽도 감지되지 않아야 합니다.

또한 Cloudflare에서 제공하는 온라인 검사 서비스(DNSSEC 확인)를 통해서도 DoH 작동 여부를 확인할 수 있습니다: https://www.cloudflare.com/ssl/encrypted-sni/

브라우저의 DoH 지원 현황

최근 1년 동안 DNS over HTTPS는 모든 주요 브라우저(Google Chrome, Mozilla Firefox, Microsoft Edge, Opera)에 구현되었습니다. 각 브라우저 설정에서 DoH를 활성화하면 브라우저의 모든 DNS 쿼리가 암호화됩니다. 단, 이 경우에도 다른 응용 프로그램의 DNS 트래픽은 여전히 평문으로 전송된다는 점에 유의해야 합니다.

기업 환경에서의 고려 사항

DNS over HTTPS와 DNS over TLS는 기업 네트워크 관리자에게 새로운 과제를 안겨줍니다. DNS 쿼리가 암호화되면 내부 네트워크에서 외부 리소스로의 접근을 제어하고 필터링하기가 훨씬 어려워지기 때문입니다. 따라서 기업 환경에서는 DoH 도입 시 방화벽 정책과 DNS 관리 전략을 함께 재검토하는 것이 좋습니다.