Grundlagen: Automatic Certificate Management Environment (ACME)

Das ACME Protokoll wurde von den Betreibern vom Projekt Let’s Encrypt entworfen, um die Ausstellung von Webserver-Zertifikaten zu automatisieren. Es ist spezifiziert in RFC 8555.

Zielstellung ist, den Vorgang des beweisens des Besitzes der DNS Ressource (IP-Adressen können aktuell nicht identifiziert werden, ist künftig aber geplant), jedoch nicht der Person oder Organisation die dahinter steht, zu automatisieren, um anschließend ohne menschliche Interaktion ein Webserver-Zertifikat beziehen zu können.

„Grundlagen: Automatic Certificate Management Environment (ACME)“ weiterlesen

Ein Policy Modul, um sie zu bändigen: Vorstellung des TameMyCerts Policy Moduls für die Microsoft Zertifizierungsstelle

Als Betreiber einer Zertifizierungsstelle ist man für die Identifikation der Antragsteller und die Bestätigung ihrer Identität verantwortlich. Dass diese Aufgabe gewissenhaft und fehlerfrei ausgeführt wird, ist der zentrale Grundpfeiler für das Vertrauen, dass der Zertifizierungsstelle eingeräumt wird. Namhafte Firmen sind bereits an dieser Aufgabe gescheitert, mussten in Folge von Falschausstellungen sogar Insolvenz anmelden und/oder wurden durch die großen Player am Markt empfindlich bestraft.

In vielen Fällen sind wir als (Microsoft-)PKI-Betreiber in Unternehmen in der Lage, unsere Aufgabe an das Active Directory zu delegieren (ungeachtet der damit einhergehenden Qualität). In vielen Fällen müssen wir unsere Zertifizierungsstelle(n) aber auch anweisen, einfach alles auszustellen, was beantragt wird.

Namhafte Beispiele hierfür sind unter Anderem:

  • Mobile Device Management (MDM) Systeme wie VMware AirWatch beantragen stellvertretend Zertifikate für die Benutzer der verwalteten Endgeräte.
  • Viele im Unternehmen eingesetzte Gerätetypen erfordern den Betrieb eines Simple Certificate Enrollment (SCEP) Servers. Schlecht abgesicherte SCEP-Schnittstellen können ein Einfallstor für Angriffe auf die Umgebung sein.
  • Weitergabe oder Diebstahl von Zugangsdaten zu Benutzer- oder Dienstkonten können zur Ausstellung potentiell böswilliger Zertifikate führen.
  • Und natürlich der Faktor Mensch. Auch PKI-Betreiber können bei der Konfiguration der Zertifizierungsstellen oder manuellen Prüfung von Zertifikatanforderungen Fehler machen und somit Fehlausstellungen von Zertifikaten verursachen. Das gleiche gilt natürlich auch für andere Administratoren, denen vielleicht die Beantragung von Zertifikaten eingeräumt wurde (im schlimmsten Fall sogar über die Zertifizierungsstellen-Webregistrierung).

Namenseinschränkungen des Zertifizierungsstellen-Zertifikats können diese Fälle teilweise, aber nicht ansatzweise vollumfänglich adressieren.

„Ein Policy Modul, um sie zu bändigen: Vorstellung des TameMyCerts Policy Moduls für die Microsoft Zertifizierungsstelle“ weiterlesen

Grundlagen: Namenseinschränkungen (Name Constraints)

Namenseinschränkungen sind ein Teil des X.509 Standard und im RFC 5280 beschrieben. Sie sind ein Werkzeug, das im Rahmen der qualifizierten Subordinierung eingesetzt werden kann, um den Gültigkeitsbereich eines Zertifizierungsstellenzertifikats feingranular zu steuern.

„Grundlagen: Namenseinschränkungen (Name Constraints)“ weiterlesen

Es wird Zeit: Migrieren der PKI Komponenten von Windows Server 2012 auf ein neues Betriebssystem

