Als markanteste Änderung an Version 2.11 von IPFire integrierten die Entwickler eine stark erweiterte VPN-Funktionalität in die Firewall-Distribution. Der Artikel zeigt, wie Sie diese nutzen.
Vier Ziele stehen den bei Entwicklern der auf Linux basierende Firewall-Distribution IPFire [1] im Vordergrund: Sicherheit, Zuverlässigkeit, Schlankheit und Modularität. Diese Grundsätze erlauben es, IPFire in den unterschiedlichsten Szenarien einzusetzen. Das häufigste davon ist der Betrieb als DSL-Router oder Internet-Gateway, mittels nachinstallierter Module eignet es sich aber auch als Small-Business- oder Home-Server.
Modularitität und Vielseitigkeit gewinnt das System durch seinen Paketmanager, der es erlaubt, zusätzliche Funktionen im Handumdrehen nachzuinstallieren. Darüber hinaus kümmert er sich auch um das Einspielen der Updates. Das Repertoire der Distribution umfasst unter anderem Proxy-, Datei- und Druckdienste, ein Intrusion-Detection- und Intrusion-Prevention-System, einen WLAN-Access-Point, einen Streaming-Server, VoIP-Software sowie verschiedene VPN-Technologien.
Ursprünglich startete IPFire mit dem Code des IPCop-Projekts. Die aktuelle Version verbinden nur noch Teile der Bedienoberfläche und der Installationsvorgang mit dem Ursprungsprojekt. Unter der Haube wurde das System von Grund auf neu entwickelt und regelmäßig aktualisiert.
Auf der DVD dieses Heftes finden Sie exklusiv IPFire in Version 2.11 als LinuxUser-Edition, die unter anderem mit überarbeiteten VPN-Funktionen ausgestattet wurde, worauf sich dieser Artikel hauptsächlich bezieht.
Installation von IPFire
Voraussetzung für die Installation von IPFire ist ein System, das die Hardware-Anforderungen [2] erfüllt und mindestens zwei Netzwerkkarten mitbringt. Aufgrund seines geringen Ressourcenbedarfs reicht dafür beispielsweise ein Mini-ITX-Rechner.
Nach Einlegen der Heft-DVD wählen Sie aus dem Bootmenü IPFire 2.11 LU-Edition aus, um die Installationsroutine zu starten. Nach Anwahl der Sprache erscheint das Partitionierungsmodul, das stets die komplette Festplatte formatiert und damit die darauf enthaltenen Daten löscht. Die folgende Installation dauert nur wenige Momente. Danach startet das System neu, um mit der Zuweisung der Netzwerkkarten zu beginnen.
IPFire verwendet dafür ein mittels Farben aufgeschlüsseltes Zonenmodell. Das LAN erhält die Farbe Grün, die stellvertretend für die vertrauenswürdigen Systeme im Netz steht. Dagegen umfasst die rote Zone das Internet. Diese beiden Zonen bilden die Voraussetzung dafür, dass der Router arbeiten kann. Optional ergänzen Sie noch eine DMZ sowie ein WLAN. Diese Anleitung verwendet die IP-Adresse 192.168.0.1/24 für die grüne Schnittstelle, sodass Sie die webbasierte Konfigurationsoberfläche beispielsweise über https://192.168.0.1:444 erreichen. Nähere Informationen zum Einrichten des Netzwerks lesen Sie bei Bedarf im IPFire-Wiki [3] nach.
Finden und gefunden werden
Für den dauerhaften Betrieb eines VPN-Tunnels benötigt der Rechner einen gültigen DNS-Namen, über den er zu erreichen ist. Im Webinterface finden Sie unter Dienste | Dynamischer DNS (Abbildung 1) das Konfigurationsmodul, um IPFire mit Diensten wie Dyndns.org zu verknüpfen. Beim Wechsel der IP-Adresse sendet das System nach erfolgreicher Konfiguration automatisch die neue an den Dienst, der Sie mit einem statischen Domainnamen, etwa ipfire.dyndns.org verbindet. Unter aktuelle Hosts erscheint der eingegebene Eintrag grün unterlegt, sobald IPFire die Daten beim Anbieter abgleicht.

