IPsec-VPN einmal kinderleicht

Dank IKEv2 ist die Einrichtung von IPsec-VPNs so einfach wie mit SSL. Mit StrongSwan existiert eine leistungsfähige Linux-Implementierung.

Artikel erschienen in Swiss IT Magazine 2008/07

     

Virtual Private Networks (VPNs) werden eingesetzt, um örtlich verteilte Standorte miteinander zu verbinden oder um Mitarbeitern von zu Hause aus oder von unterwegs den sicheren Zugriff auf das Firmennetzwerk zu ermöglichen. Um die VPN-Verbindungen abhörsicher zu machen und gegen Angriffe aus dem Internet zu sichern, bietet sich der IPsec-Standard an. Dieser verschlüsselt jedes IP-Paket vor Antritt seiner Reise und versieht es mit einer kryptographischen Check-summe, die gegen mutwillige Veränderungen schützt.


SSL statt IPsec

Leider hat sich das Internet-Key-Exchange-Protokoll (IKE), das für den IPsec-Verbindungsaufbau und die Authentifizierung der Kommunikationspartner zuständig ist, den schlechten Ruf erworben, komplex in der Konfiguration und Anwendung zu sein, vor allem wenn Tunnelverbindungen über NAT-Router hinweg aufgebaut werden müssen. Deshalb sind in den letzten Jahren viele Firmen im Remote-Access-Bereich auf die anscheinend benutzerfreundlicheren SSL-VPNs umgestiegen. Diese Verfahren haben den Vorteil, dass sie das aus dem World Wide Web bekannte sichere SSL/TLS-Transportprotokoll verwenden, das mühelos NAT-Router überwindet. Ausserdem muss dafür meist kein spezieller VPN-Client auf dem Benutzer-PC installiert werden, da der Internet Explorer oder ein anderer Browser diese Rolle übernimmt. Der Remote-Zugriff, beispielsweise auf Netzwerklaufwerke, wird über ladbare Java Applets oder ActiveX-Komponenten realisiert. Während jeder VPN-Gateway-Hersteller seine proprietäre SSL-Lösung anbietet, hat sich im Open-Source-Bereich OpenVPN als Quasi-Standard durchgesetzt, der für die meisten Betriebssys­teme verfügbar ist.


Verbessertes IKE

Die Zeit ist aber nicht stehengeblieben. Im Dezember 2005 wurde mit dem RFC 4306 die Version 2 des Internet Key Exchange Protocol (IKEv2) veröffentlicht. In IKEv2 sind viele Erfahrungen aus dem jahrelangen praktischen Betrieb von IPsec-VPNs eingeflossen. Die Neuerungen machen das Aufsetzen von IPsec-Verbindungen merklich einfacher, flexibler und robuster, so dass dank dem IKEv2-Protokoll IPsec aus der Sicht des Autors betreffend Benutzerfreundlichkeit den SSL-VPNs in nichts mehr nachsteht.


StrongSwan (GPLv2) ist eine komplette Open-Source-IKEv2-Implementierung unter Linux, die seit Oktober 2005 von der Hochschule für Technik Rapperswil entwickelt wird. Im März 2007 nahm das StrongSwan-Team am dritten IKEv2-Interoperabilitätstest teil, in dessen Rahmen die Software erfolgreich gegen die IKEv2-Produkte von namhaften VPN-Herstellern wie Alcatel-Lucent, CheckPpoint, Cisco oder Juniper getestet wurde. StrongSwan ist als vorkompiliertes Paket für etliche Linux-Distributionen verfügbar oder kann direkt von der Website www.strongswan.org heruntergeladen werden. Auch kommt StrongSwan in etlichen WLAN-, VoIP- und Mobilfunkprodukten zum Einsatz, beispielsweise in einer GSM/UMTS-Femtozelle als Basisstation für zu Hause, bei der die Handygespräche von IPsec geschützt via ADSL-Router und Internet in das Backbone-Netz des jeweiligen Mobilfunkproviders gespeist werden. Mehrere Hersteller, darunter Microsoft, nutzen weiterhin regelmässig Strong-Swan, um ihre IKEv2-Eigenentwicklungen zu testen.