Zum Jahreswechsel ein Hinweis an alle Betreiber einer Microsoft Zertifizierungsstelle und angeschlossener Dienste:

Das Ende der Produktunterstüzung von Microsoft für Windows Server 2012 und 2012 R2 rückt langsam näher, es ist der 10. Oktober 2023.

Es wird somit Zeit, den Umzug auf ein neues Betriebssystem vorzubereiten.

„Es wird Zeit: Migrieren der PKI Komponenten von Windows Server 2012 auf ein neues Betriebssystem“ weiterlesen

Die Beantragung von Zertifikaten mit auf elliptischen Kurven basierenden Schlüsseln schlägt fehl, wenn der Microsoft Platform Crypto Provider verwendet wird

Folgendes Szenario angenommen:

Error: The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)

Auf Windows Server 2016 wird die Fehlermeldung "No provider was specified for the store or object. 0x80092006 (-2146885626 CRYPT_E_NO_PROVIDER)" ausgegeben bei ansonsten identischem Verhalten.

„Die Beantragung von Zertifikaten mit auf elliptischen Kurven basierenden Schlüsseln schlägt fehl, wenn der Microsoft Platform Crypto Provider verwendet wird“ weiterlesen

Grundlagen: Elliptische Kurven in Hinsicht auf ihre Verwendung in der Public Key Infrastruktur

Mit Windows Vista und Windows Server 2008 wurde die Cryptography API: Next Generation (CNG) in die Windows Systeme eingeführt.

Unter diesem Begriff wird eine Sammlung moderner kryptographischen Funktionen verstanden. Unter Anderem ermöglicht die CNG die Verwendung von Zertifikaten, welche auf elliptischen Kurven (auch Elliptic Curve Cryptography, ECC genannt) basierende Schlüssel verwenden, mit der Microsoft Zertifizierungsstelle und dem Windows Betriebssystem.

„Grundlagen: Elliptische Kurven in Hinsicht auf ihre Verwendung in der Public Key Infrastruktur“ weiterlesen

Microsoft Outlook: Signierte E-Mail Nachrichten werden vom empfangenden Mailserver abgelehnt mit Fehlermeldung "Invalid S/MIME encrypted message."

Folgendes Szenario angenommen:

  • Ein Benutzer versendet eine mit Secure/Multipurpose Internet Mail Extensions (S/MIME) signierte E-Mail Nachricht.
  • Der Absender verwendet Microsoft Outlook für Macintosh.
  • Der Empfangende Mailserver lehnt die Nachricht ab und sendet einen Non-Delivery Report (NDR) zurück:
550 5.6.0 M2MCVT.StorageError.Exception: ConversionFailedException - , Content conversion: Invalid S/MIME encrypted message.; storage error in content conversion.
„Microsoft Outlook: Signierte E-Mail Nachrichten werden vom empfangenden Mailserver abgelehnt mit Fehlermeldung "Invalid S/MIME encrypted message."“ weiterlesen

Was passiert, wenn ein Benutzer mehrere Zertifikate beantragt hat?

Ich bin neulich auf das Phänomen getroffen, dass aufgrund einer fehlerhaften Beantragungslogik mehrere Benutzer in regelmäßigen Anständen neue Zertifikatanforderungen gestellt hatten.

Die Zertifikatvorlage war konfiguriert, eingehende Zertifikatanforderungen durch einen Zertifikatmanager freigeben zu lassen, d.h. es erfolgte keine automatische Ausstellung der Zertifkate. Die Zertifikatanforderungen sollten durch einen eigenen Code überprüft und anschließend freigegeben werden.

Man würde nun erwarten, dass (da alle Zertifikatanträge letztendlich genehmigt würden) die Benutzer nun mehrere Zertifikate gleichen Typs in ihrem Zertifikatspeicher (und den Anwendungen, welche diesen nutzen) vorfinden würden. Dem war aber nicht der Fall.

