CertificateServicesClient-AutoEnrollment Event 6, CertificateServicesClient-CertEnroll Event 13 und CertificateServicesClient-CertEnroll Event 82

Problem

Auf Domänencontrollern gibt es in regelmäßigen Abständen im Eriegnisprotokoll diese Fehlermeldungen:

Quelle: CertificateServicesClient-CertEnroll
Event-ID: 82
Fehler bei der Zertifikatregistrierung für Lokales System bei der Authentifizierung für alle URLs für den
Registrierungsserver, der folgender Richtlinien-ID zugeordnet ist: {1874501F-FFFF-AFFE-BBD5-F3B749CBCF4A}
(Der RPC-Server ist nicht verfügbar. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)).
Fehler bei der Registrierung für Vorlage: DomainController

Dicht gefolgt von

Die Zertifikatregistrierung für Lokales System konnte sich nicht für ein Zertifikat DomainController mit der Anforderungs-ID N/A von serverwitten.DrSpangGmbH.local\Dr. Spang GmbH (Der RPC-Server ist nicht verfügbar. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)) registrieren.

Quelle: CertificateServicesClient-CertEnroll
Event-ID: 13
Die Zertifikatregistrierung für Lokales System konnte sich nicht für ein Zertifikat DomainController mit der
Anforderungs-ID N/A von SERVERNAME.DPOMAIN.TLD\OLD-CA-NAME (Der RPC-Server ist nicht verfügbar.
0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)) registrieren.

Und dann bestätigt von:

Bei der automatischen Zertifikatregistrierung für lokales System ist ein Fehler aufgetreten (0x800706ba) Der RPC-Server ist nicht verfügbar. .

Quelle: CertificateServicesClient-AutoEnrollment
Event-ID: 6
Meldung:
Bei der automatischen Zertifikatregistrierung für lokales System ist ein Fehler aufgetreten (0x800706ba)
Der RPC-Server ist nicht verfügbar.
.

Das passiert in der Regel, wenn es „irgendwann“ mal eine CA in dieser Domäne gab und der Servers nicht mehr exisitert. Hinweise auf so eine Situation können Zitate sein wie „Den Servernamen kenne ich, aber den gibt es schon lange nicht mehr. Wir haben auch keine eigene CA“. Das passiert auch gene mal, wenn uralte Exchange-Server deinstalliert werden die Self-Signed Zertifikate über sich selber genutzt haben.

Wichtig: Der Name der CA (aus den Ereignismeldungen) muss exakt stimmen.

Lösung

Die ehemalige CA und deren Zertifikatsvorlagen (Templates) müssen sauber aus dem Active Directory entfernt werden. Der Name der CA ist ja aus den Meldunge bekannt.

  1. „Active-Directory Standorte und Dienste“ öffnen und unter Ansicht > „Dienstknoten anzeigen“ einschalten
  2. Öfnen von „Services“ > „Public Key Service“ > „AIA“ > in der rechten Hälfte hier die falsche/tote CA (Hier steht der CA Name, NICHT der Servername)  löschen
  3. Öffnen von „Services“ > „Public Key Service“ > „Enrollment Services“ > und auch hier die falsche CA löschen

Die folgenden beiden Schritte nur durchführen, wenn es KEINE NEUE CA in dieser Domäne gibt. Wenn es eine CA in der Domain gibt, diese Schritte überspringen.

  1. Die alten Zertifikatsvorlagen aus dem AD entfernen: Öffne „Public Key Service“ > „Certificate Templates“ und lösche alle LDAP-Vorlagen hier drin
  2. Unter „Public Key Services“ das Objekt „NTAuthCertificates“ löschen

Konfiguration im AD aktualisieren

An der Shell (CMD oder Powershell) die DC-Informationen aufräumen und aktualisieren:

C:\> certutil -dcinfo deleteBad

Nach ein paar Minuten (Default: 5) die RSOP-Daten des/der DCs aktualisieren:

C:\> gpupdate /force

Das passiert zwar auch automatisch (auch auf allen DCs), aber wenn man das manuell anstößt kann man den Erfolg praktisch sofort in der Ereignisanzeige nachvollziehen:

 

 

