Das Datenbankschema der Zertifizierungsstellen-Datenbank

Möchte man Abfragen gegen die Zertifizierungsstellen-Datenbank formulieren, muss man zuerst wissen, wonach man suchen möchte.

Es gibt die Möglichkeit, das Datenbankschema der Zertifizierungsstellen-Datenbank ausgeben zu lassen.

„Das Datenbankschema der Zertifizierungsstellen-Datenbank“ weiterlesen

Grenzen der Microsoft Active Directory Certificate Services

Die Active Directory Certificate Services bestehen (wenn auch unter anderem Namen) in ihren Grundzügen seit Windows NT 4.0. Die heutzutage verwendete auf Active Directory besierende Architektur wurde mit Windows 2000 Server eingeführt. Die AD CS sind sehr gut in das Windows-Ökosystem integriert und erfreuen sich weiterhin weltweit großer Beliebtheit in Unternehmen und Behörden jeglicher Größenordnung.

Gerne wird auf die vielen Möglichkeiten hingewiesen, welche die Active Directory Certificate Services bieten. Selten wird allerdings darauf verwiesen, was mit ihnen nicht möglich ist. Das Produkt stößt nämlich mittlerweile an vielen Stellen auch an seine Grenzen.

Welche das sind, soll nachfolgend näher ausgeführt werden, um besser entscheiden zu können, ob die AD CS für geplante Vorhaben die richtige Lösung sein können.

„Grenzen der Microsoft Active Directory Certificate Services“ weiterlesen

Eine Zuordnung von einem Benutzerzertifikat zum dazugehörigen Computer herstellen

Folgendes Szenario angenommen:

  • Ein Computer eines Benutzers wird entwendet oder ist mit einer Malware befallen.
  • Die Integrität von auf dem Computer befindlichen Zertifikaten kann nicht mehr gewährleistet werden.
  • Die Zertifikate der/des Benutzers, welche auf diesem Computer beantragt wurden, müssen widerrufen werden.
  • Man möchte allerdings vermeiden, alle Zertifikate eines Benutzers zu widerrufen.
  • Es muss somit eine Verbindung zwischen den Zertifikaten des Benutzers und des Computers hergestellt werden, auf welchem diese beantragt wurden.

Wurden die Zertifikate per Autoenrollment beantragt, können wir uns zunutze machen, dass ein entsprechendes Attribut Teil der ursprünglichen Zertifikatanforderung war, und dass die Zertifikatanforderung zusammen mit dem Zertifikat in der Zertifizierungsstellen-Datenbank gespeichert wird.

„Eine Zuordnung von einem Benutzerzertifikat zum dazugehörigen Computer herstellen“ weiterlesen

Wiederherstellen von Zertifikaten aus den Daten des SMTP Exit Moduls

Stellt man eine Zertifizierungsstelle nach einem Katastrophenfall aus einer Sicherung (Backup) wieder her, wird man vermutlich feststellen, dass Zertifikate in dem Zeitraum zwischen der letzten Sicherung und dem Ausfall des Systems mit entsprechendem Datenverlust ausgestellt worden.

Diese Zertifikate sind nun nicht in der wiederhergestellten Zertifizierungsstellen-Datenbank gespeichert, somit können sie im Bedarfsfall auch nicht wiederhergestellt werden.

Hat man das SMTP Exit Modul im Einsatz, kann man aus den versendeten E-Mails wenigstens die Seriennummern der Zertifikate ermitteln und diese widerrufen.

„Wiederherstellen von Zertifikaten aus den Daten des SMTP Exit Moduls“ weiterlesen

Verschieben der Zertifizierungsstellen-Datenbank in ein anderes Verzeichnis oder auf ein anderes Laufwerk

Im Betrieb einer Zertifizierungsstelle mag man feststellen, dass es erforderlich ist, den Speicherpfad für die Zertifizierungsstellen-Datenbank nachträglich zu ändern. Beispielsweise möchte man die Datenbank vielleicht auf eine andere Partition/ein anderes Laufwerk verschieben.

