Schritt 3: IPSec einrichten (Linux)

Hinweis

info

Das Mobile Pools IPSec Gateway ist eine open source Lösung des strongSwan Projektes und verwendet den neuen IKEv2 Standard in IPSec

Auf dieser Seite werden zwei verschiedene Möglichkeiten zur Einrichtung des IPSec-Protokolls beschrieben. Es wird jedoch nur eine einzige Variante davon benötigt, also entweder StrongSwan oder StrongSwan NetworkManager GUI.


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):

download/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.

download/etc/ipsec.conf

# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
strictcrlpolicy=no
nat_traversal=yes
charonstart=yes
plutostart=no

# Add connections here.
conn %default
keyexchange=ikev2
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=10.1.0.2 # MoPo via WLAN
conn mopo-home
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.

openssl pkcs12 -in cert.p12 -clcerts -nokeys -out /etc/ipsec.d/certs/cert.pem
openssl pkcs12 -in cert.p12 -cacerts -nokeys -out /etc/ipsec.d/cacerts/root.pem
openssl pkcs12 -in cert.p12 -nocerts -nodes | openssl rsa -des3 -out /etc/ipsec.d/private/key.pem

 
Wichtiger Hinweis: Der Private Schlüssel "key.pem" ist im PKCS#8 Format, dieses Format wird erst ab strongSwan Version 4.6.2 unterstützt.
Für Versionen kleiner 4.6.2 (zB in Ubuntu 12.04) muss der Schlüssel in einen traditionelle RSA Schlüssel umgewandelt werden :

  cd /etc/ipsec.d/private
  mv key.pem pk8.pem
  openssl rsa -in pk8.pem -des3 -out key.pem


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

Wichtiger Hinweis: Für Ubuntu Varianten der Version 10.10 bitte diesen >> Hinweis << beachten!
  • Voraussetzungen

    Installation des strongSwan Network-Manager  Plugins für den Gnome-Network-Manger:

    • Seit Ubuntu Version 9.10 "Karmic Koala" ist das strongSwan Network-Manager Plugin Bestandteil des Ubuntu Software Repositories: Das zu installierende Paket heisst: "network-manager-strongswan"
    oder


    Verbindung zum WLAN
    • Verbindung zur WLAN-ID "WLANuni-fr" herstellen und die "MTU" (Maximum Transfer Unit) auf "1000Byte" einstellen.

      Hinweis: Die "MTU" Einstellung befindet sich im NetworkManger unter "Netzwerkverbindungen" (rechts-click auf das NetworkManager Icon, click auf "Verbindungen bearbeiten ..."), Tab "Funknetzwerk", "WLANuni-fr" Verbindung bearbeiten.  
  • Konfiguration

    Klick auf NetworkManager-Icon, im Kontextmenü -> VPN-Verbindungen -> "VPN konfigurieren ..."
    Registerkarte "VPN"
    -> "Hinzufügen" -> "IPsec/IKEv2 (strongswan)" auswählen -> "Create"

    NetworkManager Screenshot

    Verbindungbeschreibung erstellen:

    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=63:55:BA:F6:7E:4F:16:B3:B1:13:86:F7:34:78:CA:21:F1:55:5B:2E)
    (verifizierbar mit folgendem Befehl: "openssl x509 -in cert-gw.pem -fingerprint" )

    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:
    openssl pkcs12 -in cert.p12 -clcerts -nokeys -out cert.pem
    openssl pkcs12 -in cert.p12 -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.

    Registerkarte VPN:



  • 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/daemon.log"