Windows Server 2012R2 verliert sporadisch Netzwerkverbindung „Die IP-Adresse für die Isatap-Schnittstelle LAN-Verbindungwurde nicht aktualisiert.“

Ein sehr seltsames Problem, aber eine einfache Lösung.

Wir haben einen Windows Server 2012 R2 (Domain Controller), der früher auf einem vSphere 5.5 lief. Später wurde der darunterliegende ESXi auf ein vSphere 6 aktualisiert. Sporadischen („random“) traten unter beiden ESX-Versionen Ausfälle bei ebendiesem DC auf; die Netzwerkkarte war plötzlich nicht mehr erreichbar.

Die Netzwerkkarte war im Fehlerfall tot, sprich von außen nicht mehr pingbar. Mann konnte sich auf der Konsole des Servers problemlos einloggen und die Karte sehen, aber keine Pakete wurden mehr verschickt oder empfangen. Nach einem Reboot klappte wieder alles einwandfrei, mal für ein paar Stunden, mal für ein paar Tage.

Im Ereignisprotokoll war nichts zu finden (wenn doch nur alle Logs so sauber wären …), außer:

Log Name:      System
Source:        Microsoft-Windows-Iphlpsvc
Date:          2/1/2017 5:01:51 PM
Event ID:      4202
Task Category: None
Level:         Error
Keywords:      
User:          SYSTEM
Computer:      MYSERVER.MYDOMAIN
Description:
Unable to update the IP address on Isatap interface isatap.{<SID>}. Update Type: 0. Error Code: 0x57.

und

 Log Name: System
 Source: Microsoft-Windows-Iphlpsvc
 Date: 2/1/2017 4:49:33 PM
 Event ID: 4202
 Task Category: None
 Level: Error
 Keywords:
 User: SYSTEM
 Computer: MYSERVER.MYDOMAIN
 Description:
 Unable to update the IP address on Isatap interface isatap.{<SID>}. Update Type: 1. Error Code: 0x490.

Lösung

Die Netzwerkkarte in dem System war eine vmware INTEL E1000. Diese durch einen VMXNET-Adapter (idealerweise VMXNET3) austauschen und der Fehler ist verschwunden.

 

Veeam Backup & Replication: „RPC error: Zugriff verweigert Code: 5“

Problem

Veeam Backup and Replication sichert „auf einmal“ eine oder mehrere VM-Gastmaschinen nicht mehr, oder nur mit einer Warnung (je nach Application-Processin Einstellungen). Das passiert nach einem Upgrade der betroffenen virtuellen Maschinen auf Windows Server 2016. Die Fehlermeldung im Veeam-Bericht lautet:

Failed to prepare guest for hot backup. Details: Failed to check whether snapshot is in progress (network mode).

RPC function call failed. Function name: [IsSnapshotInProgress]. Target machine: [SERNAME.DOMAIN.TLD]. RPC error:Zugriff verweigert Code: 5
 Failed to index guest file system. Veeam Guest Agent is not started

Lösung

Bei Windows Server 2016 müssen die Credentials nicht mehr im UPN-Format (username@domain.tld) angelegt sein, sondern imklassischen NT-Format (DOMAIN\username). Warum das plötzlich so ist, wissen wir leider nicht und konnten das auch noch nicht herausfinden. Wenn man die Credentials aber entsprechend ändert, klappt die Application-Processing Sicherung aber sofort wieder.

Volumenschattenkopie (VSS) Wiederherstellung „Quellpfad ist zu lang“

Problem

Wärend einer Restore-Datenrettung mit VSS (Volumenschattenkopien) über die praktische Funktion „Vorgängerversion wiederherstellen“ tritt der Fehler „Quellpfad ist zu lang“ auf:

Die Quelldateinamen sind zu lang für das Dateisystem. Verschieben Sie
sie an einen anderen Ort, der einen kürzeren Pfadnamen hat, oder benennen
Sie sie in kürzere Namn um, bevor Sie den Vorgang fortsetzen.

 

Lösung

