OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
sandrac
Beiträge: 34
Registriert: 01.09.2018 21:09:09

OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von sandrac » 14.04.2020 17:50:05

Guten Abend

Ich versuche gerade einen OpenVPN Server aufzubauen und die Zertifikate von easy RSA über eine eigene CA zu Authentifizieren. Die ersten Schritte waren kein Problem:

Code: Alles auswählen

./easyrsa init-pki
./easyrsa build-ca nopass subca
Die erstellte req Datei habe ich dann auf meiner Offline CA hochgeladen und mir ein Zertifikat für die subCA ausgestellt.

Wenn ich nun das Zertifikat anschaue, dann habe ich unter Allgemein auch die Information:
Ausgestellt für: Mein OpenVPN SubCA
Ausgestellt von: Meine Offline CA

Unter Zertifizierungspfad sehe ich als erstes mein OfflineCA und darunter mein OpenVPN CA. Also alles gut.
Das erstellte Zertitikat liegt nun auf dem OpenVPN Server unter

Code: Alles auswählen

/etc/openvpn/easy-rsa/pki/ca.crt
Wenn ich nun jedoch ein Client Zertifikat ausstellen lasse:

Code: Alles auswählen

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
Wenn ich mir das Zertifikat auf WIndows anschaue, erhalte ich aber die Meldung "Der Aussteller dieses Zertifikats wurde nicht gefunden."

Unter Allgemein sehe ich es wieder soweit ok
Ausgestellt für: client1
Ausgestellt von: Mein OpenVPN SubCA

Unter Zertifizierungspfad sehe ich nun aber nur client1 und nicht meine OfflineCA wie es sein sollte.

Kann mir ggf da jemand weiterhelfen?

Gruss und Danke

Sandra

TomL
Beiträge: 5044
Registriert: 24.07.2014 10:56:59

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von TomL » 14.04.2020 18:12:37

sandrac hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 17:50:05
Die erstellte req Datei habe ich dann auf meiner Offline CA hochgeladen und mir ein Zertifikat für die subCA ausgestellt.
Wenn ich ehrlich bin, ich verstehe nur Bahnhof. Ich weiss nicht, was ein Offline CA ist oder ein subCA... ich nutze seit ca. 2008 oder 2009 OpenVPN, aber diese Begriffe kenne ich nicht. Und man muss da auch nix nach irgendwohin hochladen. Sowohl root-CA, also auch Server- und Client-CAs, sowie die Keyfiles stehen eigentlich, wenn man fertig ist, allesamt in der pki-Struktur des easy-RSA-Verzeichnisses.

Die Root-CA muss man sorgfältig verschließen, die anderen Certifikate und Keyfiles verteilt man entsprechend der Zweckerstellung auf die Geräte. Hier scheint mir irgendeine Richtungsangabe in falscher Richtung zu führen... :roll:
vg, Thomas

mludwig
Beiträge: 618
Registriert: 30.01.2005 19:35:04

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von mludwig » 14.04.2020 18:26:12

Hast du den Schlüssel deiner (offline)-CA unter Windows zu den vertrauenswürdigen Stammzertifizierungsstellen (also root-CA) hinzugefügt? Sonst kennt Windows die CA natürlich nicht ...

sandrac
Beiträge: 34
Registriert: 01.09.2018 21:09:09

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von sandrac » 14.04.2020 18:32:04

Hallo Thomas