Abbildung 1: Um IPFire auch nach einem IP-Wechsel erreichbar zu halten, gilt es, ihm einen festen Domainnamen zuzuweisen.
OpenVPN einrichten
Eine kurze Einführung ins Thema zeigt der Kasten “Was ist VPN”. Die Konfiguration von OpenVPN erreichen Sie im Webinterface unter Dienste | OpenVPN (Abbildung 2). In diesem Beispiel verbinden wir zwei Subnetze, die das LAN am jeweiligen IPFire-System mit den Adressen 192.168.0.0/24 und 192.168.1.0/24 repräsentieren.

Abbildung 2: Die Konfigurationsoberfläche für OpenVPN erlaubt es, mit wenigen Klicks ein funktionierendes Tunnelsystem aufzubauen.
Was ist VPN
Ein Virtuelles privates Netzwerk verbindet zwei unterschiedliche Netzwerke miteinander. Es baut dafür einen Tunnel zum Datentransfer auf, der es erlaubt, über unsichere Netze hinweg sicher zu kommunizieren. Traditionell kommt zum Herstellen eines VPNs der IPSec-Standard zum Einsatz, der als Bestandteil des IPv6-Protokolls entwickelt und auf IPv4 zurückportiert wurde. Vorteil dieser Lösung ist die Kompatibilität mit kommerziellen Produkten verschiedener Hersteller und mit auf linuxbasierenden Lösungen. Die zweite Revision des Internet Key Exchange Protokolls (IKE) [4] verbesserte diesen Standard, welcher in IPFire zum Einsatz kommt.
Die zweite Implementierung namens OpenVPN und ist ein Vertreter aus der Riege der SSL-VPNs, welches seit einiger Zeit immer häufiger zum Einsatz kommt. Die Vorteile des SSL-Tunnels liegen auf der Hand: anders als IPSec durchquert er NAT-Router problemlos. Darüber hinaus erlaubt die Implementierung das leichtere Handhaben von Geräten mit dynamischer IP-Adresse. IPFire bringt von Hause aus beide Systeme mit und bietet daher die bestmögliche Kompatibilität zu anderen VPN-Gateways.
Zum Aktivieren von OpenVPN setzten Sie den Haken neben OpenVPN auf ROT und klicken danach auf Speichern. Zur Authentifizierung der Clients am Server erstellen Sie im nächsten Schritt eine sogenannte Public-Key-Infrastruktur (PKI). Dazu klicken Sie auf Erzeuge Root/Host Zertifikate und geben die benötigten Informationen zur Identität ein. Der Hostname lautet in diesem Beispiel ipfire.dyndns.org. Ein weiterer Klick auf Erzeuge Root/Host Zertifikate in der neuen Maske generiert automatisch alle Zertifikate und Schlüssel, die Sie zum späteren Verbindungsaufbau benötigen. Diesen Schritt gilt es einmalig auf beiden Tunnelpartnern zu erledigen.
Danach öffnen Sie via Hinzufügen den Dialog, in dem Sie verschiedene VPN-Verbindungen erstellen. Die Option Netz-zu-Netz Virtual Private Network koppelt beispielsweise zwei Netze. Dagegen wählen Sie Host-zu-Netz Virtual Private Network (RoadWarrior), wenn Sie einen Laptop via Internet am VPN anmelden möchten. Der darauf folgenden Dialog fragt alle nötigen Einstellungen ab: Als Namen wählen Sie eine prägnante Beschreibung, die keine Leer- oder Sonderzeichen enthalten darf. Bei Remote-Host/IP tragen Sie den Domain-Namen oder die IP-Adresse der Gegenstelle ein, als Remote-Subnetz dient in diesem Beispiel das Subnetz 192.168.1.0/255.255.255.0.
Die Transfernetzadresse benötigen Sie, um jeweils den Tunnelendpunkt zu adressieren. Es darf sich nicht mit dem grünen oder einem anderen Netz überschneiden und sollte mit der Subnetzmaske 255.255.255.252 versehen werden. Danach wählen Sie einen freien Zielport, über den sich der Client zum Server verbindet. Die LZO-Kompression steigert unter Umständen den Datendurchsatz des Tunnels, allerdings auf Kosten der CPU-Performance.
Bei allen weiteren Einstellungen im Abschnitt Verbindung übernehmen Sie die Vorgabewerte. Authentifizierung erlaubt Ihnen das Erstellen eines Zertifikats für die Gegenstelle. Es genügt, den Namen für den Zertifikatsnehmer einzutragen und es mit einem Klick auf Speichern anzulegen.
Da die Weboberfläche den Export der Einstellungen erlaubt, gestaltet sich das Einrichten der Gegenseite denkbar einfach. Das exportierte ZIP-Archiv enthält die benötigte Konfigurationsdatei sowie das Zertifikat für den Client. Ein Klick auf das Diskettensymbol startet den Download der Einstellungen, die Sie anschließend auf den Partner übertragen. Vorsicht: Fällt einem Dritten dieses Archiv in die Hände, so kann er sich mit den darin befindlichen Daten Zugang zu Ihrem Netzwerk verschaffen.
Nach dem Erstellen der PKI auf der Gegenstelle klicken Sie auf den Button Hinzufügen. Im neuen Dialog aktivieren Sie zunächst Netz-zu-Netz Virtual Private Network (Upload Client Package). Mit Durchsuchen… navigieren Sie im Dateibrowser zum exportierten ZIP-Archiv und laden es abschließend via Hinzufügen hoch. Damit ist die Verbindung auch schon fertig eingerichtet und wird automatisch aufgebaut.
IPSec-Tunnel
Die Konfiguration eines IPSec-Tunnels beginnt, wie bei OpenVPN, mit dem Erzeugen der Zertifikate, das Sie mit Hinzufügen abschließen, um eine Netz-zu-Netz-Verbindung anzulegen. Die Felder Name, Host-/Remote-IP-Adresse sowie das lokale und entfernte Subnetz füllen Sie wie vorstehend im Abschnitt “OpenVPN einrichten” erklärt aus.
Die Felder Lokale ID und Remote ID dienen dazu, dass sich die Systeme gegenseitig identifizieren können. Sie müssen entweder mit dem FQDN oder einem führenden Klammeraffen (“@”) ausgefüllt werden. Alternativ tragen Sie die IP-Adresse der Gegenstelle ein. Anleitungen für die Konfiguration mit einigen Geräten anderer Hersteller finden Sie im IPFire-Wiki.
Als Protokoll verwenden Sie entweder IKEv1 oder IKEv2. Letzteres nutzen Sie beispielsweise dann, wenn Sie das VPN mit einem anderen IPFire-System koppeln möchten. Als Sicherung wählen Sie den Pre-Shared-Schlüssel aus, der aus einer möglichst komplexen und langen Passphrase bestehen sollte. Nach der Eingabe speichern Sie die neue Verbindung und wiederholen auf der Gegenseite die genannten Schritte. Das Speichern der Verbindung baut danach automatisch das VPN auf.
Fazit
Die hier vorgestellten Lösungen stehen komplett unter freien Lizenzen und ersetzen ohne Einschränkung proprietäre Software. Die Autoren möchten hier noch einmal explizit dazu einladen, sich am IPFire-Projekt in jeglicher Form zu beteiligen, um freie Software zu fördern und den Einsatz für Jederman durch gute Dokumentation, brauchbaren Funktionen und einfacher Handhabung so leicht wie möglich zu machen.
Ein herzlicher Dank geht an Kim Barthel, Arne Fitzenreiter, Erik Kapfer, Alfred Haas und Silvio Rechenbach, die sich rege am Schreiben dieses Artikels beteiligten.
Glossar
-
DMZ
-
Demilitarized Zone. In der Informatik bezeichnet DMZ ein Netzwerk mit streng kontrolliertem Zugriff auf die angeschlossenen System. Diese werden durch eine Firewall sowohl nach außen (Internet) als auch nach innen (LAN) abgeschirmt.
-
FQDN
-
Fully Qualified Domain Name. Der vollständige Name einer Domain, wie beispielsweise
www.beispiel.de.
Infos
[1] IPFire: http://www.ipfire.org
[2] Hardware-Anforderungen: http://wiki.ipfire.org/de/hardware/start
[3] IPFire-Wiki: http://wiki.ipfire.org
[4] VPNs mit Strongswan-IKEv2: A.Steffen/M.Willi, “Tunnel-Design 2”, Linux-Magazin 02/2009, S. 60, http://www.linux-magazin.de/Heft-Abo/Ausgaben/2009/02/Tunnel-Design-2