Das stimmt, solche Pfade geraten bei tiefen Filestrukturen recht schnell an das gute alte „MAX_PATH“ limit von gigantischen 260 Zeichen. „Char260 ought to be enough for anybody“ 🙂

  1. Im „normalen“ Explorer mit der rechten MT auf den betroffenen Ordner (oder die Datei) > „Vorgängerversion wiederherstellen“
  2. Nun die passende Version auswählen um die es geht > „Öffnen“
  3. In dem neuen Fenster den übergeordneten Ordner mit der rechten MT anklicken > „Eigenschaften“
  4. Auf dem Tab „Allgemein“ gibt es das Feld „Ort“. Da steht etwas drin, das aussieht wie „\\localhost\T$\@GMT-2017.01.01-01.00.22\Die ist ein verdammt langer Ordnernamen“. Diesen Pfad komplett kopieren (STRG+C).
  5. An der Kommandozeile (CMD) läst sich dieser Pfad nun via Subst deutlich verkürzt als Laufwerk verbinden:
    C:\> subst x: "\\localhost\D$\@GMT-2017.01.001-01.0.22\Dies ist der laengste Ordnername der Welt"
    1. Subst funktioniert nur auf einem lokalen NTFS-Host
    2. Bei Remote-Servern einfach subst durch ’net use‘ ersetzen
      net use x: "\\\\@GMT-2017.01.001-01.0.22\Dies ist der laengste Ordnername der Welt"
  6. Jetzt kann man mit seinem Lieblingswerkzeug die Daten von dem neuen Laufwerk kopieren. Auch an den alten Ort, kein Problem.

Achtung

  1. Nachdem das fertig ist, muss das Substituierte Laufwerk auch wieder weg. Das geht mit dem Subst-Parameter /d:
    C:\> subst x: /d
  2. Man braucht den Platz für die Dateien zweimal (!). Einmal im Dateisystem und einmal verbleiben diese im VSS.

Windows Server 2012R2 mit ABE hat hohe CPU-Last (Gestbeitrag von Andreas)

Problem

Ein Windows Server 2012R2 installierter Fileserver-Rolle und aktiviertem ABE (Access Based Enumeration) hat sehr viele PDF-Dateien bekommen. Daraufhin gibt es massive Performance-Probleme.

Die CPU am Fileserver zeigt während des Arbeitszeit ~100% Last an, Netzwerklast gibt es dabei aber kaum. Mit Procmon sieht man unzählige Zugriffe auf diese PDF Dateien. Auf die Dateien und Ordner kann von Windows 7 Clients aus zugegriffen werden.

Lösung

Die ABE-Funktion muss bei einer großen Anzahl Ordnern und Dateien eingeschränkt werden, weil die Anfrageschlange sonst zu groß wird.

Den ABELevel kann man in der Registry setzen. Das geht hier:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters

Dort einen DWORD-Wert (32 bit) Eintrag mit der Bezeichnung ABELevel und einem entsprechendem Wert anlegen.

Der ABELevel -Wert gibt die höchste Ebene der Ordner auf denen die ABE-Funktion aktiviert ist. Zum Beispiel wenn ABE auf \\SERVER\FREIGABE aktibiert ist, muss der ABELevel-Wert auf „1“ stehen. Wenn ABE auf \\SERVER\FREIGABE\ORDNER aktiviert ist, muss der ABELevel Wert auf „2“ stehen. Wenn der Wert ABELevel nicht festgelegt ist oder der Wert 0 hat, ist dieser Hotfix noch nicht installiert.

Wert = 1: ABE aktiviert für Tiefe von 1 (\server\share)
Wert = 2: ABE aktiviert für Tiefe von 2 (\server\share\folder)

Microsoft-KB: https://support.microsoft.com/de-de/kb/2732618 (High CPU usage on a file server that is running Windows Vista, Windows 7, Windows Server 2008 or Windows Server 2008 R2 with ABE enabled)

Ein ganz großes Dankeschön an Andreas 🙂

 

IIS Reverse SSL Proxy unter Windows Server 2012R2/2016 einrichten (Schritt für Schritt)

Ab und zu muss ein Wbservice auf einem „dritten“ Web- oder Applikationsserver wie Tomcat, Jetty ein Hardware-IoT-Gerät (Heizungssteuerung, Alarmsystem …) oder ähnliches sicher an das Internet angebunden werden. Was bietet sich mehr an, als ein reverser Proxy in einem „Standart-System“, das die SSL/TLS-Verbindung eines Clients verwaltet und nur die nackten HTTP-Anfragen unverschlüssel weiterleitet? Eine einfache Anleitung für einen SSL-Offloading-reverse-Proxy.

