learningNetworking
New member
Hallo liebe Community,
ich verzweifel an dem korrekten ausstellen von Zertifikaten. Mittlerweile bin ich wirklich ratlos und hinterfrage mittlerweile mich selbst, ob ich das theoretisch Konzept überhaupt richtig verstanden habe - da ich irgendwo wahrscheinlich gravierende Fehler habe - deshalb würde ich mich über absolut jede Hilfestellung diesbezüglich freuen, um den Knoten im Kopf zu lösen.
Ich habe folgendes Setup:
Eine eigene Root CA.
Eine intermediate CA, signiert von Root CA.
Ein Serverzertifikat, signiert von intermediate CA.
Achtung, es könnten Fehler folgen:
Ich bin wie folgt für die Opnsense vorgegangen:
Auch die Erstellung neuer Serverzertifikate mit dem intermediate klappt problemlos und wird auch akzeptiert.
Hierzu habe ich folgende manual genutzt: in der offiziellen Dokumentation der Opnsense, mit der Abweichung, dass ich den root CA in den Browser importiert habe und nicht den intermediate.
Wahrscheinlich liegt auch hier irgendwo der Fehler?
Denn ich wollte das gleiche nun für mein Proxmox durchführen. Hier bekomme ich allerdings Probleme, hier ein paar meiner Lösungsversuche :
Beim importieren habe ich folgendes probiert, da ich die Zertifikate vorerst mit Opnsense erstellt hatte:
Wenn ich in die .pem Datei schaue, sind auch natürlich nur der internal-ca und das server-cert gelistet.
Folgender Test zeigt, dass es an meinem Root CA liegen muss:
Könnte dann nicht jemand, wenn der intermediate-ca kompromitiert wird, sich für den Server ausgeben?
Oder ist es das korrekte vorgehen das importieren des intermediate-ca und ich habe ein Verständnisproblem? (Ich möchte aber schon gerne eine chain)
Oder muss ich noch irgendwie das root Zertifikat, dem Server mit auf den Weg geben (und die Sense hat weitere Komplexität abstrahiert)? Irgendwie soetwas in der Richtung?
Mittlerweile habe ich mich total verrant und weiß gar nicht mehr was von meinem Vorgehen nun richtig und was falsch war. Ich weiß, dass ich mir den gesamten Ärger sparen kann und einfach ein Skript von Let's Encrypt ausführen kann und dass eine chain mit Root und Intermediate für mein kleines im Aufbau befindliches Heimnetz vielleicht etwas overkilled ist - aber ich möchte den gesamten Prozess mindestens einmal richtig verstanden und selbst umgesetzt haben (auch wenn ich vorerst die Sense zur Erstellung nutze und nicht openssl).
Vielleicht hat das jemand schon einmal erfolgreich umgesetzt? Oder kann mir den richtigen Weg zeigen, bevor ich mich noch weiter verlaufe?
Wie gesagt, über jede Form der Hilfe wäre ich sehr dankbar.
Liebe Grüße
ich verzweifel an dem korrekten ausstellen von Zertifikaten. Mittlerweile bin ich wirklich ratlos und hinterfrage mittlerweile mich selbst, ob ich das theoretisch Konzept überhaupt richtig verstanden habe - da ich irgendwo wahrscheinlich gravierende Fehler habe - deshalb würde ich mich über absolut jede Hilfestellung diesbezüglich freuen, um den Knoten im Kopf zu lösen.
Ich habe folgendes Setup:
Eine eigene Root CA.
Eine intermediate CA, signiert von Root CA.
Ein Serverzertifikat, signiert von intermediate CA.
Achtung, es könnten Fehler folgen:
Ich bin wie folgt für die Opnsense vorgegangen:
- Die .crt vom root CA habe ich in meinen Browser importiert, also den public Key vom root CA.
- Die Opnsense habe ich mit dem Serverzertifikat, signiert vom intermediate CA ausgestattet.
- Den Root CA habe ich extern gesichert und entfernt.
Auch die Erstellung neuer Serverzertifikate mit dem intermediate klappt problemlos und wird auch akzeptiert.
Hierzu habe ich folgende manual genutzt: in der offiziellen Dokumentation der Opnsense, mit der Abweichung, dass ich den root CA in den Browser importiert habe und nicht den intermediate.
Wahrscheinlich liegt auch hier irgendwo der Fehler?
Denn ich wollte das gleiche nun für mein Proxmox durchführen. Hier bekomme ich allerdings Probleme, hier ein paar meiner Lösungsversuche :
- Da ich eine wildcard DNS gewählt habe, habe ich erst versucht einfach das bereits bestehende Zertifikat zu nutzen, da die *.subdom.tld gleich war.
- Einen neuen intermediate erstellen ohne wildcard, genau zutreffend auf Domain und IP
- Eine komplett neue chain aufzusetzen
Beim importieren habe ich folgendes probiert, da ich die Zertifikate vorerst mit Opnsense erstellt hatte:
- Das Zertifikat .crt und den Key .key vom Serverzertifikat exportiert und in Proxmox unter Zertifikate eingefügt.
- Die .p12 vom Serverzertifikat exportiert und entpackt mittels:
Code:openssl pkcs12 -in pkcs.p12 -nodes -out server.key -nocerts openssl pkcs12 -in pkcs.p12 -clcerts -nokeys -out server.pem
Wenn ich in die .pem Datei schaue, sind auch natürlich nur der internal-ca und das server-cert gelistet.
Folgender Test zeigt, dass es an meinem Root CA liegen muss:
- Wenn ich den intermediate CA in meinen Browser importiere, wird die Kette korrekt erkannt: intermediate-ca ---> Serverzertifikat
Könnte dann nicht jemand, wenn der intermediate-ca kompromitiert wird, sich für den Server ausgeben?
Oder ist es das korrekte vorgehen das importieren des intermediate-ca und ich habe ein Verständnisproblem? (Ich möchte aber schon gerne eine chain)
Oder muss ich noch irgendwie das root Zertifikat, dem Server mit auf den Weg geben (und die Sense hat weitere Komplexität abstrahiert)? Irgendwie soetwas in der Richtung?
Mittlerweile habe ich mich total verrant und weiß gar nicht mehr was von meinem Vorgehen nun richtig und was falsch war. Ich weiß, dass ich mir den gesamten Ärger sparen kann und einfach ein Skript von Let's Encrypt ausführen kann und dass eine chain mit Root und Intermediate für mein kleines im Aufbau befindliches Heimnetz vielleicht etwas overkilled ist - aber ich möchte den gesamten Prozess mindestens einmal richtig verstanden und selbst umgesetzt haben (auch wenn ich vorerst die Sense zur Erstellung nutze und nicht openssl).
Vielleicht hat das jemand schon einmal erfolgreich umgesetzt? Oder kann mir den richtigen Weg zeigen, bevor ich mich noch weiter verlaufe?
Wie gesagt, über jede Form der Hilfe wäre ich sehr dankbar.
Liebe Grüße