Wenn es darum geht, sich per VPN ins Firmennetz einzuwählen, sind Android-Nutzer auf iPhone-Besitzer häufig neidisch. Android bietet von Haus aus lediglich ein PPTP-basiertes VPN sowie einige Kombinationen aus L2TP und IPSec. Letzteres ist ein bewusst offen gehaltener Standard, was allerdings häufig dazu führt, dass sich VPN-Server und -Client nicht verstehen.
PPTP kommt aus dem Microsoft-Umfeld und ist dort unter dem Namen RAS (Remote Access Services) bekannt geworden. Allerdings setzen es Firmen ungern ein, da es den Ruf hat, Sicherheitsprobleme zu bereiten. In den aktuellen Windows-Versionen sind zwar die meisten Sicherheitsprobleme ausgeräumt, was das Protokoll besser als seinen Ruf macht, es bleibt aber die Design-Schwäche, dass ein schwaches Passwort Angriffsmöglichkeiten erlaubt.
In PPTP stellt dass Passwort selbst den Schlüssel dar. Moderne Protokolle verwenden das Passwort bestenfalls als Pre Shared Key (PSK), so dass das Abhören einer laufenden Verbindung selbst dann nicht zu einer Entschlüsselung führen kann, wenn der User ein schwaches Passwort gewählt hat.
Viele Firmen entscheiden sich heute für ein SSL-VPN. Der Begriff ist nicht ganz eindeutig definiert. Meist versteht man darunter eine VPN-Lösung die SSL/TLS zur Verschlüsselung der TCP-Tunnel-Verbindung einsetzt und über den HTTPS-Port 443 abgewickelt wird. Manche VPN-Lösungen, die sich SSL-VPN nennen, verwenden zwar Port 443, nutzen aber mitnichten SSL/TLS, sondern eine proprietäre Verschlüsselung. Wieder andere nutzen zwar SSL/TLS verwenden aber nicht Port 443.
In der Praxis ist vor allem entscheidend, dass Port 443 genutzt wird. Das bereitet mobilen Nutzer unterwegs die wenigstens Probleme. Viele Firmennetze blockieren ausgehend alle Ports außer 80 und 443. Wird ein Mitarbeiter zeitlich befristet in eine andere Firma entsandt, die eine solch restriktive Policy einsetzt, kann er sich über Port 80 oder 443 in sein eigenes Firmennetz einwählen.
Marktführer bei VPN-Einwahlsystemen ist Cisco. Sein AnyConnect-Client, ebenfalls ein SSL-VPN, verbindet in viele Firmennetze. Für iPhone-Besitzer ist stellt das kein Problem dar. Cisco-VPN-Verbindungen gehören zum Lieferumfang.
Android-Nutzer benötigen sowohl für Cisco-VPNs als auch für viele andere, etwa Aventail, eine App. Allerdings ist das meist nicht so einfach. Viele VPN-Apps funktionieren nur, wenn das Handy gerootet und ein eigener Kernel mit tun/tap-Unterstützung installiert wurde.
Es gibt aber auch Ausnahmen: Manche Handys, etwa einige Samsung-Smartphones, bieten tun/tap-Unterstützung sowie ein Interface für Non-Root-Apps. Hier reicht es aus, eine App zu installieren und man kann sofort loslegen. ZDNet zeigt, welche Lösung unter welchen Bedingungen funktioniert.
Rooted AnyConnect
![Beim Original-Cisco-Client will man zunächst nicht glauben, dass man sein Handy rooten und den Kernel modifizieren muss (Screenshot: ZDNet).](/i/et/sw/2011/android-vpn/rooted-anyconnect.jpg)
Beim Original-Cisco-Client will man zunächst nicht glauben, dass man sein Handy rooten und den Kernel modifizieren muss (Screenshot: ZDNet).
Rooted AnyConnect ist der offizielle AnyConnect-Client von Cisco. Wie der Name sagt, ohne gerootetes Handy geht allerdings gar nichts. Ebenso muss tun/tap-Unterstützung vorhanden sein. Cisco beschreibt dazu etwas vereinfacht, man solle die Datei tun.ko in das Verzeichnis /data/local/kernel_modules/ kopieren.
Wer aber nicht gerade Linux-Kerneltreiber-Experte ist, weiß in der Regel nicht, dass diese Datei für jeden Kernel neu kompiliert werden muss. Eine fertige tun.ko-Datei funktioniert nur mit genau einem Handy-Modell und einer bestimmten Firmware-Version.
In der Regel ist es das einfachste, sich auf Websites wie xda-developvers.com und modaco.com umzuschauen, ob es ein komplettes ROM mit tun/tap-Support gibt und dieses einzuspielen. Auch die meisten CyanogenMod-Kernel besitzen tun/tap-Unterstützung.
Anleitungen zum Rooten und Einspielen eigener ROMs findet man auf den genannten Seiten. Alle von Google vertriebenen Handys und neuere HTC-Modelle unterstützen das Rooten offiziell. Die Garantie erlischt dabei jedoch immer.
Wer ein gerootetes Handy besitzt und sich nicht scheut, ein anderes ROM oder einen anderen Kernel einzuspielen, hat mit Rooted AnyConnect einen Cisco-VPN-Client, der keine Probleme bereitet. Es ist aber eine Lösung für Freaks.
Samsung AnyConnect
![Mit bestimmten Samsung-Geräten kann man tun/tap-Funktionalität ohne Root-Rechte nutzen (Screenshot: Cisco).](/i/et/sw/2011/android-vpn/samsung-anyconnect.jpg)
Mit bestimmten Samsung-Geräten lässt sich Samsung Anyconnect nutzen (Screenshot: Cisco).
Wer ein Samsung Galaxy S II oder ein Epic 4G Touch besitzt, kann Samsung AnyConnect statt Rooted AnyConnect verwenden. Auch diese App kommt von Cisco. Samsung hat tun/tap-Unterstützung implementiert und ein Interface für Apps ohne Root-Rechte geschaffen.
Die Software funktioniert problemlos, wenn man ein Original-ROM von Samsung verwendet. Wer allerdings bereits Odin heruntergeladen und ein Homebrew-ROM eingespielt hat, kann Samsung AnyConncect nicht verwenden.
Generell ist es erfreulich, dass Samsung in neuere Handys tun/tap-Support einbaut. Im Endeffekt ist es auch Aufgabe des Hardwareherstellers, zu entscheiden, welche Kernel-Module mit ausgeliefert werden. Der OEM muss nur die Interfaces bereitstellen, die für das Bestehen der Konformitätstests erforderlich sind. Alle anderen Module sind optional.
Allerdings ist hier Google gefordert. Es sollte tun/tap-Unterstützung zur Pflicht machen, ein einheitliches Interface bereitstellen (native und Dalvik) und das Ganze in die Konformitätstests aufnehmen.
Nur so werden Hersteller von VPN-Lösungen in die Lage versetzt, ihre Desktop-Linux-Clients zu Android zu portieren – und zwar so, dass sie mit jedem ungerooteten Telefon funktionieren. Die User-Kommentare auf code.google.com sind eindeutig. Zudem muss ein neues Recht eingeführt werden, dass die Nutzung des tun/tap-Interfaces erlaubt oder verbietet. Das hilft zu verhindern, dass Malware VPN-Funktionalität nutzt, um den Datenverkehr umzuleiten.
VPNC Widget
![Das VPNC Widget ist praktisch, wenn man seine VPN-verbindung häufig ein- und ausschalten muss (Screenshot: Matthias Meier).](/i/et/sw/2011/android-vpn/vpnc-widget.jpg)
Das VPNC Widget ist praktisch, wenn man seine VPN-verbindung häufig ein- und ausschalten muss (Screenshot: Matthias Meier).
VPNC Widget ist ein Cisco-VPN-kompatibler Client, der auf der Open-Source-Implementierung vpnc aufsetzt. vpnc wird oft eingesetzt, wenn der Original-Cisco-Client nicht zweckmäßig ist, etwa in 64-Bit-Linux-Umgebungen. Experten schätzen die Open-Source-Version auch, weil sie mehr Kontrolle erlaubt, etwa die Umgehung der vom Admin vorgegebenen Split-Routes.
Da das Programm als Widget konzipiert ist, kann man vom Homescreen aus sein VPN recht komfortabel ein- oder ausschalten. Anders als die Original-Cisco-App kann sich das Widget Benutzername und Passwort merken, so dass man das Kennwort nicht bei jedem Connect neu eintippen muss.
Das Widget lässt sich auf einen Homescreen legen, auf dem auch andere Controls abgelegt sind, wie im Bild rechts gezeigt.
Es gelten allerdings dieselben Voraussetzungen wie für Rooted AnyConnect. Ohne Rootrechte und tun/tap-Unterstützung geht nichts. Daher ist auch diese Lösung nicht für den durchschnittlichen Business-User geeignet.
Aventail Connect
![Aventail läuft auf jedem Android-Handy, bietet aber kein echtes VPN (Screenshot: Aventail).](/i/et/sw/2011/android-vpn/aventail.jpg)
Aventail läuft auf jedem Android-Handy, bietet aber kein echtes VPN (Screenshot: Aventail).
Aventail Connect ist eine ebenfalls weit verbreitete SSL-VPN-Lösung von SonicWALL. Sie kommt häufig in mittelständischen Unternehmen zum Einsatz. Aventail verwendet einen anderen Ansatz als Cisco, um die Probleme mit fehlendem tun/tap-Interface zu umgehen. Es stellt die VPN-Verbindung her, bindet den Tunnel aber nicht an ein virtuelles Netzwerk-Interface.
Das bedeutet jedoch, dass kein echtes VPN zur Verfügung steht. Es lassen sich bestimmte Protokolle wie HTTP/HTTPS, RDP (Microsoft Remote Desktop), Citrix, Telnet, SSH, SMB (Windows File Sharing) oder VNC über den VPN-Client selbst nutzen. Das heißt, der VPN-Client stellt selbst Endanwendungen zur Verfügung. Andere Protokolle oder eigene Anwendungen sind nicht möglich.
Die Nutzung von Intranet-Ressourcen ist mit dem Aventail-Client natürlich nur sehr begrenzt möglich. Allerdings läuft die App auf jedem Android-Handy. Rooten und Austausch des Kernels sind nicht erforderlich.
Fazit
Android und VPN ist nach wie vor eine große Baustelle. Wer in seinem Unternehmen PPTP- oder bestimmte L2TP-VPNs einsetzt, kommt mit der eingebauten VPN-Funktionalität sicherlich gut zurecht. Setzt die eigene Firma aber andere VPNs ein, muss man sein Handy rooten oder hat nur eine extrem eingeschränkte Funktionalität. Das gilt auch für das marktführende SSL-VPN von Cisco, das Apple praktischerweise gleich ins iPhone integriert hat.
Google sollte schleunigst handeln. Als Marktführer bei Smartphone-Betriebssystemen darf man das Thema VPN nicht stiefmütterlich behandeln, es sei denn man möchte das Business-Segment kampflos dem Konkurrenten Apple überlassen.
Mit tun/tap-Unterstützung könnten zahlreiche Hersteller ihre Linux-Clients zu Android portieren. Sicherheitsprobleme könnte man dadurch lösen, dass Apps, die das tun/tap-Interface in Android nutzen möchten, digital signiert und einzeln von Google zertifiziert sein müssen.
Das Cisco sogar einen AnyConnect-Client in den Android-Market stellt, der nur funktioniert, wenn der Nutzer sein Gerät rootet und den Kernel austauscht, zeigt wie stark die VPN-Hersteller daran interessiert sind, ihre Lösungen auf Android zu bringen.
Stand heute lassen sich nur unbefriedigende Lösung für viele VPN-Konfigurationen anbieten. Die vorgestellten Programme sind sicherlich in vielen Einzelfällen hilfreich, aber können nicht jeden Nutzer zufriedenstellen.
Downloads zu diesem Artikel
Neueste Kommentare
1 Kommentar zu Mit Android ins Firmennetz: VPN-Apps zum Download
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Sehr spannender Beitrag. Wie sieht die Situation heute aus?