StrongSwan kann sowohl als VPN-Client auf Linux-Notebooks und Desktop-Rechnern oder als performanter VPN-Gateway auf einem Linux-Server eingesetzt werden. Verschiedene Organisa­tionen und Firmen betreiben bis
zu 2000 Windows-VPN-Clients an einem zentralen StrongSwan-Gateway, der meist redundant ausgelegt ist. Da die Einführung von IKEv2 auf breiter Front wohl erst ab Mitte 2008 erfolgen wird, umfasst StrongSwan auch eine klassische IKEv1-Implementierung, die aus dem bekannten, im Jahre 2004 eingestellten FreeS/WAN-Projekt hervorgegangen ist. Damit ist als Migrationsstrategie auch ein IKEv1/IKEv2-Mischbetrieb möglich. Die Entwicklungsaktivitäten an der Hochschule Rapperswil konzentrieren sich aber klar auf die neue IKEv2-Lösung, die eine Reihe von Vorteilen bietet.


Schneller und robuster Verbindungsaufbau

Während das herkömmliche IKEv1-Protokoll neun Meldungen benö­tigte, um einen IPsec-Tunnel aufzusetzen, erreicht IKEv2 das gleiche Ziel mit nur vier UDP-Datagrammen, nämlich einem IKE_INIT_SA-Request/Response-Paar, gefolgt von einem IKE_AUTH-Request/Response-Paar. Zusätzliche IPsec-Tunnel zwischen den gleichen VPN-Endpunkten können jeweils durch ein weiteres CREATE_CHILD_SA-Request/Response-Paar hinzugefügt werden. Da IKEv2 konsequent die Bestätigung eines Requests mittels einer Response fordert, wird der Verbindungsaufbau beim Auftreten von Paketverlusten wesentlich robuster. Erhält der Initiator einer VPN-Verbindung innerhalb einer gewissen Zeit keine Antwort, wird nur er seine Nachricht zeitlich gestaffelt wiederholen. Bei IKEv1 versuchten dies beide Seiten, was oft zu einem Chaos führte.



Auch die sogenannte «Dead Peer Detection», die unter IKEv1 noch über spezielle R-U-THERE- und R-U-THERE-ACK-Meldungen bewerkstelligt werden musste, um die Erreichbarkeit der Gegenstelle einer VPN-Verbindung periodisch zu überprüfen, kann unter IKEv2 mit INFORMATIONAL-Request/Response-Paaren und den normalen Timeout-Mechanismen realisiert werden. NAT-Situationen werden ebenfalls automatisch erkannt, so dass nach erfolgtem Tunnelaufbau alle IPsec-Pakete in UDP-Datagramme gekapselt und so NAT-Router mühelos überwunden werden können.


Gemischte Authentifizierung

In sehr vielen VPNs werden Pre-Shared Keys (PSK), also Passwörter zur Authentifizierung eingesetzt. Bei Remote-Access-Anwendungen muss wegen der dynamischen IP-Adressen vom VPN-Client der berüchtigte IKEv1 Aggressive Mode eingesetzt werden, der anfällig auf Wörterbuch- und Man-in-the-Middle-Angriffe ist. So kann beispielsweise ein Angreifer in einem durch IPsec geschützten WLAN bei bekanntem oder gehacktem VPN-Gruppenpasswort einen Rogue Access Point aufstellen, der sich als offizieller VPN-Gateway ausgibt, und kann so ungehindert von allen Benutzern, die sich ahnungslos aufschalten, die Login-Passwörter sammeln.



Mit IKEv2 ist nun eine gemischte Authentifizierung möglich, bei der der VPN-Gateway ein X.509-Zertifikat präsentieren muss, die Clients aber weiterhin Passwörter verwenden können. Häufig authentifizieren sich die Clients aber nicht direkt beim VPN-Gateway, sondern bei einem abgesetzten RADIUS- oder LDAP-Server. Bei IKEv1 wurde dafür die von Cisco eingeführte proprietäre eXtended Authentication (XAUTH) verwendet. Der IKEv2-Standard erlaubt es neu, eine der EAP-Methoden zu verwenden, wie sie von der IEEE-802.1x-WLAN-Authentifizierung her bekannt sind. Möglich sind unter anderem EAP-MD5, EAP-TLS oder im GSM/UMTS-Mobilfunkumfeld EAP-SIM und EAP-AKA.


