Eine CA kann zwei Zertifikate signieren, die dieselbe OpenVPN client-spezifische Konfiguration erhalten, und nichts in einem der beiden Zertifikate warnt jemanden. Seriennummern unterscheiden sich, Schlüssel unterscheiden sich, und die vollständigen Subjects unterscheiden sich ebenfalls, sobald sich eine Organisationseinheit ändert. Der Server bestimmt die Richtlinie pro Client über einen Namen, und dieser Name ist das Einzige, was eindeutig sein muss.

Der Server löst einen Namen auf, keine Seriennummer

Bei der einfachen Zertifikatssuche nimmt der Server den Common Name aus dem vorgelegten Zertifikat und sucht einen client-config-dir-Eintrag dieses Namens. Die Seriennummer geht nie in die Suche ein. Zwei Zertifikate, die sich in jedem Feld außer dem Common Name unterscheiden, landen in derselben Datei, sodass die zweite Verbindung die feste Adresse und die gepushten Routen des ersten Geräts erbt.

So besteht eine Eindeutigkeitsprüfung auf der CA-Seite, während das VPN weiterhin kollidiert. Die beiden Prüfungen beantworten verschiedene Fragen.

Legen Sie vor jedem Signieren fest, wie der effektive Name lauten soll, und halten Sie ihn neben dem Gerät oder Konto fest, zu dem er gehört. Ein Register aus Name, Eigentümer, Zweck und Zertifikatsfingerabdruck deckt die meisten Umgebungen ab. Ohne ein solches Register ist das Zertifikatsarchiv die einzige Aufzeichnung darüber, welcher Name zu welchem Gerät gehört, und dieses Archiv kann einen autorisierten Ersatz nicht von einem zweiten Gerät unterscheiden, das einen bestehenden Namen beansprucht. Reservieren Sie den Namen bei der Registrierung, und zwar unter einer Sperre, wenn zwei Betreiber gleichzeitig ausstellen können.

Welchen Namen die Zuordnung tatsächlich verwendet

Die einfache Zertifikatssuche verwendet den Common Name. Ein Server, der auf die Zuordnung eines authentifizierten Benutzernamens eingerichtet ist, verwendet stattdessen diesen Wert, wodurch der Common Name des Zertifikats für die Richtlinienauswahl irrelevant wird. Lesen Sie die laufende Konfiguration, um zu sehen, welche Zuordnung gilt.

Beide Zuordnungen können gleichzeitig vorhanden sein, und dann hängt das Ergebnis von der Reihenfolge ab, in der der Server sie auflöst. Eine Benutzernamen-Zuordnung, die auf den Common Name zurückfällt, akzeptiert stillschweigend ein Zertifikat, das das Register nie genehmigt hat. Schreiben Sie den effektiven Namen neben den Befehl, der ihn erzeugt hat, damit der nächste Betreiber die Reihenfolge nicht neu entdecken muss. Je eine Verbindung pro Zuordnung zu testen ist günstig und klärt die Frage.

Was auch immer die Zuordnung ergibt, das ist der zu reservierende Wert. Common Names in der CA zu reservieren, während der Server auf Benutzernamen setzt, reserviert das Falsche.

Zwei CAs können denselben Namen genehmigen

Ein VPN-Dienst kann mehr als einer ausstellenden Stelle vertrauen, und jede Stelle hat ihre eigene Vorstellung davon, welche Namen vergeben sind. Zwei unabhängige CAs können beide denselben Common Name für verschiedene Geräte genehmigen, und der Server akzeptiert beide Zertifikate ohne Beanstandung. Erfassen Sie jede Stelle im Vertrauensbündel, nicht nur die, von der Sie normalerweise ausstellen. Der Fehler zeigt sich beim ersten Einsatz eines Zertifikats der zweiten Stelle.

Dieselbe Überlegung gilt für eine CA, die Eindeutigkeit des vollständigen Subjects statt Eindeutigkeit des Common Name erzwingt.

Zwei Zertifikate, die einen Common Name teilen, sich aber in der Organisationseinheit unterscheiden, haben verschiedene Subjects, sodass die CA keinen Konflikt meldet, während der Server einen Namen sieht. Prüfen Sie die Einstellung, die Ihr Ausstellungswerkzeug tatsächlich verwendet, statt einen Standard anzunehmen. Die Behandlung von unique_subject in der openssl ca-Dokumentation ist dort der relevante Schalter, und Wrapper um dieses Werkzeug legen ihn üblicherweise offen, statt ihn zu ersetzen.

Erneuerung ist eine reservierte Wiederverwendung, keine Kollision

Eine Erneuerung, die den Namen behält, ist eine bewusste Wiederverwendung, und das Register sollte das in klaren Worten sagen. Halten Sie den alten und den neuen Fingerabdruck unter einem einzigen Namen fest, damit eine Prüfung einen Ersatz von einer Übernahme unterscheiden kann. Die Option duplicate-cn des Servers ist unabhängig davon: Sie regelt gleichzeitige Sitzungen, nicht Registrierung oder Namensreservierungen. Legen Sie fest, wie lange beide Anmeldedaten bestehen dürfen und wann die alte nicht mehr akzeptiert wird.

Lesen Sie vor der Übergabe des Ersatzes zurück, was das Zertifikat tatsächlich enthält. Die Subject-Zeile ist das Feld, das der Server abbildet, was auch immer der Dateiname nahelegt.

openssl x509 -in device42.crt -noout -subject -serial -issuer

Ein Widerruf identifiziert ein Zertifikat normalerweise unter seinem Aussteller, sodass das Ausmustern einer Seriennummer einen korrekt ausgestellten Ersatz derselben Stelle nicht betrifft. Genau dieses Verhalten braucht eine saubere Erneuerung, und deshalb kann ein Widerruf keinen Namen bereinigen, den zwei Geräte teilen. Prüfen Sie den effektiven Richtliniennamen und die zugewiesene Adresse in einer Testverbindung, bevor der Benutzer das Gerät sieht. Mustern Sie dann die alten Anmeldedaten bewusst aus und halten Sie fest, dass Sie es getan haben.

Ähnliche Artikel