Installation IIS als reverse Proxy mit SSL-Offloading

Installieren

Reverse-Proxy im IIS einschalten

IIS-Konsole („Internetinformationsdienste (IIS) Manager“) > Links auf den Server > Rechts auf „Application Request Routing Cache“ > Ganz recht auf die Action „Server Proxy Settings…“ > „Enable Proxy“ einschalten. Sonst hier nichts ausfüllen, vor allem das Feld für die Proxy-Chain leer lassen.

Falls noch nicht geschehen: SSL-Zertifikat in IIS importieren

Wir importieren hier ein Zertifikat einschliesslich private Key, zum Beispiel aus einem Wildcard-Zertifikat. Je nach Ausgangsstellung muss das passende Zertifikat zur Verfügung stehen (self-signed oder unterschriebener CSR und so weiter).

Doppelklick auf das PFX > Speicherort „Lokaler Computer“ > Weiter … (dem Assistenten folgen) …Fertigstellen.

SSL-Listener im IIS erstellen

IIS Manager > Links den Server auswählen > Rechts die Action „Bindungen“ > Hinzufügen > Den Typ auf „SSL“ stellen und den rest des Fesnters entsprechend ausfüllen. Sollte hier kein SSL-Zertifikat zur Auswahl stehen, ist das Zertifikat nicht korrekt importieren (oder es steht kein privater Schlüssel zur Verfügung). Dann den vorherigen Schritt noch einmal genau anschauen. Sollte der lokale Port :80 belegt sein, diesen auf einen anderen freien Port umstellen.

Weiterleitungsziel (Server „Farm“) erstellen und Rewrite-Regel erstellen

Im IIS-Manager links unten auf den neuen Knoten „Server Farms“ > Create Server Farm

Server-Farm Name: beliebig > Das Feld „Server Address“ ist der Ziel-Webserver (in diesem Bespiel ist der Ziel-Webserver auf dem lokalen Host 127.0.0.1, das kann aber auch ein BELIEBIGER-HOST.DOMAIN.INTERN sein) > Die folgende „Rewrite Rules“ Frage mit „Ja“ beanworten („IIS Manager can create a URL rewrite rule to route all incoming requests to this server farm automatically. Do you want to create this rule now? You can also create this rule later by visiting the Routing Rules page of the server farm.“)

  • Unter „Advanced Settings“ müssen HTTP/HTTPS-port belegt sein. Wenn der Webserver nur auf HTTP reagiert, einfach undedizierten Müll eintragen.
  • Der Port lässt sich im nachhinein an dieser Stelle nicht mehr ändern. Ändert sich der Ziel-Port, einfach den Server löschen und einen neuen Eintrag hinzufügen. Alternativ kann man über den „Configuration Editor“ > Web Farms den eintrag erreichen. Microsoft hat sich hier das logische GUI einfach gespart.

Damit ider der IIS Reverse Proxy auch schon fertig.

Outlook 2013/2016 „Ein unbekannter Fehler ist aufgetreten, Error-Code 0x80090345“

Unter Windows 8.1 oder höher mag sich ein nagelneu eingerichtetes Outlook nicht mit dem Exchange-Server verbinden. Das passiert gleichermaßen bei lokalen Exchange-Servern und auch unter Office 365. Statt sich zu verbinden erscheint nach dem Autodiscover, also nach dem „Exchange-Servereinstellungen suchen“.

Lösung

Dieser Fehler tritt nur auf, wenn die Domäne unter Windows NT4 oder Samba betrieben wird. Die Lösung lautet, auf den neuen Credential-Manager-Schutz aus KB3000850 zu verzichten:

Einfach dazu im Schlüssel HKLM\SOFTWARE\Microsoft\Cryptography\Protect\Providers\df9d8cd0-1501-11d1-8c7a-00c04fc297eb den DWORD-Wert „ProtectionPolicy“ auf 1 setzen.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Protect\Providers\df9d8cd0-1501-11d1-8c7a-00c04fc297eb]
"ProtectionPolicy"=dword:00000001

Die Samba-Leute sind mit ihren Credentials noch nicht so weit (siehe Wiki).