Narrowing

Eine der grössten Hürden beim Aufsetzen von IKEv1-Verbindungen stellen erfahrungsgemäss die strikten IPsec-Policies dar, die festlegen, welche Subnetze über einen IPsec-Tunnel miteinander gekoppelt werden dürfen. Diese Definitionen müssen auf beiden VPN-Endpunkten exakt übereinstimmen, sonst kommt kein Tunnel zustande. IKEv2 geht diese Thematik wesentlich pragmatischer an, ohne jedoch Kompromisse bei der Sicherheit einzugehen.

Ein Initiator kann beim IPsec-Verbindungsaufbau in seinen Traffic-Selektoren ein gewünschtes Remote-Subnetz angeben, das er erreichen möchte, und die VPN-Gegenstelle kann dieses Subnetz auf Grund des Benutzerprofils beliebig einengen. Diesen Vorgang nennt man Narrow­ing. Im Extremfall sendet der Ini­tiator 0.0.0.0/0 und der Responder sendet als Traffic-Selektor das aktuell erreichbare Subnetz zurück. So wird IKEv2 genau so unkompliziert wie OpenVPN!


IKEv2 Mediation Service

Eine Spezialität von StrongSwan ist der IKEv2 Mediation Service, der für Fernwartungszwecke eingesetzt werden kann, beispielsweise um von zu Hause aus die Heizung oder die Storen in der Ferienwohnung über die Gebäudeautomatisierung zu regulieren. Oder ein Hersteller von Schweissrobotern möchte einen Firmware-Upgrade in einem Automobilwerk in Südamerika vornehmen.

Der Zugriff soll durch IPsec gesichert über das Internet geschehen. Leider befinden sich beide VPN-Endpunkte je hinter einem NAT-Router, so dass keine direkte Verbindungsaufnahme möglich ist. In diesen Fällen hilft nur ein externer Mediation Service, wie er mit STUN schon lange in Peer-to-Peer-VoIP-Verbindungen Anwendung findet. Der IKEv2 Mediation Service ist eine sanfte Erweiterung des IKEv2-Protokolls, die demnächst durch die Hochschule Rapperswil als Internet Draft veröffentlicht werden wird.

Das Institut für Internet-Technologien und
-Anwendungen betreibt auch zu Demonstrationszwecken einen Mediation-Server, bei dem sich Interessenten über eine Webseite unter einem Pseudonym registrieren können, so dass die Anonymität gewährleistet ist. IPsec-Tunnel mit sensitiven Daten werden nicht über den Mediation-Server geschleift, sondern nach erfolgreicher Mediation direkt End-to-End zwischen den Teilnehmern vermittelt.


Skalierbarkeit

StrongSwan hat vom FreeS/WAN-Projekt die Konfiguration über die Dateien ipsec.conf für Verbindungsdefini­tionen und ipsec.secrets für geheime Schlüssel geerbt. Für eine kleine Anzahl von Verbindungen ist dies sehr schnell und praktisch, bei Hunderten oder Tausenden von Benutzern wird die Verwaltung aber unübersichtlich und fehleranfällig. Deshalb bietet StrongSwan ab der Version 4.2 eine modulare Anbindung an relationale Datenbanken wie MySQL oder SQLite an, in der die Verbindungsinforma­tionen sowie die User Credentials gespeichert und administriert werden können.


Der momentane Zustand der Verbindungen kann mit dem StrongSwan Manager überwacht werden, einem FastCGI Web-Interface, das über eine XML-basierte Netzwerkschnittstelle mit dem IKEv2-Daemon kommuniziert. Durch diese Modularisierung wird StrongSwan in Zukunft auch in professionellen Industrial-Grade VPN-Gateways eingesetzt werden können, woran schon einige Industriepartner arbeiten.




Konfiguration Client / Konfiguration Gateway


Der Autor

Dr. Andreas Steffen (andreas.steffen@hsr.ch) ist Professor für Sicherheit und Kommunikation an der Hochschule für Technik Rapperswil.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Welche Farbe hatte Rotkäppchens Kappe?
GOLD SPONSOREN
SPONSOREN & PARTNER