SharePoint und die Zertifikatsprüfung: Rootzertifikate, Zertifikatssperrlisten (CRL) und Zertifikatsvertrauenslisten (CTL)
avatar

Beim Laden von Application Pools und Dienstanwendungen prüft SharePoint neben der Zertifikatskette auch die Sperrlisten sowie die Vertrauenslisten. Dieser Vorgang funktioniert auf einem Server mit direkten Internetzugang in der Regel sehr schnell und die Website wird zügig geladen. Sobald der Server nun hinter einen Proxy steht, die Internet Verbindung ausfällt oder der Server überhaupt keinen Internetzugriff hat muss sich das CAPI2 Modul, mit dem diese Prüfungen gemacht werden, von Timeout zu Timeout begeben und der Server fühlt sich sehr träge an. Diese Prüfungen lassen sich deaktivieren. Allerdings senken sie die Sicherheit ihrer Umgebung, da kompromittierte Zertifikate nicht mehr erkannt werden. Dieser Artikel beschreibt wie sie die Prüfungen auch ohne direkten Internet Zugriff des Servers durchführen können

Wer sich diese Abfragen einmal ansehen möchte kann dies in der Ereignisanzeige tun.

  1. Öffnen sie die Ereignisanzeige und aktivieren sie die CAPI2 Protokollierung:
  2. Öffnen sie anschließend das Operational Log des CAPI2 Dienst. Um nicht Opfer von Timeouts zu werden und die Sicherheit der Server zu gewährleisten sollten hier im täglichen Betrieb keine Fehler oder Warnungen zu finden sein.
  3. In unserem Beispiel gibt es Probleme die Vertrauenskette eines Zertifikats zu validieren. In den Details der Eventlogmeldung finden sie weitere Details. Am Anfang finden sie das betroffene Zertifikat.,
  4. Am Ende der Meldung finden sie das Problem

Die meisten Zertifikatsfehler im CAPI2 Log beruhen auf Problemen die Vertrauenskette zu validieren. Dabei werden alle Zertifikate auf ihre Gültigkeit (Name, Gültigkeitszeitraum, Sperrliste) geprüft.
Im Anschluss beheben wir die üblichen Zertifikatsfehler eines SharePoint Servers ohne Drittanbieter Erweiterungen.

SharePoint Authority Root Zertifikat

Als erstes fügen wir das SharePoint Root Zertifikat den lokalen Vertrauenswürdigen Zertifizierungsstellen hinzu.

  1. Exportieren sie das SharePoint Root Zertifikat mittels SharePoint Power Shell:
    $rootCert = (Get-SPCertificateAuthority).RootCertificate
    $rootCert.Export(„Cert“) | Set-Content C:\SharePointAuthority.cer –Encoding Byte
  2. Fügen sie nun das Zertifikat auf jedem SharePoint Server zu den „Vertrauenswürdigen Stammzertifizierungsstellen/Trusted Root Certification Authorities“ hinzu.
    certutil -addstore -f Root C:\SharePointAuthority.cer

  1. Öffnen sie nun das Zertifikats SnapIn in einer MMC.exe und öffnen sie den Computer Zertifikatsspeicher. Navigieren sie anschließend unter Certificates (Local Computer)/SharePoint/Certificates und öffnen sie eins der drei Zertifikate. Wenn sie nun in den Bereich „Certification Path“ wechseln sollte der „Certificate status“ „This certificate is OK.“ lauten.
Ohne importiertes SharePoint Authority Zertifikat Mit importiertem SharePoint Authority Zertifikat

Quelle: http://social.technet.microsoft.com/wiki/contents/articles/14287.sharepoint-2013-how-to-improve-speed-on-first-page-load.aspx

Zertifikatssperrlisten (CRL)

