IPSec einrichten (Linux)
Hinweis
Das Mobile Pools IPSec Gateway ist eine open source Lösung des strongSwan Projektes und verwendet den neuen IKEv2 Standard in IPSec |
StrongSwan
Installation
Die meisten Distributionen liefern mittlerweile Pakete für StrongSwan mit, ansonsten kann man sie auch online herunterladen (z.B. für OpenSUSE). Man kann auch direkt den Quelltext von strongswan.org herunterladen und selbst kompilieren.
IPsec-Konfiguration
Zur Konfiguration müssen einige Dateien editiert werden. In /etc/ipsec.secrets muss folgendes enthalten sein (ausser diesen Einträgen sollten höchstens noch Kommentare in der Datei stehen):
/etc/ipsec.secrets
: RSA key.pem "<ZERTIFIKAT-PASSWORT>"
Zusätzlich muss die Datei /etc/ipsec.conf angepasst werden. Auch hier sollten ausser den unten angegebenen Einträgen keine weiteren vorhanden sein, außer man hat weitere IPSec-Verbindungen. Bitte beachten Sie, dass an der hervorgehobenen Stelle noch Ihr Account-Name eingetragen werden muss.
/etc/ipsec.conf
# ipsec.conf - strongSwan IPsec configuration file # basic configuration config setup # strictcrlpolicy=yes # uniqueids = no # Add connections here. conn %default #left=%defaultroute leftsourceip=%config leftcert=cert.pem leftid=[ACCOUNT]@informatik.uni-freiburg.de leftfirewall=no rightsubnet=0.0.0.0/0 rightid=root@vpn-mopo.vpn.uni-freiburg.de auto=add conn mopo right=132.230.151.174 # MoPo via Internet
Installation des x.509v3 Zertifikates
Das in Schritt 2 erstellte und heruntergeladene Zertifikat muss noch für die Verwendung in Linux aufbereitet werden, da die aktuellen IPSec-Implementierungen leider keine Keys im PKCS12-Format unterstützen. Dazu wird das Programm OpenSSL benötigt, welches bei allen gängigen Linux-Distributionen vorhanden ist.
Die folgenden Befehle extrahieren aus dem PKCS12-Zertifikat die entsprechenden Zertifikate und den PrivateKey. Dabei muss jeweils das gewählte Passwort eingegeben werden, beim letzten Befehl sogar dreimal.
Hinweis: die option "-legacy" wird erst ab Ubuntu 22.04 oder opsenssl Version 3.0 benötigt
openssl pkcs12 -in cert.p12 -legacy -clcerts -nokeys -out /etc/ipsec.d/certs/cert.pem
openssl pkcs12 -in cert.p12 -legacy -cacerts -nokeys -out /etc/ipsec.d/cacerts/root.pem
openssl pkcs12 -in cert.p12 -legacy -nocerts -nodes | openssl rsa -des3 -out /etc/ipsec.d/private/key.pem
Mit folgendem Befehl überprüfen ob die strongSwan Installation den Verschlüsselungsalgorithmus 3DES unterstützt:
# ipsec listalgs List of registered IKE algorithms: encryption: AES_CBC[aes] RC2_CBC[rc2] 3DES_CBC[openssl] CAMELLIA_CBC[openssl] CAST_CBC[openssl] BLOWFISH_CBC[openssl] DES_CBC[openssl] DES_ECB[openssl] NULL[openssl] ...
Falls nicht bitte das openssl Plugin für strongSwan installieren. Auf Debian basierten Distributuionen lautet das Paket: libstrongswan-standard-plugins
Nun sollte alles funktionieren. IPSec kann mit "ipsec start" gestartet werden. Danach stellt man die die Mopo-Verbindung mit "ipsec up mopo" oder "ipsec up mopo-home" her - je nachdem, ob man vom Uni-WLAN oder von außerhalb übers Internet darauf zugreifen möchte. Mit "ipsec down" wird die Verbindung beendet.
StrongSwan NetworkManager GUI
Voraussetzungen
Installation des strongSwan Network-Manager Plugin:
- Das zu installierende Paket für debian basierte Distributionen heisst: "strongswan-nm"
Internet Verbindung herstellen:- Falls Webseiten nur zum Teil ode langsam geladen werden, die "MTU" (Maximum Transfer Unit) auf "1000Byte" einstellen.
Hinweis: Die "MTU" Einstellung befindet sich im NetworkManger unter der aktiven "Netzwerkverbindung" (Ethernet, WiFi)
Konfiguration
Zertifikate vorbereiten:
Für die Verbindung wird das "Gateway Zertifikat", das "x509 Benutzer Zertifikat" und der zugehörige "Private Schlüssel" benötigt.
Das "Gateway Zertifikat" kann hier herunter geladen werden:
Gateway Zertifikat (SHA1 Fingerprint=74:9E:99:CE:92:D8:EA:46:27:C9:20:14:D7:C8:C0:8D:4C:39:C0:3C)
(verifizierbar mit folgendem Befehl: "openssl x509 -in cert-gw.pem -fingerprint -sha1 -noout" )
Das "User Zertifikat" und der zugehörige "Private Schlüssel" wird aus der im CA-Bereich herunterladbaren PKCS#12 Datei (cert.p12) extrahiert, die Passwortabfragen beziehen sich auf die Passphrase des Zertifikats:
Hinweis: die option "-legacy" wird erst ab Ubuntu 22.04 oder opsenssl Version 3.0 benötigt
openssl pkcs12 -in cert.p12 -legacy -clcerts -nokeys -out cert.pem
openssl pkcs12 -in cert.p12 -legacy -nocerts -nodes | openssl rsa -des3 -out key.pem
Es empfiehlt sich die drei Dateien in einem Verzeichnis im home abzulegen und von da aus im NetworkManager zu importieren.
Entsprechend dem unten stehenden Screenshot, die drei Dateien importieren und Einstellungen übernehmen.
Verbindungbeschreibung erstellen:
Hier am Beispiel des NetworkManagers unter Kubuntu 18.04:
Mit "Rechts-Klick" auf das "NetworkManger Icon" im Panel "Netzwerverbindung konfigurieren" wählen.
Enstprechend dem unten stehenden Screen-Shot eine "Strongswan VPN Verbindung" hinzufügen und konfigurieren:Verbindung starten/beenden
mit "Click" auf das NetworkManager Icon und Auswahl des VPNs "MoPo" wird die Verbindung gestartet bzw
beendet. Beim starten der Verbindung wird nach der Passphrase des privaten Schlüssels gefragt.
Hinweise:
- Logeinträge stehen in "/var/log/syslog"