중요합니다
Windows Server의 DNS 서버에 대한 DNS over HTTPS(DoH)는 현재 미리 보기로 제공됩니다. 이 정보는 릴리스되기 전에 상당히 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 보증을 하지 않습니다.
이 문서에서는 Windows Server에서 실행되는 DNS 서버 서비스에서 DoH(HTTPS)를 통해 DNS를 사용하도록 설정하는 방법을 설명합니다.
기존 DNS 트래픽은 암호화되지 않습니다. 이 트래픽은 DNS 쿼리를 네트워크에서 공격자의 도청, 가로채기 및 조작에 노출합니다. 클라이언트와 DNS 서버 간의 DNS 통신을 보호해야 하는 경우 DoH를 사용하도록 설정하면 HTTPS를 사용하여 해당 트래픽이 암호화되어 무단 관찰 또는 변조가 방지됩니다.
DoH 작동 방식에 대한 자세한 내용은 HTTPS를 통해 DNS를 사용하는 DNS 암호화를 참조하세요.
필수 조건
시작하기 전에 다음이 있는지 확인합니다.
2026-02 보안 업데이트(KB5075899) 이상이 설치된 Windows Server 2025
CA(인증 기관)에 대한 액세스:
- 게시된 인증서 템플릿이 있는 Microsoft 엔터프라이즈 인증 기관
또는
- DigiCert, Let's Encrypt 또는 Verisign과 같은 타사 인증서 공급자
DoH용 TCP 포트 443에서 인바운드 연결을 허용하도록 구성된 방화벽 규칙
DNS 서버 서비스를 호스트하는 Windows Server에 대한 관리 또는 동등한 액세스
DNS 서버 서비스에서 HTTPS를 통해 DNS를 사용하도록 설정하려면 Windows DNS Server: 공개 미리 보기 등록에서 DoH를 사용하여 액세스를 요청합니다. 요청되면 계속하기 전에 받은 지침을 따릅니다.
DoH 인증서는 다음 요구 사항을 충족해야 합니다.
향상된 키 사용 확장: 서버 인증(1.3.6.1.5.5.7.3.1) 개체 식별자를 포함해야 합니다.
주체 또는 주체 대체 이름: 구성된 DoH URI 템플릿과 일치하는 정규화된 도메인 이름 또는 IP 주소가 있는 SAN(주체 대체 이름)이 있는 서명된 인증서
프라이빗 키: 로컬 컴퓨터의 저장소에 있어야 하며 인증서와 올바르게 연결되어 있어야 하며 강력한 프라이빗 키 보호를 사용하도록 설정해서는 안 됩니다.
트러스트 체인: DNS 서버와 DNS 클라이언트가 모두 신뢰하는 CA에서 발급해야 합니다.
더 복잡한 인증서 설정은 인증서 및 공개 키 및 인증서작업을 참조하세요.
인증서 가져오기
서버에 인증서가 이미 있는 경우 인증서 바인딩으로 이동합니다. 그렇지 않으면 인증서를 서버로 가져옵니다.
DNS 서버를 호스팅하는 서버에 인증서 파일
.pfx(인증서 및 프라이빗 키 포함)을 배치합니다.관리자 권한으로 PowerShell을 열고 다음 명령을 실행하여 인증서를 가져옵니다. 이때, `
<pfxpath>`를 파일 경로로, `.pfx`를 `<pfxpassword>` 파일의 암호로 바꾸세요.Import-PfxCertificate ` -FilePath "<pfxpath>" ` -CertStoreLocation "Cert:\LocalMachine\My" ` -Password (Read-Host -AsSecureString "<pfxpassword>")메시지가 표시되면 인증서의 암호를 입력합니다.
인증서를 성공적으로 가져왔는지 확인하려면 다음 명령을 실행하여 인증서의 주체로 대체
<subject-name>합니다.Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }
인증서 바인딩
인증서를 가져온 후 DNS 서버가 HTTPS 연결에 사용할 수 있도록 서버 포트에 바인딩합니다.
다음 명령을 실행하여 새 GUID를 생성하고 변수에 저장합니다.
$guid = New-Guid다음 명령을 실행하여 인증서를 검색하고 변수에 저장합니다. 인증서의 주체로
<subject-name>를 바꿉니다.$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }다음 명령을 실행하여 인증서를 서버 포트에 바인딩합니다.
netsh http add sslcert ipport=0.0.0.0:443 certhash=$($cert.Thumbprint) appid="{$guid}"
팁 (조언)
DNS 서버 서비스가 모든 주소 대신 특정 IP 주소의 DoH 트래픽에 응답하도록 하려면 원하는 IP 주소로 바꿉 0.0.0.0 니다. IP 주소는 인증서의 SAN에 포함된 호스트이거나 확인되어야 합니다.
443을(를) 다른 포트 번호로 바꿀 수도 있습니다.
인증서 바인딩 확인
인증서가 올바른 IP 주소 및 포트에 올바르게 바인딩되어 있는지 확인합니다.
다음 명령을 실행하여 SSL 인증서 바인딩을 표시합니다.
netsh http show sslcert출력에 IP 주소와 포트가 표시되고 인증서 해시가 지문과 일치하는지 확인합니다.
방화벽 규칙 구성
DoH는 암호화되지 않은 DNS와 다른 TCP 포트를 사용하므로 인증서를 바인딩할 때 지정한 포트에서 인바운드 트래픽을 허용하도록 방화벽을 구성해야 합니다. 기본적으로 DoH는 URI 템플릿 및 인증서 바인딩 단계에서 다른 포트를 지정하지 않는 한 TCP 포트 443을 사용합니다.
다음 단계를 사용하여 구성된 DoH 포트에서 인바운드 연결을 허용하도록 Windows 방화벽을 구성합니다.
인바운드 DoH 트래픽을 허용하는 방화벽 규칙을 만들려면 다음 명령을 실행합니다.
New-NetFirewallRule -DisplayName "DNS over HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow다음 명령을 실행하여 방화벽 규칙이 생성되었는지 확인합니다.
Get-NetFirewallRule -DisplayName "DNS over HTTPS"
비고
다른 포트를 사용하도록 DoH를 구성한 경우 사용자 지정 포트 번호로 대체 443 합니다. 하드웨어 방화벽 또는 네트워크 보안 그룹을 사용하는 경우 동일한 포트에서 인바운드 TCP 트래픽도 허용하는지 확인합니다.
DoH 사용
인증서를 바인딩하고 방화벽 규칙을 구성한 후 DNS 서버에서 DoH를 사용하도록 설정합니다.
DoH를 사용하도록 설정하고 Set-DnsServerEncryptionProtocol 명령을 사용하여 URI 템플릿을 설정합니다. 인증서의 SAN에 포함된 호스트 이름(또는 IP 주소)으로
dns.contoso.com을(를) 교체합니다.Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:443/dns-query"비고
URI 템플릿의 포트 번호가 인증서를 바인딩할 때 사용한 포트 번호와 일치하는지 확인합니다.
DNS 서비스를 다시 시작하여 변경 내용을 적용합니다.
Restart-Service -Name DNS
DoH 구성 확인
클라이언트에서 구성 및 테스트를 확인하여 DoH가 제대로 작동하는지 테스트합니다.
Get-DnsServerEncryptionProtocol 명령을 사용하여 서버에서 DoH 구성을 확인합니다.
Get-DnsServerEncryptionProtocol서버에서 이벤트 뷰어를 열고 애플리케이션 및 서비스 로그 DNS 서버로 >이동합니다.
DoH 서비스가 성공적으로 시작되었음을 나타내는 이벤트 ID
822를 확인합니다.
클라이언트에서 DoH 테스트
DoH가 제대로 작동하고 있는지 확인하기 위해 DoH 지원 클라이언트에서 DNS 확인을 테스트합니다.
구성한 것과 동일한 URI 템플릿을 사용하여 DNS 서버에 대한 암호화를 사용하도록 DoH 클라이언트를 구성합니다. 클라이언트 구성 단계는 DoH(HTTPS)를 통한 보안 DNS 클라이언트를 참조하세요.
구성된 DoH 클라이언트에서 Resolve-DnsName 명령을 사용하여 DNS 확인을 테스트합니다.
contoso.com를 확인하려는 도메인으로 대체하십시오.Resolve-DnsName -Name contoso.com -Type ADNS 쿼리가 성공적으로 확인됩니다.
DoH 작업을 추가로 확인하려면 다음 단계 문서에 따라 DNS 서버에서 DoH를 모니터링합니다.