Open Source im professionellen Einsatz

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.

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 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«.

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«.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook