VPN-Zertifikate erstellen

~ 0 min
2023-03-03 17:19

Um (zertifikatsbasierende) VPN-Verbindungen herzustellen, benötigt man VPN-Zertifikate für alle Geräte, die von derselben VPN-Zertifizierungsstelle (CA) signiert wurden.
Es empfiehlt sich, die VPN-CA und die VPN-Zertifikate an einem Standort zu verwalten und die VPN-Zertifikate von dort an alle weiteren Standorte/Geräte zu exportieren. Die VPN-CA muß nicht öffentlich vertrauenswürdig sein, sondern stellt nur das Vertrauen für die beteiligten VPN-Gegenstellen dar.

Für VPN-Verbindungen werden drei Zertifikate benötigt.

- 1 Stammzertifikat (root certificate), welches die Maschinenzertifikate beglaubigt (nur öffentlicher Schlüssel) .CRT
- 1 Maschinenzertifikat für den LANCOM-Router (öffentlicher .CRT und privater Schlüssel .PEM)
- 1 Maschinenzertifikat für die Gegenstelle (öffentlicher .CRT und privater Schlüssel .PEM)

Prinzip: https://www.lancom-systems.de/docs/LCOS/Refmanual/DE/topics/aa1120076.html

Jede weitere VPN-Verbindung benötigt ein eigenes Maschinen-Zertifikat, damit der Router den jeweiligen Client identifizieren kann.

Lancom spezifisch:
Die Router-integrierte CA (nur ab VPN-25 Option) sollte man aus Sicherheitsgründen nicht benutzen.
Das Erstellen einer eigenen CA ist vorzuziehen (gilt für alle VPN-Gateways).
Der Assistent zum Erstellen der Zertifikate im Lancom-Router funktioniert nur mit der integrierten CA.

Die Maschinen-Zertifikate werden bei Lancom-Routern mit ihrer Zertifikatskette als PXSC#12 .p12 -Datei in die Container VPN1..VPN9 geladen.
Die Zertifikate werden erst nach einem Neustart aktiviert!
Es ist (bei Lancom) nicht erforderlich, das extern erstellte CA-Zertifikat in den Router zu laden.
Die .PEM Maschinenzertifikate müssen unverschlüsselt ohne Passwort sein. Nur die Zertifikatskette .P12 ist verschlüsselt.
Der jeweilige VPN-Container wird in der VPN-Verbindung ausgewählt.

 

Zum Erstellen der CA + Zertifikate empfiehlt sich das grafische OpenSSL-Tool XCA.
Anleitung siehe:
https://docs.insys-icom.de/pages/de_m3_creating_certificates_xca.html
https://support.lancom-systems.com/knowledge/display/KB/Erstellen+von+X.509-Zertifikaten+mit+der+Anwendung+XCA

Root-CA (Stammzertifikat)
mit XCA erstellen.

Konfiguration:
- keine Leerzeichen oder Sonderzeichen verwenden
- Groß- und Kleinschreibung ist wichtig!
- Description Name und Common Name sollten identisch sein,
  Common-Name muss eindeutig sein
- der Inhalt muß bei den untegeordneten Zertifikaten identisch sein

  • Zertifikate: "Neues Zertifikat"
  • Selbstsigniertes Zertifikat erstellen
  • Signatur algorithmus: SHA 256
  • Vorlage: "[default] CA" (oder eigene Vorlage) -> "Alles übernehmen"
  • Inhaber: Interner Name = commonName
  • Inhaber: countryName: DE, organizationName: FIRMA
  • Inhaber: Privater Schlüssel erstellen: RSA-2048bit
  • Erweiterungen: Typ: Zertifikats Authorität
  • Erweiterungen: Gültigkeit Zeitspanne höher setzen
  • Schlüsselverwendung laut Vorlage, min. "Certificate Sign, CRL Sign"
  • "OK" erstellt CA-Zertifikat
  • Zertifikate: Export -> Öffentl. CA-Zertifikat als PEM (ca.crt)
  • Private Key der CA wird von XCA verwaltet und muß nicht exportiert werden.

 

