OpenSSL zum Erzeugen von VPN-Zertifikaten

Forum: LANCOM FAQ-Bereich

Moderator: Lancom-Systems Moderatoren

Antworten
slemke
Beiträge: 1
Registriert: 08 Aug 2021, 15:11

OpenSSL zum Erzeugen von VPN-Zertifikaten

Beitrag von slemke »

Hallo zusammen,

nachdem ich mich nun lange damit gequält habe, eine zertifikatsbasierte VPN Einwahl zu realisieren (bin kein Lancom Mensch, eher Fortigate :D ) und ich auch nicht so recht etwas zu den "Spezialitäten" gefunden habe, möchte ich gerne ein paar Dinge hier teilen. Ich nutze seit je her openssl auf einer Linux Kiste. Ich hoffe, das ist erwünscht, sonst einfach löschen :-)

## besonders Punkt 6 beachten ##

1. Beim erzeugen der Zertifkate müssen diverse Vorgaben erfüllt werden (Stichwort "keyUsage"). Ausserdem muss in dem Zertifikat für den Lancom unter common Name der FQDN des Gerätes stehen (z.B. vpn.example.com). Wenn das nicht der Fall ist, kann es funktionieren, muss aber nicht :-) Insbesondere Apple und iOS Geräte sind hier empfindlich.

2. Vor dem Einspielen des Zertifkates ggf. alte / verwaiste Zertifikate löschen (Achtung - natürlic nicht, wenn bereits andere Tunnel mit Zertifkaten laufen :-)) "Weboberfläche / Extras / LCOS-Menübaum / Status/ Dateisystem"

3. Am besten ein (vollständiges! - also mit CA-Zertifikat) PKCS#12 über "Weboberfläche / Extras / Dateimanagemenr / Zertifikat oder Datei hochladen" hochladen

4. Bei dem Hochladen des PKCS#12 ggf. (empfohlen) den Haken bei "Vorhandene CA Zertifikate ersetzen" setzen und auf Syslog-Nachrichten (SSH Konsole) achten ("trace + vpn-status")- hier werden eventuelle Fehlermeldungen angezeigt, die beim Übertragen der Daten aus dem PKCS#12 Container auftreten

5. Kontrolle der Zertifikate mittels "show vpn cert" und "show vpn ca"

6. ACHTUNG:
Wenn man sich das Subject mit openssl anzeigen lässt (openssl x509 -in -text -noout client-cert.pem), dann werden die Attribute "verkehrt herum" ausgegeben, für den Lancom-Identitäten muss die Ausgabe also "gedreht werden".
siehe dazu auch: https://security.stackexchange.com/ques ... ame-fields
Beispiel (Linux):

Code: Alles auswählen

openssl x509 -in  -text -noout client-cert.pem | grep -ie Subject:
C=DE,ST=Bundesland,O=Firma,L=Ort,CN=commonName
muss im Lancom wie folgt eingetragen werden:

Code: Alles auswählen

CN=commonName,L=Ort,O=Firma,ST=Bundesland,C=DE
7. Scheinbar ist SHA256 im Lancom != SHA2-256 im NCP Client

Welche Merkmale sind erforderlich?

im CA-Zertifikat:
basicConstraints = critical,CA:true
keyUsage = keyCertSign, cRLSign

im Lancom-Zertifikat (=Server):
- Pkt.1 oben bzgl Common Name beachten! -
basicConstraints = critical,CA:false
keyUsage = digitalSignature, keyEncipherment, keyAgreement, nonRepudiation
extendedKeyUsage = serverAuth

Im Client-Zertifikat (Lancom Advanced Client = NCP Client):
basicConstraints = critical,CA:false
keyUsage = digitalSignature, keyEncipherment, keyAgreement, dataEncipherment
extendedKeyUsage = clientAuth

Ich hoffe, es hilft dem einen oder anderen :-)

Grüße
Sebastian
Benutzeravatar
LoUiS
Site Admin
Site Admin
Beiträge: 5031
Registriert: 07 Nov 2004, 18:29
Wohnort: Aix la Chapelle

Re: OpenSSL zum Erzeugen von VPN-Zertifikaten

Beitrag von LoUiS »

Hallo Sebastian,

vielen Dank fuer diese Hinweise und Anleitung!
Ich habe den Beitrag direkt mal in den FAQ Bereich verschoben!


Ciao
LoUiS
Dr.House hat geschrieben:Dr. House: Du bist geheilt. Steh auf und wandle.
Patient: Sind Sie geisteskrank?
Dr. House: In der Bibel sagen die Leute schlicht "Ja, Herr" und verfallen dann ins Lobpreisen.
Antworten