„Verschieben der Zertifizierungsstellen-Datenbank in ein anderes Verzeichnis oder auf ein anderes Laufwerk“ weiterlesen

Die Ausstellung von Zertifikaten oder Sperrlisten schlägt fehl mit Fehlercode CERTSRV_E_NO_DB_SESSIONS

Folgendes Szenario angenommen:

  • Die Zertifizierungsstelle kann keine Zertifikate ausstellen und/oder
  • Die Zertifizierungsstelle kann keine Sperrlisten ausstellen.
  • Es wird mindestens eine der folgende Fehlermeldungen protokolliert:

Ereignis-ID: 53 (Microsoft-Windows-CertificationAuthority)

Active Directory Certificate Services denied request 12345 because An attempt was made to open a Certification Authority database session, but there are already too many active sessions. The server may need to be configured to allow additional sessions. 0x8009400f (-2146877425 CERTSRV_E_NO_DB_SESSIONS). The request was for CN=Rudi Ratlos. Additional information: Denied by Policy Module

Ereignis-ID: 130 (Microsoft-Windows-CertificationAuthority)

Active Directory Certificate Services could not create a certificate revocation list. An attempt was made to open a Certification Authority database session, but there are already too many active sessions. The server may need to be configured to allow additional sessions 0x8009400f (-2146877425). This may cause applications that need to check the revocation status of certificates issued by this CA to fail. You can recreate the certificate revocation list manually by running the following command: "certutil -CRL". If the problem persists, restart Certificate Services.
„Die Ausstellung von Zertifikaten oder Sperrlisten schlägt fehl mit Fehlercode CERTSRV_E_NO_DB_SESSIONS“ weiterlesen

Der Anzeigename einer Zertifikatvorlage wird nicht aufgelöst. Es wird nur der Objektidentifizierer (OID) der Zertifikatvorlage angezeigt.

Folgendes Szenario angenommen:

  • Für eine Zertifikatvorlage wird nur der Objektidentifizierer (Object Identifier) angezeigt, jedoch nicht der Anzeigename und/oder
  • Abfragen gegen die Zertifizierungsstellen-Datenbank enthalten für die Zertifikatvorlage (Feld "CertificateTemplate") nur den Objektidentifizier, jedoch nicht den Anzeigenamen.
„Der Anzeigename einer Zertifikatvorlage wird nicht aufgelöst. Es wird nur der Objektidentifizierer (OID) der Zertifikatvorlage angezeigt.“ weiterlesen

Details zum Ereignis mit ID 4880 der Quelle Microsoft-Windows-Security-Auditing

Ereignisquelle:Microsoft-Windows-Security-Auditing
Ereignis-ID:4880 (0x1310)
Ereignisprotokoll:Security
Ereignistyp:Information
Ereignistext (englisch):Certificate Services started. Certificate Database Hash: %1 Private Key Usage Count: %2 CA Certificate Hash: %3 CA Public Key Hash: %4
Ereignistext (deutsch):Die Zertifikatdienste wurden gestartet. Zertifikatdatenbankhash: %1 Verwendungsanzahl des privaten Schlüssels: %2 Zertifizierungshash der Zertifizierungsstelle: %3 Hash für öffentliche Schlüssel der Zertifizierungsstelle: %4
„Details zum Ereignis mit ID 4880 der Quelle Microsoft-Windows-Security-Auditing“ weiterlesen

Performanceprobleme bei Auditierung von "Start and stop Active Directory Certificate Services"

Bei der Konfiguration der Auditierungseinstellungen einer Zertifizierungsstelle ist man geneigt, die Option "Start and Stop Active Directory Certificate Services" auszuwählen. Diese Option kann unter Umständen jedoch zu Problemen führen.

„Performanceprobleme bei Auditierung von "Start and stop Active Directory Certificate Services"“ weiterlesen