„Was passiert, wenn ein Benutzer mehrere Zertifikate beantragt hat?“ weiterlesen

Die Erzeugung einer Zertifikatvorlage ist nicht möglich. Fehlermeldung "The following template name has already been used"

Folgendes Szenario angenommen:

  • Es soll eine neue Zertifikatvorlage angelegt werden.
  • Die Erstellung schlägt mit folgender Fehlermeldung fehl:
The following template name has already been used: ADCSLaborBenutzerTest. Enter a unique template name.
„Die Erzeugung einer Zertifikatvorlage ist nicht möglich. Fehlermeldung "The following template name has already been used"“ weiterlesen

Betreiben der Zertifizierungsstelle ohne Exit Modul

Wird eine Zertifizierungsstelle installiert, ist automatisch das "Windows Default" Exit Modul aktiviert. Dieses ermöglicht den Versand von E-Mail Nachrichten bei bestimmten Ereignissen der Zertifizierungsstelle. Die meisten Unternehmen verwenden diese Funktion jedoch überhaupt nicht.

Aber auch wenn das Exitmodul überhaupt nicht verwendet wird, verursacht es Sitzungen auf der Zertifizierungsstellen-Datenbank (siehe Ereignis Nr. 46). Auf Zertifizierungsstellen mit hoher Last kann dies problematisch sein.

Wenn die Funktionen, die es bietet, gar nicht verwendet werden (unter Windows Server Core funktioniert das "Windows Default" Exitmodul grundsätzlich nicht), kann es auch komplett deaktiviert werden.

„Betreiben der Zertifizierungsstelle ohne Exit Modul“ weiterlesen

Ursachenforschung: Snipping Tool und weitere Komponenten in Windows 11 wegen abgelaufenem Zertifikat nicht mehr benutzbar

Heute ging durch viele Medien, dass einige Apps und Komponenten im erst jüngst erschienenen Windows 11 seit dem 01.11.2021 nicht mehr funktionieren und die Ursache hierfür ein am 31.10.2021 abgelaufenes Zertifikat sei. Mittlerweile hat Microsoft in einem Blogpost darauf hingewiesen und auch einen Patch für einige betroffene Komponenten veröffentlicht.

Leider gab es aber in keiner der verfügbaren Quellen detaillierte Informationen dafüber, was genau das Problem war. Gehen wir der Sache somit selbst auf den Grund.

„Ursachenforschung: Snipping Tool und weitere Komponenten in Windows 11 wegen abgelaufenem Zertifikat nicht mehr benutzbar“ weiterlesen

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

Neues Blog zum Thema Active Directory Certificate Services mit Fokus auf Sicherheit

Mit Freuden kann ich verkünden, dass meine sehr geschätzte ehemalige Kollegin Dagmar Heidecker wieder am bloggen ist.

In ihrer neuen Rolle in der Microsoft Compromise Recovery Security Practice setzt Dagmar den thematischen Schwerpunkt insbesondere (aber nicht nur) auf Sicherheitsthemen rund um die Active Directory Certificate Services und damit verbundene Komponenten.

Ihr Blog ist zu finden im Core Infrastructure and Security Blog.

Die manuelle Zuweisung eines Remotedesktop-Zertifikats schlägt fehl mit Fehlermeldung "Invalid parameter"

Folgendes Szenario angenommen:

Set-WMIInstance : Invalid parameter
 At line:1 char:1
 Set-WMIInstance -path $TerminalServicesConfig.__path -argument @{SSLC …
 ~~~~~~~~~~~~~~~~~ CategoryInfo          : InvalidOperation: (:) [Set-WmiInstance], ManagementException
 FullyQualifiedErrorId : SetWMIManagementException,Microsoft.PowerShell.Commands.SetWmiInstance 
„Die manuelle Zuweisung eines Remotedesktop-Zertifikats schlägt fehl mit Fehlermeldung "Invalid parameter"“ weiterlesen