VPN Lancom-Router zertifikatsbasierend
Es werden drei Zertifikate benötigt:
- 1 Stammzertifikat (root certificate), welches die Maschinenzertifikate beglaubigt (nur öffentlicher Schlüssel, vpn_rootcert).
- 1 Maschinenzertifikat für den LANCOM-Router (öffentlicher und privater Schlüssel, vpn_devcert + vpn_devprivkey) .P12
- 1 Maschinenzertifikat für die Gegenstelle (öffentlicher (vpn_pksc12_int) und privater Schlüssel) .P12
Alle Zertifikate liegen unter (SSH:) cd /Status/File-System/Contents oder (Webconfig:) Extras / LCOS-Menübaum / Status/ Dateisystem
Löschen mit SSH: del vpn_cevcert oder Webconfig.
Beim Hochladen der *.p12-Datei als "VPN - Container (VPN1)" wird der p12-Container im LANCOM-Router-internen FLASH-Speicher unter:
VPN - Container (VPN1): /flash/security/vpn/vpn_pkcs12_int
abgelegt.
Danach wird der p12-Container vom LANCOM-Router-internen OpenSSL entpackt.
Die entpackten *.pem/*.key-Dateien werden dann entsprechend im LANCOM-Router-internen FLASH-Speicher abgelegt:
VPN - Root-CA-Zertifikat: /flash/security/vpn/vpn_rootcert
VPN - Geräte-Zertifikat: /flash/security/vpn/vpn_devcert
VPN - Privater-Geräte-Schlüssel: /flash/security/vpn/vpn_devprivkey
Das VPN-Modul arbeitet mit den einzelnen *.pem/*.key-Dateien aus dem LANCOM-Router-internen FLASH-Speicher.
Prinzip: https://www.lancom-systems.de/docs/LCOS/Refmanual/DE/topics/aa1120076.html
LANCOM Router und Access Points unterstützen kein PKCS#7 Format, sondern nur PKCS#12 und CER.
Daher muss das Zertifikat von PKCS#7 in das Format PKCS#12 oder CER konvertiert werden.
Ein PKS#7-Zertifikat beginnt mit "----BEGIN PKCS7-----".
• Datei-Endung der Zertifikats-Datei in p7b ändern
• Doppelklick auf das Zertifikat (Windows) öffnet certmgr - Aktuellen Benutzer
• Ordner Zertifikate: Zertifikat auswählen, öffnen, In Datei kopieren -> Base-64 X.509 (CER)
Das neue Zertifikat beginnt mit "-----BEGIN CERTIFICATE-----"
Root-CA (VPN)
(im CentralSiteGateway, WLC oder Lancom-Router nur mit VPN-25 Option)
- Download XCA-Tool zum Erstellen der Zertifikate https://hohnstaedt.de/xca/ (alternativ: OpenSSL)
(Lanconfig: Zertifikatsstelle aktivieren / exportieren ist stark fehlerhaft)
Anleitung siehe: https://docs.insys-icom.de/pages/de_m3_creating_certificates_xca.html
• https://www.lancom-systems.de/certificate-generation/ - XCA-Tool: CA ROOT erstellen, exportieren als ca.cert
- XCA-Tool: TLS-Server VPN-Gerätezertifikat erstellen
exportieren als pxcs#12 Zertifikatskette (.PFX mit CA-Zertifikat) - WebConfig: Extras -> Dateimanagement -> Zertifikat hoch laden -> Typ: Standard-Zertifikatcontainer als PKCS#12 (vorhandene CA ersetzen)
- SSH Test: "show vpn ca" und "show vpn cert"
trace # vpn status (mit "Cursor-hoch" -> "ENTER" kann man on/off umschalten)
Geräte-Zertifikat (Router)
Es werden 2 Zertifikatspaare (Server und Client) erstellt, die jeweils mit dem CA-Zertifikat beglaubigt sind.
Kein Verschlüsselungs-Passwort für den Export des *.p12 Zertifikatspaketes verwenden.
Das Maschinenzertifikat des LANCOM-Routers (VPN-Server) muss den "Common Name" ("CN=") des LANCOM-Routers ausweisen.
Das Maschinenzertifikat des VPN-Clients oder VPN-Endpunkt muss den "Common Name" ("CN=") des VPN-Clients respektive des VPN-Endpunktes ausweisen.
Die .P12-Zertifikatspakete können testweise im Windows certmgr installiert werden. Aussteller= CA, Antragsteller das Maschinenzertifikat.
Den kompletten CN-String findet man im OpenSSL in der index.txt.
Den im Router konfigurierten Common-Name (CN) sieht man im WebConfig im LCOS-Menübaum:
/Setup/VPN/IKEv2/Auth/Parameter/Local-ID CN=<CN des VPN-Servers>
/Setup/VPN/IKEv2/Auth/Parameter/Remote-ID CN=<CN des VPN-Clients oder des VPN-Endpunktes>
• Server-Zert.pem + key.key + cacert.pem in output.p12 zusammen fassen:
openssl pkcs12 -export -in zert.pem -inkey key.key -certfile cacert.pem -out output.p12
- VPN-Zertifikat für Router und Client erstellen (mit XCA (oben) im Lancom WebClient https://support.lancom-systems.com/knowledge/pages/viewpage.action?pageId=32981641)
- bei WebClient: Router-Zertifikat in Router laden (Lanconfig/Konfigurations-Verwaltung > Zertifikat oder Datei hochladen, Typ: VPN-Container VPN(1) als PKS+12, .P12-Datei, Passphrase erforderlich)
- bei VPN-Clienteinwahl: lokale RAS-IP muss festgelegt werden
- Zertifikatsverteilung manuell: Lanconfig/Konfigurations-Verwaltung > Zertifikat oder Datei hochladen
https://www.youtube.com/watch?v=X3C2doQ3X6Y
Geräte-Zertifikat (Gegenstelle)
- Windows-Client: CA.CERT in "Stammzertifikate" importieren
- Key.key durch key.pem ersetzen! Es muss alles im PEM-Format im p12-Container vorliegen
Alle .PEM-Dateien dürfen kein Passwort besitzen, nur die .P12-Datei.
Zertifikatsverteilung über SCEP: (zwei Lancom-Router, Router mit Hauptzertifizierungsstelle verteilt die Zertifikate (SCAP-Client))
https://www.youtube.com/watch?v=3f6mGCQ4BeM
Zertifikatstypen: https://serverfault.com/questions/9708/what-is-a-pem-file-and-how-does-it-differ-from-other-openssl-generated-key-file
OpenSSL (Windows)
- openssl.cnf konfigurieren: C:\Program Files\Common Files\SSL\openssl.cnf
[CA] dir = festlegen
[CA] default_days = 3650 Tage - in %dir% (oben definiert):
- Datei "index.txt" anlegen
- Datei "serial" anlegen, Inhalt: "01"
- Verzeichnisse "certs", "crl", "newcerts", "private" anlegen - Erstelle RSA 2048bit CA-Zertifikat und Key
"openssl req -new -x509 -newkey rsa:2048 -keyout cakey.pem -out cacert.pem -days 3650"
cakey.pem - geheimer Schlüssel (mit Passphrase)
cacert.pem - CA-Zertifikat
(Common Name (CN) ist hier der offizielle Name der Zertifizierungsstelle. Für die eigene CA kann ein beliebiger Name hinterlegt werden.) - Test, Zertifikat (mit der Passphrase) öffnen:
"openssl rsa -in cakey.pem -noout -text" - Erstelle RSA 2048bit Server-Key (serverkey.pem) mit AES-128 verschlüsselt (einfaches PW)
"openssl genrsa -out serverkey.pem -aes128 2048" - Passwort wieder entfernen
"openssl rsa -in serverkey.pem -out serverkey.pem" - Erstelle ein CSR (Certificate Signing Request) (req.pem).
Das muss danach von der CA signiert werden. Hier sind wieder Angaben analog zum Erstellen der CA nötig.
"openssl req -new -key serverkey.pem -out req.pem -nodes"
Beim Server-Zertifikat ist der Common Name von entscheidender Bedeutung.
Hier muss der DNS-Name stehen, unter dem der Client den Server anspricht!
Wird das Zertifikat für eine HTTPS-Verbindung zu www.hinzag.eu verwendet, so muss der Common Name genau www.hinzag.eu heißen. Anderfalls wird der Browser das Zertifikat nicht akzeptieren. - Zertifikate müssen in oben angelegtem %dir% liegen, damit die CA zum Signieren gefunden wird
"cakey.pem" muß in %dir%/private/ liegen - CA signiert das Server-Zertifikat:
"openssl ca -in req.pem -notext -out servercert.pem"
Es entsteht "01.pem" in /newcerts/.
- Lancom Webconfig: Extras -> Dateimanagement -> Zertifikate hoch laden: cacert.pem
- SSL-Zertifikate (SSH - RSA-Schlüssel) nach Firmware-Aktualisierung neu erstellen
Ab LCOS 10.20 wurde die minimale Schlüssellänge (Min-Hostkey-Length) auf 2048 Bit angehoben und veraltete Verschlüsselungs- und Signatur-Algorithmen werden im Standard nicht mehr angeboten.
https://support.lancom-systems.com/knowledge/pages/viewpage.action?pageId=36458346 - CA bei Routerwechsel auf einen anderen Router umziehen
https://support.lancom-systems.com/knowledge/display/KB/Erstellung+von+VPN-Zertifikaten+nach+Umzug+der+CA+auf+einen+anderen+Router+via+SCEP-CA+Backup - Smart Zertifikate mit Lancom Router (VPN-25!) erstellen https://support.lancom-systems.com/knowledge/pages/viewpage.action?pageId=32984244
- zertifikatsbasierte VPN-Verbindungzwischen 2 Lancom Routern
https://support.lancom-systems.com/knowledge/display/KB/Konfiguration+einer+zertifikatsbasierten+IKEv2+VPN-Verbindung+zwischen+zwei+LANCOM+Routern - zertifikatsbasierte VPN-Verbindung IKEv.2 mit Lancom Adv.VPN-Client
https://support.lancom-systems.com/knowledge/pages/viewpage.action?pageId=32983599 - zertifikatsbasierte VPN-Verbindung IKEv.1 mit Android
https://support.lancom-systems.com/knowledge/pages/viewpage.action?pageId=32985576 - Konfiguration einer Active Directory Anbindung mit IKEv2-EAP (RADIUS) und einem LANCOM Router
https://support.lancom-systems.com/knowledge/display/KB/Konfiguration+einer+Active+Directory+Anbindung+mit+IKEv2-EAP+und+einem+LANCOM+Router
Quellen:
https://www.lancom-forum.de/fragen-zum-thema-vpn-f14/windows-phone-10-per-vpn-verbinden-t15356.html#p86774
Linkliste https://www.lancom-forum.de/fragen-zum-thema-vpn-f14/vpn-via-android-client-t17229.html#p97795
Anleitung Zertifikat VPN https://www.lancom-forum.de/fragen-zum-thema-vpn-f14/windows-phone-10-per-vpn-verbinden-t15356.html#p86774
hilfreich Zertifikate: https://www.lancom-forum.de/viewtopic.php?f=14&t=18184&p=103339
OpenSSL zum Erstellen von Zertifikaten: https://www.lancom-forum.de/lancom-faq-faq-bereich-f11/openssl-zum-erzeugen-von-vpn-zertifikaten-t18981.html
Strongeswan mit Zert.: https://www.lancom-forum.de/aktuelle-lancom-router-serie-f41/1781vaw-vpn-verbindung-klappt-nicht-t16074.html#p90462