OPNsense Forum

International Forums => German - Deutsch => Topic started by: c-mu on September 23, 2019, 08:49:51 am

Title: Wie handhabt ihr viele Client Certs?
Post by: c-mu on September 23, 2019, 08:49:51 am
Hallo,
wir haben in unserem VPN Gateway mittlerweile 230 SSL Certs für OpenVPN Verbindungen, Tendenz steigend. Wir wollen die Certs nur mit einer maximalen Gültigkeit von 365Tagen raus geben. Das bedeutet bei dieser Menge, dass man im schnitt fast jeden Werktag ein Zertifikat erneuern muss.

Bis dato habe ich mir so beholfen, dass ich direkt beim Erstellen einen Kalendereintrag in der Zukunft setze, alá "Client Cert xyz expires".

Da alle Certs ja auch innerhalb der config.xml liegen, scheint es mir auch nicht gerade leicht zu sein, die Datei zu parsen.

Habt ihr Vorschläge wie man z.B. per Mail automatisiert benachrichtigt werden kann, dass das Zertifikat xyz bald abläuft?
Title: Re: Wie handhabt ihr viele Client Certs?
Post by: banym on September 23, 2019, 09:09:35 am
Hi,

bei der Anzahl an Zertifikaten und dem Verwaltungsaufwand würde ich eine PKI Verwaltungssoftware nutzen.
Gibts natürlich auch OpenSource. (EJBCA , OpenXPKI)
Ich glaube manche davon können auch in Workflows integriert werden, so könnte man die Zertifikate ggf. über die API in die Firewall laden wenn ein neues beantragt und genehmigt wurde.

Wenn möglich kannst du dann auch die CA auf einem anderen Rechner verwalten und nur die nötigen Zertifikate und Keys auf die Firewall installieren.

Title: Re: Wie handhabt ihr viele Client Certs?
Post by: JeGr on September 23, 2019, 03:55:58 pm
> wir haben in unserem VPN Gateway mittlerweile 230 SSL Certs für OpenVPN Verbindungen, Tendenz steigend. Wir wollen die Certs nur mit einer maximalen Gültigkeit von 365Tagen raus geben. Das bedeutet bei dieser Menge, dass man im schnitt fast jeden Werktag ein Zertifikat erneuern muss.

Hat das einen spezifischen Grund? Gehen häufig Zertifikate verloren oder gibt das ansonsten irgendeinen gesteigerten Sicherheitsgewinn? Halte ich für überdenkenswert.

> Da alle Certs ja auch innerhalb der config.xml liegen, scheint es mir auch nicht gerade leicht zu sein, die Datei zu parsen.

Nuja es geht schon. Man kann sich da mit etwas XML handywork und nem Decoder die Zertifikate schon rausziehen. Frage ist nur ob das sinnvoll ist.

> Habt ihr Vorschläge wie man z.B. per Mail automatisiert benachrichtigt werden kann, dass das Zertifikat xyz bald abläuft?

Nein, aber warum auch? Warum nicht statt dessen die CA einfach auslagern und anderweitig automatisieren? Je nachdem wie gut/schlecht eure Konfiguration ist, sollte sich die relativ leicht so modifizieren lassen, dass sie komplett generisch ist (Username/Passwort wird ja nicht in der OVPN Konfiguration gespeichert). Wenn man dann mit generischem Namen für tls.key, ca.crt, client.crt und client.key arbeitet hat man eine sehr einfache beliebig austauschbare OVPN Datei. Einzig die passenden Zertifikate fehlen. Da kann man sich dann aber mit einer externen CA bspw. auf nem Linux mit Ansible oder unter Windows Server mit anderen Mitteln schnell was bauen, was für jeden User beim Anmelden, auf Abruf, auf Bedarf whatever sein Zertifikat generiert und das zentral ablegt. Das einzig dynamische ist das Zertifikat und der Key und das muss man automatisieren. CA, TLS Key, OVPN Konfiguration ist alles gleich/generisch.

Da gibts also genug Ansätze, das hängt lediglich davon ab, was ihr sonst noch im Einsatz habt oder benutzt.
Title: Re: Wie handhabt ihr viele Client Certs?
Post by: mimugmail on September 23, 2019, 04:29:37 pm
Du solltest dir ne Schulung über Windows PKI gönnen, dann bisschen GPO-fu dass die auf den client replaced werden und auf der OPN das root zertifikat für OpenVPN.

Nie selbst gemacht, aber bei über 200 Usern sollte das Potential auf jeden Fall da sein.
Title: Re: Wie handhabt ihr viele Client Certs?
Post by: JeGr on September 23, 2019, 04:44:13 pm
Was ähnliches bauen wir demnächst für nen Kunden wobei den Windows Port der Microsoft Spezi des Kunden vor Ort macht. Aber im Prinzip genau das. GPO stellen sicher dass jeder beim Login automatisch entweder sein Zertifikat hat, bekommt oder ausgestellt wird und alles auf nen Netzlaufwerk gepackt wird wo die User Zugriff haben (auf ihr Verzeichnis/ihre VPN Konfig). Auf der Sense dann nur noch CA+Server Cert und TLS Key. Done ;)