Die Beantragung eines Zertifikats für Domänencontroller schlägt fehl mit Fehlermeldung "The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)"

Folgendes Szenario:

  • Die Beantragung eines Zertifikats für einen Domänencontroller schlägt fehl.
  • Auf der Zertifizierungsstelle wird die Zertifkatanforderung bei den fehlgeschlagenen Anforderungen (failed Requests) protokolliert. Die Fehlermeldung lautet:
The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)

Der Fehler wird auch an der Zertifizierungsstelle mit Ereignis Nr. 53 protokolliert.

Active Directory Certificate Services denied request 165405 because The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE). The request was for INTRA\DC01$. Additional information: Denied by Policy Module

Die Zertifikatanforderung wird auch in die Liste der fehlgeschlagenen Anforderungen in der Zertifizierungsstelle eingetragen, d.h. die Übermittlung der Zertifikatanforderung vom Domänencontroller an die Zertifizierungsstelle hat offensichtlich funktioniert, kann von dieser aber nicht bearbeitet werden.

Mögliche Ursache

Die Kerberos AuthenticationZertifikatvorlage und davon abgeleitete Zertifikatvorlagen für Domänencontroller enthalten das Flag CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS.

Dieses Flag bewirkt, dass die Zertifizierungsstelle den vollqualifizierten Domänennamen (FQDN) sowie den NETBIOS-Namen des Antragstellers in die Subject Alternative Name (SAN) Erweiterung des Zertifikats einträgt und erfordert, dass die Zertifizierungsstelle per NTLM mit dem beantragenden Domain Controller sprechen kann.

Diese Kommunikation erfolgt über den TCP-Port 445, der entsprechend in der Firewallkonfiguration des Netzwerks freigegeben sein muss.

Der Fehler wird auch auftreten, wenn NTLMv2 via Gruppenrichtlinie abgeschaltet wurde.

Testen

Relativ einfach prüfen, ob dies die Ursache des Problems ist, kann man mit dem PowerShell Befehl Test-NetConnection, welcher von der Zertifizierungsstelle aus aufgerufen werden muss.

Test-NetConnection -ComputerName <Name-des-beantragenden-DomainControllers> -Port 445

Der Befehl muss True zurückliefern, damit die RPC Named Pipes Verbindung funktionieren kann.

Trivia

Die gesetzten Flags für eine Zertifikatvorlage kann man einsehen mit folgendem Kommandozeilenbefehl:

certutil -v -template <Name-der-Zertifikatvorlage>

Weiterführende Links:

Externe Quellen