Mehr als ein gemeinsamer Name (Common Name, CN) im Zertifikat

Heutzutage eher eine Kuriosität als wirklich praxisrelevant, aber es kommt hin und wieder vor, dass man Zertifikatanforderungen erhält, welche mehr als einen gemeinsamen Namen (Common Name) im Betreff (Subject) beinhalten. Auch wenn es erstaunlich wirken mag, dies ist durchaus möglich und auch RFC-konform.

„Mehr als ein gemeinsamer Name (Common Name, CN) im Zertifikat“ weiterlesen

Wiederherstellung einer Zertifizierungsstelle aus der Sicherung (Backup)

Nachfolgend wird die Wiederherstellung einer Zertifizierungsstelle aus der Sicherung beschrieben. Neben dem Katastrophenfall ist diese Vorgehensweise auch Teil der Migration eine Zertifizierungsstelle auf einen neuen Server.

„Wiederherstellung einer Zertifizierungsstelle aus der Sicherung (Backup)“ weiterlesen

Abfragen gegen die Zertifizierungsstellen-Datenbank schlagen fehl mit Fehlermeldung "0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED)"

Folgendes Szenario angenommen:

  • Man führt eine Abfrage gegen die Zertifizierungsstellen-Datenbank aus.
  • Die Abfrage schlägt mit folgender Fehlermeldung fehl:
CertUtil: -view command FAILED: 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED)
„Abfragen gegen die Zertifizierungsstellen-Datenbank schlagen fehl mit Fehlermeldung "0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED)"“ weiterlesen

(Massenhaftes) Löschen von Einträgen in der Zertifizierungsstellen-Datenbank (Zertifikate, Anforderungen, Sperrlisten)

Manchmal kommt es vor, dass die Datenbank der Zertifizierungsstelle extrem groß wird. Vielleicht sind unbemerkt sehr viele Zertifikatanforderungen eingetroffen und abgelehnt worden, vielleicht befinden sich auch viele Zertifikate in der Datenbank, die doppelt ausgestellt wurden. Bevor die Zertifizierungsstellen-Datenbank kompaktiert werden kann, müssen diese Einträge zuerst gelöscht werden, um den Speicherplatz in der Datenbank wieder freizugeben.

„(Massenhaftes) Löschen von Einträgen in der Zertifizierungsstellen-Datenbank (Zertifikate, Anforderungen, Sperrlisten)“ weiterlesen

Kompaktieren (Defragmentieren) der Zertifizierungsstellen-Datenbank

Manchmal kommt es vor, dass die Datenbank der Zertifizierungsstelle extrem groß wird. Vielleicht sind unbemerkt sehr viele Zertifikatanforderungen eingetroffen und abgelehnt worden, vielleicht befinden sich auch viele Zertifikate in der Datenbank, die doppelt ausgestellt wurden. Nachdem die entsprechenden Einträge aus der Zertifizierungsstellen-Datenbank gelöscht wurden, muss (kann) der nun gewonnene Speicherplatz noch durch Kompaktierung dieser im Dateisystem des Servers freigegeben werden.

„Kompaktieren (Defragmentieren) der Zertifizierungsstellen-Datenbank“ weiterlesen

Einsicht in die Sperrlisten-Tabelle der Zertifizierungsstellen-Datenbank

In der Standardeinstellung speichert die Zertifizierungsstelle alle Sperrlisten, die noch nicht abgelaufen sind, in der Zertifizierungsstellen-Datenbank.

Unter Umständen, etwa durch ein fehlkonfiguriertes Script, werden auf diese Weise sehr viele Sperrlisten in der Datenbank abgespeichert, was zu einem entsprechenden Wachstum der Datenbank führen kann (etwa wenn große Sperrlisten sehr oft neu erstellt werden).

„Einsicht in die Sperrlisten-Tabelle der Zertifizierungsstellen-Datenbank“ weiterlesen