Open Source im professionellen Einsatz
Linux-Magazin 10/2003

Virtuelle private Netze mit Linux 2.4 und Freeswan 2.01

Standard-Tunnel

IPsec ist der De-facto-Standard für den Aufbau virtueller privater Netze (VPNs). Freeswan integriert dieses Sicherheitsprotokoll in den Linux-Kernel und unterstützt dabei sogar die opportunistische Verschlüsselung. Installation und Konfiguration sind jedoch nicht trivial.

497

Wer zwei weit voneinander entfernte Netzwerke ohne teure Standleitung sicher miteinander verbinden will, setzt ein virtuelles privates Netz auf. Internet Protocol Security (IPsec) hat sich als Standard etabliert, es ist inzwischen möglich, mit den verschiedensten Hardwareplattformen und Softwarelösungen interoperable VPNs aufzubauen. Unter Linux implementiert das Freeswan-Projekt[1] IPsec mit IPv4 und den Linux-Kerneln 2.2 oder 2.4.

Freeswan bietet zwar alle Funktionen, die für ein VPN nötig sind, das genügt den meisten Anwendern jedoch nicht. Viele Programmierer haben zusätzlichen Code in Form von Patches für Freeswan entwickelt, siehe Kasten "Freeswan-Patches". Da Freeswan selbst ein Kernel-Patch ist, handelt es sich hier um Patches für das Patch - diese ungewöhnliche Kombination installieren ist oft nicht ganz einfach.

Seit April dieses Jahres ist mit Freeswan 2.0 eine neue Version verfügbar, die erstmals per Default opportunistische Verschlüsselung (siehe zwei Seiten weiter) aktiviert. Hierzu haben die Entwickler neue Policy-Groups zu Freeswan hinzugefügt. Die aktuelle Version 2.01 und ihre wesentlichen Neuerungen sind das Thema dieses Artikels.

Freeswan 2.0 installieren

Um Freeswan zu installieren, bieten sich zwei oder drei verschiedene Methoden an. Möglicherweise liefert die eingesetzte Distribution bereits Freeswan mit (zum Beispiel SuSE, Mandrake, Debian 3.0); deren Versionen sind jedoch häufig veraltet. Weiterhin bleibt die Wahl zwischen RPM-Paketen und einer Installation direkt aus den Quellen.

Für das Installieren aus den Sourcen sind der Quelltext eines aktuellen Kernels, das aktuelle Freeswan-Paket[1] und das zugehörige X.509-Patch[2] erforderlich. Damit das Kompilieren gelingt, verlangt Freeswan, dass der Kernel bereits einmal erfolgreich ohne Freeswan übersetzt wurde. Anschließend patcht der Administrator den Kernel und übersetzt ihn:

cd /usr/local/src
tar xzf freeswan-2.01.tar.gz
tar xzf x509-1.4.2-freeswan-2.01.tar.gz
cd freeswan-2.01
patch -p1 < ../x509-1.4.2-freeswan-2.01/
freeswan.diff > /dev/null
make oldgo KERNELSRC=/usr/src/linux

Wer noch Änderungen an der Konfiguration vornehmen will, sollte statt »make oldgo« besser »make xgo« aufrufen (Abbildung 1). Nach dem erfolgreichen Kompilieren gelingt das Installieren mit dem Befehl »make kinstall« - dieser Aufruf führt unter anderem zu einem »make install« in den Kernelquellen.

Grabungsarbeiten

Ist der neue Kernel gebootet, kann der Admin den VPN-Tunnel konfigurieren. Als Beispielszenario dient ein VPN-Gateway: Der VPN-Client verwendet eine dynamische IP-Adresse, die bei der Konfiguration des Tunnels nicht bekannt ist (Abbildung 2). Diese Clients werden als Roadwarrior bezeichnet, der Netzaufbau heißt Client-to-Site-VPN.

Für die Authentifizierung benötigen bei Freeswan beide Systeme je ein RSA-Schlüsselpaar aus einem privaten und einem öffentlichen Schlüssel. Der Admin kann sie mit dem Befehl »ipsec newhostkey« erzeugen und in der Datei »/etc/ ipsec.secrets« ablegen. Den öffentlichen Schlüssel muss er bei der jeweiligen Gegenseite eintragen. Das Übertragen der öffentlichen Schlüssel ist aufwändig und wird bei vielen VPN-Clients schnell unübersichtlich.

Abbildung 1: Beim Aufruf von »make xgo« in den Freeswan-Quellen sind noch Änderungen an der Kernelkonfiguration möglich.

Abbildung 2: Ein Roadwarrior verbindet sich mit dynamischer IP-Adresse mit dem VPN-Gateway. In seiner Freeswan-Konfiguration ist daher »right=%defaultroute« eingetragen, auf dem VPN-Gateway dagegen »right=%any«.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Neue Öffnung

    Neuere Windows-Versionen ersetzen PPTP durch L2TP. Das Layer 2 Tunneling Protocol bietet aber selbst keine Sicherheitsfunktionen, daher kommt es zusammen mit IPsec zum Einsatz.

  • Sicherer Transport

    Der kommende Linux-Kernel 2.6 wird IPsec enthalten, und zwar nicht mit Freeswan-Patches, sondern mit einer neuen Implementierung. Dazu gesellen sich spezielle Userspace-Tools. Dieser Artikel zeigt, wie damit sichere IP-Transportwege entstehen.

  • Doppelnase

    IPsec-Verkehr war beim Linux-Kernel 2.6 bisher weitaus schwieriger zu filtern als noch unter 2.4. Seit Ende März 2006 klappt mit den aktuellen Versionen von Kernel und IPtables das Zusammenspiel endlich wieder reibungslos: Das Policy-Match und ein Patch von McHardy machen's möglich.

  • Tunnel-Eingang

    Wer eine VPN-Anbindung zu einem Cisco-Einwahlrouter benötigt, kommt mit der Client-Software des Herstellers am einfachsten zum Ziel. Wir stellen diese Freeswan-Alternative vor.

  • Stahlnetz

    Ipsec gilt für viele als der Standard unter den VPN-Technologien. Wer dabei ganz auf Nummer sicher gehen will, speichert seine Zugangsberechtigung in Form von X.509-Zertifikaten auf verschlüsselten Tokens oder USB-Sticks. Wie das geht, zeigt dieser Artikel am Beispiel von Strongswan.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.