Danke für deinen Beitrag. Ich möchte verhindern das ich auf dem Gerät irgendwelche Zertifikate austeilen muss. Diese kann ich ja mittels der ovpn Datei mit übergeben. (z.B. auch in dieser Anleitung so drin: https://www.digitalocean.com/community/ ... u-18-04-de)

Eine Offline CA ist eine Zertifizierungsstelle, die man aus Sicherheitsgründen als übergeordnete CA verwendet welche nach dem erstellen eines Zertifikates Offline nimmt. Mit dieser werden dann die SubCA's (Intermediate) zertifiziert welche in deinem Namen Zertifikate herausgeben kann. Hier auch sehr schön beschrieben: https://www.thesslstore.com/blog/root-c ... ermediate/

Das Ziel war eigentlich einfach. In der Infrastruktur gibt es bereits eine OfflineCA. Also wollte ich die PKI von Easy RSA in meiner Offline CA signieren, damit die Zertifikate welche Easy RSA ausstellt in der Struktur bereits als gültig erkannt werden. Ansonsten gibt es doch Probleme beim Verbinden über OpenVPN?

Gruss

Sandra

sandrac
Beiträge: 34
Registriert: 01.09.2018 21:09:09

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von sandrac » 14.04.2020 18:33:34

mludwig hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 18:26:12
Hast du den Schlüssel deiner (offline)-CA unter Windows zu den vertrauenswürdigen Stammzertifizierungsstellen (also root-CA) hinzugefügt? Sonst kennt Windows die CA natürlich nicht ...
Danke auch dir. Ich habe die req Datei in meiner Offline CA (Windows Server) eingelesen und das Zertifikat erstellt. Anschliessend exportiert und als crt auf mein Debian genommen.

Zusätzlich habe ich das root CA meiner Offline CA in Debian in /usr/share/ca-certificates eingefügt und mittels dpkg-reconfigure ca-certificates aktiviert.

mludwig
Beiträge: 618
Registriert: 30.01.2005 19:35:04

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von mludwig » 14.04.2020 18:38:07

Mir ging es eher um diesen Part, der wenn ich das richtig verstanden habe deine eigentliche Frage enthielt:
sandrac hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 17:50:05
...
Wenn ich mir das Zertifikat auf WIndows anschaue, erhalte ich aber die Meldung "Der Aussteller dieses Zertifikats wurde nicht gefunden."
...

Unter Zertifizierungspfad sehe ich nun aber nur client1 und nicht meine OfflineCA wie es sein sollte.
Das Windows, welches du zum anzeigen des Zertifikats benutzt, muss ebenfalls die root-CA kennen, d.h. sie muss in den Zertifikatspeicher importiert werden.

sandrac
Beiträge: 34
Registriert: 01.09.2018 21:09:09

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von sandrac » 14.04.2020 18:46:06

mludwig hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 18:38:07
Mir ging es eher um diesen Part, der wenn ich das richtig verstanden habe deine eigentliche Frage enthielt:
sandrac hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 17:50:05
...
Wenn ich mir das Zertifikat auf WIndows anschaue, erhalte ich aber die Meldung "Der Aussteller dieses Zertifikats wurde nicht gefunden."
...

Unter Zertifizierungspfad sehe ich nun aber nur client1 und nicht meine OfflineCA wie es sein sollte.
Das Windows, welches du zum anzeigen des Zertifikats benutzt, muss ebenfalls die root-CA kennen, d.h. sie muss in den Zertifikatspeicher importiert werden.
Es handelt sich um einen Domänen Benutzer dem das Zertifikat bekannt ist. Ich denke irgendwie fügt er das RootCA nicht sauber ein. Wenn ich ein Zertifikat anschaue welches von meiner SubCA von Windows stammt, sehe ich im Zertifikat unter Zertifizierungspfad folgendes. Wir gehen mal davon aus das der Common Name client1 ist so wie oben.
MeineOfflineCA
- Meine SubCA
--client1

Wenn ich das Zertifikat von Easy RSA anschaue ist dort jedoch nur client1 zu sehen und Windows erkennt es auch als nicht gültig. Ich denke ich muss das crt von meiner Offline CA noch irgendwie ein Easy RSA einbinden damit er die Zertifikate sauber einfügen kann. Aber da hab ich noch keine Lösung.

TomL
Beiträge: 5044
Registriert: 24.07.2014 10:56:59

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von TomL » 14.04.2020 18:47:16

sandrac hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 18:32:04
Eine Offline CA ist eine Zertifizierungsstelle, die man aus Sicherheitsgründen als übergeordnete CA verwendet welche nach dem erstellen eines Zertifikates Offline nimmt. Mit dieser werden dann die SubCA's (Intermediate) zertifiziert welche in deinem Namen Zertifikate herausgeben kann.
Ist die Offline CA also sowas wie die KeySigning-Machine, die selber mit VPN-Server und -Clients gar nix zu tun hat? Also so ist das bei mir geregelt, ich habe eine Key-Signing-Machine, die vollständig alle Certs und Keys erzeugt.... aber diese Maschine selber hat mit dem VPN gar nix zu tun. Wobei ich jetzt technisch keinen echten Unterschied erkenne, ob ich via SCP conf, cert, key und ta-file einzeln auf einen Client übertrage oder integriert in einer opvn. Technisch kommt alles aufs gleiche raus, und man kann aus beiden auch wieder beides erzeugen. Die Frage (aus Neugier) ist nur, ob meine Annahme mit der Key-Signing-Machine korrekt ist?
vg, Thomas

sandrac
Beiträge: 34
Registriert: 01.09.2018 21:09:09

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von sandrac » 14.04.2020 18:52:13

TomL hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 18:47:16
Die Frage (aus Neugier) ist nur, ob meine Annahme mit der Key-Signing-Machine korrekt ist?
Gute Frage. Ich kenne den Begriff nicht. Aber ich denke ähnlich. Ggf hilft dir dieses Dokument https://www.smartit.ch/uploads/unterneh ... 042016.pdf Seite 24.
Die Offline Ca macht aber nichts mehr auch keine Signierung von Keys. Dies macht es nur einmal (oder mehrfach bei mehreren SubCA)

mludwig
Beiträge: 618
Registriert: 30.01.2005 19:35:04

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von mludwig » 14.04.2020 18:57:03

Dann fehlt vermutlich der Import der SubCA von Easy-RSA in den Zertifkatspeicher. Also den öffentlichen crt des Intermediate Zertifikats, damit Windows die Zertifikatkette nachvollziehen kann. Es ist zugegeben nicht einfach, sich in deine Struktur hineinzudenken.

TomL
Beiträge: 5044
Registriert: 24.07.2014 10:56:59

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von TomL » 14.04.2020 19:01:14

sandrac hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 18:52:13
Gute Frage. Ich kenne den Begriff nicht. Aber ich denke ähnlich. Ggf hilft dir dieses Dokument https://www.smartit.ch/uploads/unterneh ... 042016.pdf Seite 24.
Die Offline Ca macht aber nichts mehr auch keine Signierung von Keys. Dies macht es nur einmal (oder mehrfach bei mehreren SubCA)
Ja, das ist also dasselbe. Ich habe da nur eine andere vorgehensweise, ich trenne das nicht. Bei mir werden aus Sicherheitsüberlegungen mithilfe der root-ca alle benötigten Certs und Keyfiles nur an einer einzigen Stelle erzeugt... und zwar auf meiner Key-Signing-Machine in der PKI-Struktur. Möglichkeiten irgendwas hinzufügen, zu ändern oder zu sperren gibt es nur an dieser Stelle. Und na klar, diese PKI-Struktur ist natürlich top-gesichert und liegt außerhalb normaler Zugriffe. Ich würde niemals eine root-CA (Key) irgendwoanders hinkopieren oder hochladen. Alles findet für alle betroffene System nur an einer Stelle statt, und dann verteile ich das notwendige von da an die betroffenen Systeme, ich bevorzuge es fileweise, aber .ovpn ist natürlich das gleiche.
mludwig hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 18:57:03
Dann fehlt vermutlich der Import der SubCA von Easy-RSA in den Zertifkatspeicher. Also den öffentlichen crt des Intermediate Zertifikats, damit Windows die Zertifikatkette nachvollziehen kann.
Warum muss man das machen? Ist das nicht auch in der .opvn enthalten?
vg, Thomas

mludwig
Beiträge: 618
Registriert: 30.01.2005 19:35:04

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von mludwig » 14.04.2020 19:18:06

Da ich die ovpn Datei nicht kenne, weiss ich nicht was drin ist. Vermutlich das Server crt, das Client crt und vermutlich noch der Client.key, aber von CAs weiss ich nichts. Die CAs müssen aber auf den Clients bekannt sein. Bei Webservern kenne ich das so, das diese die Intermediate CA certs mit ausliefern können und sollten, so dass die Clients (Browser) nur die Root-CA kennen müssen, aber ich weiss nicht ob openVPN das auch kann und macht.

TomL
Beiträge: 5044
Registriert: 24.07.2014 10:56:59

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von TomL » 14.04.2020 19:33:30

mludwig hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 19:18:06
Da ich die ovpn Datei nicht kenne, weiss ich nicht was drin ist. Vermutlich das Server crt, das Client crt und vermutlich noch der Client.key,
Ja, so ist es.
mludwig hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 19:18:06
aber von CAs weiss ich nichts. Die CAs müssen aber auf den Clients bekannt sein.
Die ganze bisher verwendete Terminologie ist auch für mich etwas verwirrend. CA ist nach meinem Verständnis einfach die Kurzform von Certificate Authority... und was das ist, kommt auf die jeweilige Perspektive an. Das kann zum einen der Part der Key-Signing-Machine sein, die man hier als höchste (und exklusive) Autorität sehen kann, die die gesamte CA erstellt oder auch die Zertifikat-Autorisierung-Files auf den Clients... also auch wieder crt, key, ta .... evtl. einschließlich conf-Params auch zusammengepackt in einer .ovpn. Aber für OpenVPN muss imho nix in den Zertifikat-Speicher übertragen werden, anscheinend wohl anders als bei apache oder nginx.

Ich habe das mal hier für mein eigenes OpenVPN-Projekt beschrieben... aber ich habe immer Bauchschmerzen, das zu empfehlen und tu das mittlerweile eher ungern.
vg, Thomas

mludwig
Beiträge: 618
Registriert: 30.01.2005 19:35:04

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von mludwig » 14.04.2020 19:43:24

Für OpenVPN müssen die CA.crt (root und Intermediate Zertifikat, der public key davon) vermutlich? nicht in den Zertifikatspeicher von Windows. aber wenn sich der Threadersteller das Zertifikat ansieht, mit den Windows-Boardmitteln, dann muss Windows die CAs schon kennen um die Zertifikatkette korrekt darzustellen.

sandrac
Beiträge: 34
Registriert: 01.09.2018 21:09:09

Re: OpenVPN mit eigener Root CA (Zertifikatskette fehlt)

Beitrag von sandrac » 14.04.2020 19:59:32

mludwig hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 19:43:24
Für OpenVPN müssen die CA.crt (root und Intermediate Zertifikat, der public key davon) vermutlich? nicht in den Zertifikatspeicher von Windows. aber wenn sich der Threadersteller das Zertifikat ansieht, mit den Windows-Boardmitteln, dann muss Windows die CAs schon kennen um die Zertifikatkette korrekt darzustellen.
Danke. Denke Windows muss das SubCA vom OpenVPN auch kennen. Das könnte die Lösung sein. Ich teste nochmals. Denke aber das könnte es sein. Danke euch.

Antworten