Bei jedem Zertifikat mit einer eingetragenen Sperrlisten URL versucht der Windows Server diese herunterzuladen um die Gültigkeit des Zertifikats zu prüfen. Der Timeout für eine Sperrlistenprüfung beträgt 30 Sekunden. Anschließend wird das nächste Zertifikat überprüft und der Timeout beginnt erneut. Um die Abfrage erfolgreich durchführen zu können und die Prüfungszeit so gut es geht zu reduzieren laden wir die Sperrlisten direkt in den Zertifikatsspeicher des Servers. Für den Download der Sperrlisten benötigen sie einen PC mit Internetverbindung.
!!!Achtung: Durch das hinzufügen der Sperrlisten zum Zertifikatsspeicher müssen sie dafür sorgen diese Sperrlisten regelmäßig zu aktualisieren. Sonst hält ihr Server Zertifikate, die längst gesperrt wurden weiterhin für gültig. Idealerweise laden sie die Sperrlisten auf einem Server mit dauerhaften Internetzugang mittels geplanten Task herunter und stellen diese über einen Webserver oder Dateifreigabe für ihre Server bereit!!!

  1. Laden sie die beiden Sperrlisten auf einen Server.
    http://crl.microsoft.com/pki/crl/products/CodeSignPCA.crl
    http://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl
  2. Fügen sie die Sperrlisten dem Zertifikatsspeicher über eine CMD mit Administratorrechten hinzu:
    certutil -addstore CA CodeSignPCA.crl
    certutil -addstore CA CodeSignPCA2.crl

Den Download der Sperrlisten können sie mit den folgenden Zeilen PowerShell automatisieren

#Download CodeSignPCA
$source
= „http://crl.microsoft.com/pki/crl/products/CodeSignPCA.crl“
$destination
= „c:\CodeSignPCA.crl“
$wc
= New-Object System.Net.WebClient
$wc.DownloadFile($source, $destination
)

#Download CodeSignPCA2
$source = „http://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl“
$destination
= „c:\CodeSignPCA2.crl“
$wc
= New-Object System.Net.WebClient
$wc.DownloadFile($source, $destination
)

Quelle: http://social.technet.microsoft.com/wiki/contents/articles/14287.sharepoint-2013-how-to-improve-speed-on-first-page-load.aspx

Zertifikatsvertrauenslisten (CTL)

Ihr Windows Server ruft in regelmäßigen Abständigen die aktuellen Zertifikatsvertrauenslisten von Microsoft Update ab. Wenn der Server keine Verbindung zu den CTL Servern aufbauen kann kommt ebenfalls wieder ein Timeout zum Zuge. Bei der Aktualisierung werden die folgenden Zertifikatslisten geladen:

  • authrootstl.cab: Liste von vertrauenswürdigen nicht Microsoft Root Zertifizierungsstellen
  • disallowedcertstl.cab: Liste von nicht vertrauenswürdigen Zertifikaten (Kompromittierte Zertifizierungsstellen wie DigiNotar)
  • disallowedcert.sst: Enthält nicht vertrauenswürdigen Zertifikate
  • <thumbprint>.crt : Root Zertifikate die nicht von Microsoft stammen

Diese können mit dem Befehl CertUtil -syncWithWU \\server1\PKI\CTLs abgerufen werden. Stellen sie die Dateien über einen Webserver oder eine Dateifreigabe in ihrem Netzwerk bereit und konfigurieren sie ihre Clients mittels Gruppenrichtlinie, dass diese den neuen Speicherort verwenden. Sie können den gleichen Speicherort wie für die Sperrlisten verwenden und mit dem PowerShell Befehl zum Download der Sperrlisten kombinieren. Ein Virtuelles Verzeichnis auf einem IIS Server mittels Anonymer Authentifizierung eignet sich hier besonders, da sie keine Probleme mit Zugriffsberechtigungen oder komplexe Firewallregeln benötigen.

Beschreibung des CTL Sync im Technet: http://technet.microsoft.com/de-de/library/dn265983.aspx#BKMK_PrepServer
Beschreibung der Gruppenrichtlinien Konfiguration der Clients: http://technet.microsoft.com/en-us/library/dn265983.aspx#BKMK_both

Drittanbieter Solutions

Sollten sie Lösungen von Drittanbietern verwenden können sie beim Aufruf der Lösungen im CAPI2 Protokoll schnell erkennen, ob sich hier noch ein Timout versteckt, der das erste Laden verzögert.

Ein Gedanke zu “SharePoint und die Zertifikatsprüfung: Rootzertifikate, Zertifikatssperrlisten (CRL) und Zertifikatsvertrauenslisten (CTL)
avatar

  1. Pingback: SharePoint und die Zertifikatsprüfung: Rootzertifikate, Zertifikatssperrlisten (CRL) und Zertifikatsvertrauenslisten (CTL) - SharePoint Blogs in German - Bamboo Nation

Schreibe einen Kommentar