Geräte-Zertifikate (Server und Client)
mit XCA erstellen.
Es werden 2 Zertifikatspaare (Server und Client) erstellt, die jeweils mit dem CA-Zertifikat beglaubigt sind.

  • Zertifikate: "Neues Zertifikat"
  • Verwende dieses Zertifikat zum Unterschreiben: "CA-Zertifikat" auswählen
  • Signatur algorithmus: SHA 256
  • Vorlage: "[default] TLS_server" (oder eigene Vorlage) -> "Alles übernehmen"
  • Inhaber: Interner Name = commonName : "server" und "client"
  • Inhaber: wie CA
  • Inhaber: Privater Schlüssel erstellen: RSA-2048bit
  • Erweiterungen: Typ: End Instanz
  • Erweiterungen: Gültigkeit Zeitspanne höher setzen
  • Erweiterungen: ggf. X509v3 Subjekt Alternative Name -> Bearbeiten, IP, E-Mail, DNS hinzu fügen (dyn. Clients)
  • Schlüsselverwendung laut Vorlage, min. "Certificate Sign, Non Repudiation, Key Encipherment, Key Agreement" und "TLS-Server" bzw. "TLS-Client"
  • "OK" erstellt CA-Zertifikat
  • unter Inhaber: RFC-2253 steht die Identität für die Gegenstelle
  • Maschinenzertifikat -> Export: PKCS#12 Zertifikatskette exportieren (client.pfx, server.pfx)
  • je nach Gegenstelle ggf. Privaten Schlüssel des Maschienenzertifikats exportieren

Lancom:
Zertifikatsinstallation überprüfen:
show vpn cert
show vpn ca

 Lancom Router

  • WebConfig: Extras -> Dateimanagement -> Zertifikat hoch laden -> Typ: VPN-Container (VPN1..9) PKCS#12 (vorhandene CA ersetzen) -> server.pfx laden, Passphrase erforderlich
  • Zertifikate mit SSH prüfen: "show vpn ca" und "show vpn cert"
  • VPN-Verbindung IPSec (ike2) mit Wizard erstellen
  • Lanconfig: VPN -> IKEv2 -> Authentifizierung -> Verbindung editieren
  • Authentifizierung lokal / entfernt = RSA Signatur
  • Identitätstyp = ASN.1-Distinguished-Name
  • ID lokal/entfernt= jeweils Name im RFC Format, der unter xca -> Inhaber -> RFC2253 steht (CN=netdesign-client,O=netdesign,C=de)
  • Lokales Zertifikat = Container (VPN1) auswählen

Besonderheiten bei Clients mit dynam. IP:

  • Lanconfig: VPN -> IKEv2 -> IPv4-Adressen: IP-Pool festlegen
  • VPN -> IKEv2 -> Verbindungsliste: IPv4-Adress-Pool auswählen
  • VPN -> IKEv2 -> Verbindungsliste: IKE-CFG-Mode= Server
  • bei IOS werden "FQDN" statt "ASN.1.." verwendet
  • ggf. muss das Server-Zertifikat (Lancom Router) die Eigenschaft "X509v3 Subject Alternative Name" besitzen im Format DNS oder IP,
    Inhalt ist dann die WAN IP / Domain Name von Gegenüber.
  • Das Maschinenzertifikat des LANCOM-Routers (VPN-Server) muss den "Common Name" ("CN=") des LANCOM-Routers ausweisen.
    Das Maschinenzertifikat des VPN-Clients bzw. Endpunkt muss den "Common Name" ("CN=") des VPN-Clients bzw. -Endpunktes ausweisen.
  • Fehlermeldungen abarbeiten (in der Regel sowas wie Remote ID doesnt match != ..)
  • Im Internet nachlesen, was der jeweilige Client zwingend benötigt, meist irgendwas am Zertifikat.
    Logmeldungen im Client abarbeiten

Fehlersuche:

  • SSH Fehlersuche: trace # vpn status  (mit "Cursor-hoch" -> "ENTER" kann man on/off umschalten)
  • trace + vpn - Auswerten mit Putty: Copy-All-To-Clipboard
  • SSH: show vpn long - zeigt VPN-Tunnel Regeln, Verschlüsselung und Einstellungen
  • SSH: show vpn rules- zeigt VPN Security Policies
  • SSH: show vpn sadb - zeigt ausgehandelte SA
  • Trace (LanConfig oder LanMonitor): vpn-debug / vpn-ike / vpn-status  laufen lassen und Verbindung aufbauen

Danke an Dr.Einstein: https://www.lancom-forum.de/viewtopic.php?p=110121#p110121

Wenn die Zertifikate erstellt sind, werden die VPN-Verbindungen konfiguriert.


Quellen und Links:

Durchschnittliche Bewertung 5 (1 Abstimmung)

Es ist möglich, diese FAQ zu kommentieren.