Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
DNS over HTTPS (DoH) für DNS Server unter Windows Server befindet sich derzeit in der VORSCHAU. Diese Informationen beziehen sich auf eine Vorabversion des Produkts, an der vor der Veröffentlichung noch wesentliche Änderungen vorgenommen werden können. Microsoft übernimmt keine Gewährleistungen, ausgedrückt oder impliziert, in Bezug auf die hier bereitgestellten Informationen.
In diesem Artikel wird erläutert, wie Sie DNS über HTTPS (DoH) im DNS-Serverdienst aktivieren, der auf Windows Server ausgeführt wird.
Herkömmlicher DNS-Datenverkehr ist unverschlüsselt, wodurch DNS-Abfragen für Lauschangriffe, Abfangen und Manipulation durch Angreifer in Ihrem Netzwerk verfügbar gemacht werden. Wenn Sie die DNS-Kommunikation zwischen Clients und Ihrem DNS-Server schützen müssen, verschlüsselt DoH diesen Datenverkehr mit HTTPS und verhindert so nicht autorisierte Beobachtung oder Manipulation.
Weitere Informationen zur Funktionsweise von DoH finden Sie unter DNS-Verschlüsselung mit DNS über HTTPS.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie folgendes haben:
Windows Server 2025 mit dem Sicherheitsupdate 2026-02 (KB5075899) oder höher installiert
Zugriff auf eine Zertifizierungsstelle (CA):
- Microsoft Enterprise-Zertifizierungsstelle mit veröffentlichten Zertifikatvorlagen
Oder
- Drittanbieter von Zertifizierungsstellen wie DigiCert, Let's Encrypt oder Verisign
Firewallregeln, die so konfiguriert sind, dass eingehende Verbindungen am TCP-Port 443 für DoH zugelassen werden
Administrativer oder gleichwertiger Zugriff auf den Windows Server, auf dem der DNS-Serverdienst gehostet wird
Um DNS über HTTPS für den DNS-Serverdienst zu aktivieren, fordern Sie den Zugriff mithilfe von DoH auf Windows DNS Server: Public Preview-Registrierung an. Folgen Sie nach der Anforderung den Anweisungen, die Sie erhalten, bevor Sie fortfahren.
DoH-Zertifikate müssen die folgenden Anforderungen erfüllen:
Erweiterte Schlüsselverwendungs-Erweiterung: Muss den Objektbezeichner für die Serverauthentifizierung (1.3.6.1.5.5.7.3.1) enthalten.
Alternativer Antragsteller- oder Antragstellername: Ein signiertes Zertifikat mit einem alternativen Antragstellernamen (Subject Alternative Name, SAN) mit dem vollqualifizierten Domänennamen oder der IP-Adresse, das Ihrer konfigurierten DoH-URI-Vorlage entspricht
Privater Schlüssel: Muss im Speicher des lokalen Computers vorhanden sein, ordnungsgemäß mit dem Zertifikat verknüpft und darf keinen starken Schutz vor privatem Schlüssel aktiviert haben.
Vertrauenskette: Muss von einer Zertifizierungsstelle ausgestellt werden, die sowohl vom DNS-Server als auch von DNS-Clients anerkannt werden.
Komplexere Zertifikatsetups finden Sie unter "Zertifikate und öffentliche Schlüssel " und "Arbeiten mit Zertifikaten".
Importieren des Zertifikats
Wenn Sie bereits über ein Zertifikat auf dem Server verfügen, wechseln Sie zum Binden des Zertifikats. Importieren Sie andernfalls Ihr Zertifikat auf den Server.
Platzieren Sie die Datei des Zertifikats
.pfx(mit Zertifikat und privatem Schlüssel) auf dem Server, auf dem der DNS-Server gehostet wird.Öffnen Sie PowerShell als Administrator und führen Sie den folgenden Befehl aus, um das Zertifikat zu importieren. Stellen Sie sicher, dass Sie
<pfxpath>durch den Pfad zu Ihrer Datei.pfxund<pfxpassword>durch das Kennwort für die Datei.pfxersetzen.Import-PfxCertificate ` -FilePath "<pfxpath>" ` -CertStoreLocation "Cert:\LocalMachine\My" ` -Password (Read-Host -AsSecureString "<pfxpassword>")Wenn Sie dazu aufgefordert werden, geben Sie das Kennwort für Ihr Zertifikat ein.
Um zu überprüfen, ob das Zertifikat erfolgreich importiert wurde, führen Sie den folgenden Befehl aus und ersetzen Sie `
<subject-name>` durch den Betreff Ihres Zertifikats.Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }
Zertifikat binden
Binden Sie es nach dem Importieren des Zertifikats an den Serverport, damit der DNS-Server es für HTTPS-Verbindungen verwenden kann.
Generieren Sie eine neue GUID, und speichern Sie sie in einer Variablen, indem Sie den folgenden Befehl ausführen:
$guid = New-GuidRufen Sie Ihr Zertifikat ab, und speichern Sie es in einer Variablen, indem Sie den folgenden Befehl ausführen. Ersetzen Sie
<subject-name>durch den Betreff Ihres Zertifikats.$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }Binden Sie das Zertifikat an den Serverport, indem Sie den folgenden Befehl ausführen:
netsh http add sslcert ipport=0.0.0.0:443 certhash=$($cert.Thumbprint) appid="{$guid}"
Tipp
Damit der DNS-Serverdienst auf DoH-Datenverkehr auf eine bestimmte IP-Adresse anstelle aller Adressen reagiert, ersetzen Sie 0.0.0.0 diese durch Ihre gewünschte IP-Adresse. Die IP-Adresse muss entweder dem Host im SAN Ihres Zertifikats entsprechen oder auf diesen Host aufgelöst werden. Sie können 443 auch durch eine andere Portnummer ersetzen.
Überprüfen der Zertifikatbindung
Vergewissern Sie sich, dass Ihr Zertifikat ordnungsgemäß an die richtige IP-Adresse und den richtigen Port gebunden ist.
Führen Sie den folgenden Befehl aus, um die SSL-Zertifikatbindungen anzuzeigen:
netsh http show sslcertÜberprüfen Sie, ob die Ausgabe Ihre IP-Adresse und Ihren Port anzeigt und dass der Zertifikathash Ihrem Fingerabdruck entspricht.
Konfigurieren von Firewallregeln
DoH verwendet einen anderen TCP-Port als unverschlüsseltes DNS. Daher müssen Sie Ihre Firewall so konfigurieren, dass eingehender Datenverkehr für den Port zulässig ist, den Sie beim Binden des Zertifikats angegeben haben. DoH verwendet standardmäßig TCP-Port 443, es sei denn, Sie haben in den Schritten für die URI-Vorlage und die Zertifikatbindung einen anderen Port angegeben.
Konfigurieren Sie die Windows-Firewall so, dass eingehende Verbindungen im konfigurierten DoH-Port mithilfe der folgenden Schritte zugelassen werden:
Führen Sie den folgenden Befehl aus, um eine Firewallregel zu erstellen, die eingehenden DoH-Datenverkehr zulässt:
New-NetFirewallRule -DisplayName "DNS over HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action AllowÜberprüfen Sie, ob die Firewallregel erstellt wurde, indem Sie den folgenden Befehl ausführen:
Get-NetFirewallRule -DisplayName "DNS over HTTPS"
Hinweis
Wenn Sie DoH für die Verwendung eines anderen Ports konfiguriert haben, ersetzen Sie diese durch 443 Ihre benutzerdefinierte Portnummer. Wenn Sie eine Hardwarefirewall oder eine Netzwerksicherheitsgruppe verwenden, stellen Sie sicher, dass auch eingehender TCP-Datenverkehr am selben Port zulässig ist.
DoH aktivieren
Nachdem Sie das Zertifikat gebunden und Firewallregeln konfiguriert haben, aktivieren Sie die DoH auf Ihrem DNS-Server.
Aktivieren Sie DoH, und legen Sie die URI-Vorlage mithilfe des Befehls "Set-DnsServerEncryptionProtocol " fest. Ersetzen Sie
dns.contoso.comdurch den Hostnamen (oder die IP-Adresse), der im SAN Ihres Zertifikats enthalten ist:Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:443/dns-query"Hinweis
Stellen Sie sicher, dass die Portnummer in der URI-Vorlage mit der Portnummer übereinstimmt, die Sie beim Binden des Zertifikats verwendet haben.
Starten Sie den DNS-Dienst neu, um die Änderungen anzuwenden:
Restart-Service -Name DNS
Überprüfen Sie die DoH-Konfiguration
Testen Sie, ob DoH ordnungsgemäß funktioniert, indem Sie die Konfiguration prüfen und Tests von einem Client durchführen.
Überprüfen Sie die DoH-Konfiguration auf dem Server mithilfe des Befehls "Get-DnsServerEncryptionProtocol ":
Get-DnsServerEncryptionProtocolÖffnen Sie die Ereignisanzeige auf dem Server, und navigieren Sie zu "Applications and Services Logs > DNS Server".
Überprüfen Sie die Ereignis-ID
822, die angibt, dass der DoH-Dienst erfolgreich gestartet wurde.
DoH von einem Client-System testen
Um zu bestätigen, dass DoH ordnungsgemäß funktioniert, testen Sie die DNS-Auflösung von einem DoH-fähigen Client.
Konfigurieren Sie einen DoH-Client für die Verwendung der Verschlüsselung für Ihren DNS-Server mit der gleichen URI-Vorlage, die Sie konfiguriert haben. Informationen zu Clientkonfigurationsschritten finden Sie unter Secure DNS Client over HTTPS (DoH).For client configuration steps, see Secure DNS Client over HTTPS (DoH).
Testen Sie über den konfigurierten DoH-Client die DNS-Auflösung mit dem Befehl Resolve-DnsName . Ersetzen Sie
contoso.comdurch eine Domain, die Sie auflösen möchten.Resolve-DnsName -Name contoso.com -Type ADie DNS-Abfrage wird erfolgreich aufgelöst.
Um die DoH-Aktivität weiter zu überprüfen, führen Sie den nächsten Schritt aus, um DoH auf Ihrem DNS-Server zu überwachen.