Freigeben über


Aktivieren von DNS über HTTPS in DNS Server (Vorschau)

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.

  1. Platzieren Sie die Datei des Zertifikats .pfx (mit Zertifikat und privatem Schlüssel) auf dem Server, auf dem der DNS-Server gehostet wird.

  2. Ö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 .pfx und <pfxpassword> durch das Kennwort für die Datei .pfx ersetzen.

    Import-PfxCertificate `
        -FilePath "<pfxpath>" `
        -CertStoreLocation "Cert:\LocalMachine\My" `
        -Password (Read-Host -AsSecureString "<pfxpassword>")
    
  3. Wenn Sie dazu aufgefordert werden, geben Sie das Kennwort für Ihr Zertifikat ein.

  4. 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.

  1. Generieren Sie eine neue GUID, und speichern Sie sie in einer Variablen, indem Sie den folgenden Befehl ausführen:

    $guid = New-Guid
    
  2. Rufen 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>" }
    
  3. 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.

  1. Führen Sie den folgenden Befehl aus, um die SSL-Zertifikatbindungen anzuzeigen:

    netsh http show sslcert
    
  2. Ü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:

  1. 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
    
  2. Ü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.

  1. Aktivieren Sie DoH, und legen Sie die URI-Vorlage mithilfe des Befehls "Set-DnsServerEncryptionProtocol " fest. Ersetzen Sie dns.contoso.com durch 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.

  2. 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.

  1. Überprüfen Sie die DoH-Konfiguration auf dem Server mithilfe des Befehls "Get-DnsServerEncryptionProtocol ":

    Get-DnsServerEncryptionProtocol
    
  2. Öffnen Sie die Ereignisanzeige auf dem Server, und navigieren Sie zu "Applications and Services Logs > DNS Server".

  3. Ü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.

  1. 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).

  2. Testen Sie über den konfigurierten DoH-Client die DNS-Auflösung mit dem Befehl Resolve-DnsName . Ersetzen Sie contoso.com durch eine Domain, die Sie auflösen möchten.

    Resolve-DnsName -Name contoso.com -Type A
    
  3. Die 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.

Nächste Schritte