malaki
Goto Top

Selbstsignierte OpenVPN-CA erneuern - Key vorhanden, aber kein Clientzugriff

Hallo liebe Community,

ich stehe vor einer Herausforderung im Zusammenhang mit meinem selbstsignierten OpenVPN-CA, das leider abgelaufen ist. Ich habe den privaten Schlüssel (Key) für das CA, und auf das System wo das CA.cert ursprünglich erstellt wurde. Gibt es eine Möglichkeit, das CA zu erneuern, ohne auf die Clients zugreifen zu müssen?

Ich habe bereits einige Recherchen durchgeführt, aber bisher keine konkrete Lösung gefunden. Da das CA abgelaufen ist, können sich die Clients nicht mehr erfolgreich mit dem VPN-Server verbinden, da das Zertifikat nicht mehr gültig ist.

Ich habe versucht, das Problem zu lösen, indem ich die folgenden beiden Ansätze verfolgt habe:

1. Erstellung eines neuen caNew.crt mit dem alten Schlüssel caOld.key.

shell

openssl x509 -in caOld.crt -days 36500 -out caNew.crt -signkey caOld.key
openssl verify -CAfile caNew.crt client01.crt
test.crt: OK

2. Erstellung einer neuen Server CSR (Certificate Signing Request).


openssl req -new -key server_old.key -out serverNew.csr

openssl x509 -req -in serverNew.csr -CA ca_new.crt -CAkey ca.key -CAcreateserial -out serverNew.crt -days 500 -sha256

Die Moduluswerte der alten und neuen Zertifikate sind gleich, was mir zunächst Hoffnung gab. Ich habe dann die alten Zertifikate in der OpenVPN-Serverkonfigurationsdatei (server.conf) durch die neuen Dateien ersetzt und den Server neu gestartet.

Leider erhielt ich jedoch folgende Fehlermeldung im Server-Log:


Mittwoch, 6. September 2023 IP.IP.IP.IP:47713 TLS-Fehler: Die TLS-Schlüsselverhandlung konnte nicht innerhalb von 60 Sekunden erfolgen (überprüfen Sie Ihre Netzwerkverbindung)

Mittwoch, 6. September 2023 IP.IP.IP.IP:47713 TLS-Fehler: Der TLS-Handshake ist fehlgeschlagen

Ist mein Ansatz grundsätzlich möglich? Wenn ja, was könnte hier schiefgegangen sein? Falls jemand von euch Erfahrung mit der Erneuerung eines selbstsignierten OpenVPN-CAs hat oder Ideen dazu hat, wie man dieses Problem lösen könnte, wäre ich sehr dankbar für eure Hilfe und Ratschläge.

Vielen Dank im Voraus!

Content-ID: 33690881480

Url: https://administrator.de/contentid/33690881480

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

lcer00
lcer00 11.09.2023 um 17:18:08 Uhr
Goto Top
Hallo,

das geht nicht. Du musst die Zertifikate erneuern und dazu musst Du auf die Clients zugreifen können.

Grüße

lcer
7907292512
7907292512 12.09.2023 aktualisiert um 12:31:36 Uhr
Goto Top
Ohne Austausch zumindest des CA-Certs am Client wird das nichts. Da die CA aber eh abgelaufen ist wirst du ja für die Zukunft eh neue Client-Zertifikate signieren müssen. Client-Zertifikate auszustellen die länger als die der CA laufen ist eh eine schlechte Idee.
Also zukünftig vorher etwas mehr Gedanken über die CA-Struktur machen. Das ist nichts was man mal so nebenbei plant. Da gehört sorgfältige Planung dazu sonst konterkariert das die Nutzung und Sicherheit die man sich davon erhofft.

Gruß sid
lcer00
lcer00 12.09.2023 um 12:51:51 Uhr
Goto Top
Hallo,

Nachtrag: Zertifikate sind genau für solche Situationen da. Zertifikate und die zugrundeliegende Infrastruktur (PKI) sind so designed, dass der Zertifikatinhaber nachweisen kann, dass er:
  • im Besitz eines echten Zertifikates ist (deshalb muss das Zertifizierungsstellenzertifikat vorliegen und diesem vertraut werden)
  • das Zertifikat gültig ist (Beginn, Ende - steht im Zertifikat - daher immer die Systemzeit der beteiligten Server überprüfen, am besten eine gemeinsame NTP-Quelle nutzen.)
  • das Zertifikat nicht widerrufen wurde (eine Zertifikatssperrliste oder ein OCSP-Server sollte verfügbar und erreichbar sein. Wobei dieser Punkt in der Praxis für VPN-Verbindungen häufig weggelassen wird.)

Damit kann sichergestellt werden, dass nur Zertifikatinhaber auf eine Ressource zugreifen können, für die sie zum Zugriffszeitpunkt auch berechtigt sind.

Nachtrag 2: Das ist jetzt der richtige Zeitpunkt, um Dir eine Liste zu erstellen, in der alle Zertifikate mit Ablaufdatum stehen. Diese Liste schaut man dann immer mal durch und sorgt dafür, dass keins abläuft ohne zuvor ersetzt worden zu sein.

Grüße

lcer