Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt uitgelegd hoe u DNS via HTTPS (DoH) inschakelt in de DNS Server-service die wordt uitgevoerd op Windows Server.
Traditioneel DNS-verkeer wordt niet versleuteld, waardoor DNS-query's worden blootgesteld aan afluisteren, onderscheppen en manipuleren door aanvallers in uw netwerk. Als u DNS-communicatie tussen clients en uw DNS-server wilt beveiligen, versleutelt het inschakelen van DoH dat verkeer via HTTPS, waardoor onbevoegde observatie of manipulatie wordt voorkomen.
Zie DNS-versleuteling via HTTPS voor meer informatie over hoe DoH werkt.
Vereiste voorwaarden
Voordat u begint, moet u ervoor zorgen dat u het volgende hebt:
Windows Server 2025 met de beveiligingsupdate 2026-06 (KB5094125) of hoger geïnstalleerd
Toegang tot een certificeringsinstantie (CA):
- Microsoft Enterprise Certificate Authority met gepubliceerde certificaatsjablonen
Or
- Externe certificaatprovider, zoals DigiCert, Let's Encrypt of Verisign
Firewallregels die zijn geconfigureerd om binnenkomende verbindingen toe te staan op TCP-poort 443 voor DoH
Beheerderstoegang of gelijkwaardige toegang tot de Windows Server die als host fungeert voor de DNS Server-service
DoH-certificaten moeten voldoen aan de volgende vereisten:
Uitgebreid sleutelgebruik extensie: moet serverauthenticatie (1.3.6.1.5.5.7.3.1) object-identificatie bevatten
Onderwerp of Onderwerp Alternatieve Naam: een ondertekend certificaat met een Subject Alternative Name (SAN) die overeenkomt met de volledig gekwalificeerde domeinnaam of het IP-adres dat overeenkomt met uw geconfigureerde DoH URI-sjabloon
Persoonlijke sleutel: moet aanwezig zijn in het archief van de lokale computer, correct gekoppeld aan het certificaat en mag geen sterke persoonlijke sleutelbeveiliging hebben ingeschakeld
Vertrouwensketen: moet worden uitgegeven door een CA die zowel de DNS-server als de DNS-clients vertrouwt
Zie Certificaten en openbare sleutels enwerken met certificaten voor complexere certificaatinstellingen.
Het certificaat importeren
Als u al een certificaat op de server hebt, gaat u naar Het certificaat binden. Anders importeert u het certificaat naar de server.
Plaats het certificaatbestand
.pfx(met zowel het certificaat als de persoonlijke sleutel) op de server die als host fungeert voor de DNS-server.Open PowerShell als beheerder en voer de volgende opdracht uit om het certificaat te importeren. Zorg ervoor dat u
<pfxpath>vervangt door het pad naar uw.pfxbestand en<pfxpassword>met het wachtwoord voor het.pfxbestand.Import-PfxCertificate ` -FilePath "<pfxpath>" ` -CertStoreLocation "Cert:\LocalMachine\My" ` -Password (Read-Host -AsSecureString "<pfxpassword>")Voer het wachtwoord voor uw certificaat in wanneer u hierom wordt gevraagd.
Als u wilt controleren of het certificaat is geïmporteerd, voert u de volgende opdracht uit, waarbij u
<subject-name>het onderwerp van uw certificaat vervangt:Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }
Het certificaat binden
Nadat u het certificaat hebt geïmporteerd, verbindt u het met de serverpoort, zodat de DNS-server het kan gebruiken voor HTTPS-verbindingen.
Genereer een nieuwe GUID en sla deze op in een variabele door de volgende opdracht uit te voeren:
$guid = New-GuidHaal uw certificaat op en sla het op in een variabele door de volgende opdracht uit te voeren. Vervang
<subject-name>door het onderwerp van uw certificaat:$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }Bind het certificaat aan de serverpoort door de volgende opdracht uit te voeren:
netsh http add sslcert ipport=0.0.0.0:443 certhash=$($cert.Thumbprint) appid="{$guid}"
Aanbeveling
Als u wilt dat de DNS Server-service reageert op DoH-verkeer op een specifiek IP-adres in plaats van op alle adressen, vervangt u door 0.0.0.0 het gewenste IP-adres. Het IP-adres moet ofwel de host zijn of naar de host binnen het SAN van uw certificaat verwijzen. U kunt 443 ook vervangen door een ander poortnummer.
De certificaatbinding controleren
Controleer of uw certificaat juist is gebonden aan het juiste IP-adres en de juiste poort.
Voer de volgende opdracht uit om de SSL-certificaatbindingen weer te geven:
netsh http show sslcertControleer of in de uitvoer uw IP-adres en poort worden weergegeven en of de certificaat-hash overeenkomt met uw vingerafdruk.
Firewallregels configureren
DoH maakt gebruik van een andere TCP-poort dan niet-versleutelde DNS, dus u moet uw firewall configureren om binnenkomend verkeer toe te staan op de poort die u hebt opgegeven bij het binden van het certificaat. DoH maakt standaard gebruik van TCP-poort 443, tenzij u een andere poort hebt opgegeven in de stappen voor URI-sjabloon en certificaatbinding.
Configureer Windows Firewall om binnenkomende verbindingen op de geconfigureerde DoH-poort toe te staan met behulp van de volgende stappen:
Voer de volgende opdracht uit om een firewallregel te maken die inkomend DoH-verkeer toestaat:
New-NetFirewallRule -DisplayName "DNS over HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action AllowControleer of de firewallregel is gemaakt door de volgende opdracht uit te voeren:
Get-NetFirewallRule -DisplayName "DNS over HTTPS"
Opmerking
Als u DoH hebt geconfigureerd voor het gebruik van een andere poort, vervang 443 met uw aangepaste poortnummer. Als u een hardwarefirewall of netwerkbeveiligingsgroep gebruikt, moet u ervoor zorgen dat binnenkomend TCP-verkeer op dezelfde poort wordt toegestaan.
DoH inschakelen
Nadat u het certificaat hebt gekoppeld en firewallregels hebt geconfigureerd, schakelt u de DoH in op uw DNS-server.
Schakel DoH in en stel de URI-sjabloon in met behulp van de opdracht Set-DnsServerEncryptionProtocol . Vervang
dns.contoso.comdoor de hostnaam (of het IP-adres) in het SAN op uw certificaat:Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:443/dns-query"Opmerking
Zorg ervoor dat het poortnummer in de URI-sjabloon overeenkomt met het poortnummer dat u hebt gebruikt bij het binden van het certificaat.
Start de DNS-service opnieuw op om de wijzigingen toe te passen:
Restart-Service -Name DNS
DoH-configuratie controleren
Test of DoH correct werkt door de configuratie te controleren en te testen vanaf een client.
Controleer de DoH-configuratie op de server met behulp van de opdracht Get-DnsServerEncryptionProtocol :
Get-DnsServerEncryptionProtocolOpen Evenementen Viewer op de server en navigeer naar Toepassingen- en Service-logboeken > DNS Server.
Controleer op gebeurtenis-id
822, wat aangeeft dat de DoH-service is gestart.
DoH testen vanaf een client
Test de DNS-omzetting van een doH-compatibele client om te controleren of DoH correct werkt.
Configureer een DoH-client voor het gebruik van versleuteling voor uw DNS-server met dezelfde URI-sjabloon die u hebt geconfigureerd. Zie Secure DNS Client via HTTPS (DoH) voor stappen voor clientconfiguratie.
Test de DNS-omzetting vanaf de geconfigureerde DoH-client met behulp van de opdracht Resolve-DnsName . Vervang
contoso.comdoor een domein dat je wilt oplossen:Resolve-DnsName -Name contoso.com -Type ADe DNS-query is met succes opgelost.
Volg de stappen in het volgende artikel om DoH op uw DNS-server te bewaken en DoH-activiteit verder te verifiëren.