You are here: Home » Dokumentation » IPSec
Sorry, this page is not translated yet.

IPSec

IPsec via Microsoft IPsec und FreeS/WAN

Nachfolgend wird die Konfiguration eines IPSec-Tunnels zwischen Microsoft Windows (2000/XP/2003) und Linux-Distributionen (in diesem Fall SuSE 9) mit den jeweiligen Bordmitteln (d.h. Microsoft IPsec und FreeS/WAN) beschrieben.

            ------------------              ------------------
            |  Windows Host  |     IPsec    |   Linux Host   |
            |                |  ----------- |                |
            |   10.16.3.2    |              |    10.88.14.8  |
            ------------------              ------------------

Installation und Konfiguration von FreeS/WAN

Linux FreeS/WAN steht auf den Entwicklerwebseiten zum Download bereit, bzw. ist Bestandteil zahlreicher Linux-Distributionen.
Bei Verwendung der SuSE-Distribution sollte die SuSE eigene FreeS/WAN-Version verwendet werden bzw. IPsec modules and packages for SuSE Linux distributions beachtet werden.

Die Konfiguration von FreeS/WAN (Version 1.99) erfolgt über die Datei /etc/ipsec.conf:

config setup
        interfaces=%defaultroute
        klipsdebug=none
        plutodebug=none
        plutoload=%search
        plutostart=%search

conn %default
        keyingtries=1

conn fs-ms
     type=tunnel
     left=10.16.3.2
     right=10.88.14.8
     authby=secret
     auto=add

Der Preshared Key (PSK) wird in der Datei /etc/ipsec.secrets gespeichert:

10.16.3.2 10.88.14.8 "Beispiel fuer eine mehr oder weniger geheime Passphrase"

Starten von IPsec via /etc/init.d/ipsec start und aktivieren der IPsec-Regeln via “ipsec auto --route fs-ms”.

Konfiguration von Microsoft Windows IPsec

Die Konfiguration von IPsec-Richtlinien erfolgt bei Windows 2000/XP/2003 über die IP Security Policy Mangement Console. Es hat leider den Anschein, dass für einen IPsec-Tunnel mit Preshared Keys im heterogenen Umfeld nicht alle Paramter per Kommandozeile (ipsecpol, ipseccmd, netsh) gesetzt werden können, weshalb wir eine Beschreibung der notwendigen Konfigurationsschritte per GUI wiedergeben:

  • Microsoft Management Console (mmc.exe) öffnen und “IP Security Policy Management” Snap-in hinzufügen
  • Eine neue “IP Security Policy” erstellen (Namen und ggf. Beschreibung)
  • “default reponse rule” deaktivieren
  • Edit properties
  • Add|Next|“The tunnel endpoint is specified by this IP address:” und Angabe der eigenen IP
  • Local area network (LAN) auswaehlen
  • Use this string to protect the key echange (preshared key) auswählen und PSK angeben
  • Add…
  • IP Filter List: Name: from remote to local host|Add…
  • Source address|A specific IP Address: Angabe der remote IP
  • Destination address|My IP Address|Any protocol type|Finish|Close
  • “from remote to local host” auswaehlen und Next
  • Require Security
  • Add…
  • “The tunnel endpoint is specified by this IP address:” und Angabe der IP-Adresse des remote Hosts
  • Local area network (LAN) auswaehle
  • Use this string to protect the key echange (preshared key) auswählen und PSK angeben
  • Add…
  • IP Filter List: Name: from local to remote|Add..
  • Source address: My IP Address
  • Destination address: A specific IP Address: Angabe der remote IP
  • Any protocol|Finish|Close
  • “from local to remote” auswaehlen
  • Require Security auswaehlen|Edit…
  • Unter Require Security Policies “Negotiate security”, “Session key Perfect Forward Secrecy” aktivieren. Ferner 3DES/MD5 an oberste Stelle setzen
  • Im Reiter “General”|Advanced Master key Perfect Forward Secrecy aktivieren und unter Methods 3DES/MD5 wieder an oberste Stelle anordnen

Nun die eingerichtete IPsec-Regel aktivieren (Rechtsklick auf die Policy und Assign auswählen). Ggf. kann der IP Security Monitor (ipsecmon.exe) Aufschluss über einen erfolgreichen IPsec-Tunnel geben (für Windows 2000/XP fehlen leider brauchbare Werkzeuge/Möglichkeiten um Fehlkonfigurationen zu protokollieren).

OpenVPN

OpenVPN stellt eine mögliche Alternative zu IPsec dar. Quellen und Binaries stehen für zahlreiche Plattformen zur Verfügung (bzw. sind bereits Bestandteil einiger Distributionen).

            ------------------              ------------------
            |  Windows Host  |    OpenVPN   |   Linux Host   |
            |                |  ----------- |                |
            |   10.16.3.2    |              |    10.88.14.8  |
            ------------------              ------------------
                      10.3.0.1 ------------ 10.3.0.2

Konfigurationsbeispiel für den Windows Host (die Konfiguration des Linux Host läuft ebenso ab):

remote 10.88.14.8
port 5000
dev tun
tun-mtu 1500
ifconfig 10.3.0.1 10.3.0.2
secret key.txt
ping 10
verb 4
mute 10

Hierbei spannen die IP-Adressen 10.3.0.1 die locale VPN-IP-Adresse und 10.3.0.2 die remote VPN-IP-Adresse auf. Der Linux-Host ist somit vom Windows-Host per 10.3.0.2 erreichbar.

Auf den Preshared Key (PSK) wird per “secret key.txt” verwiesen. Erzeugt wird der PSK mittels openvpn --genkey --secret key (dieser Key muss auf den zweiten Rechner transferiert werden). Der VPN-Tunnel wird via “openvpn --config config.ovpn” aktiviert.

Weitere Information zu IPsec (FreeS/WAN, MS IPsec)