Update vom 2. März 2012: In der Zwischenzeit hat AVM mitgedacht und in dem kleinen Softwareprogramm „FRITZ!Fernzugang einrichten“ eine Option eingebaut, mit der in einer zu erstellenden Konfiguration die Secure-Gateway-Funktion eingebaut werden kann. Dieser Artikel ist mit seiner komplexen Anleitung daher weitgehend hinfällig und steht hier nur noch aus historischen Gründen, dennoch gelten die technischen Hintergründe nach wie vor und sind aktuell.
Vor einiger Zeit habe ich versucht, meine AVM Fritzbox 7270 für eine verwegen klingende, aber gar nicht so unsinnige Funktion einzusetzen: Mit meinem iPhone wollte ich die die VPN-Funktionalität der Fritzbox nutzen, um zwischen iPhone und Fritzbox ein VPN aufzubauen. Über dieses VPN wollte ich nicht nur Rechner in meinem eigenen Netzwerk erreichen, sondern die Fritzbox so einsetzen, dass über sie auch der Datenverkehr abgewickelt wird, der vom iPhone ins Internet möchte. Die Idee dahinter war, auf diesem Weg dann auch ein offenes und unverschlüsseltes WLAN nutzen zu können, denn der gesamte Datenverkehr von und zum Internet könnte dann eben über diesen VPN-Tunnel abgewickelt werden.
So weit, so gut. Was mit größeren Gerätschaften funktioniert, funktionierte jedoch nicht mit der Fritzbox. Zwar konnte ich über den VPN-Tunnel mein Netzwerk erreichen, jedoch keinen Datenverkehr ins Internet routen. Das blockte die Fritzbox ab und das ließ sich auch mit einigem Gefrickel in der Konfiguration nicht ändern.
Um es kurz zu machen: Nun geht es! Mit dem Firmware-Update vom September 2010 wurde die VPN-Funktionalität offenbar entsprechend angepasst, so dass nach einer kleinen Änderung der VPN-Konfigurationsdatei, die für den Import in die Fritzbox bestimmt ist, die Fritzbox als Secure Gateway für VPN-Verbindungen von einem iPhone (und natürlich auch einem iPad) genutzt werden kann. Hier mal alles Notwendige Schritt für Schritt.
Schon eine VPN-Konfiguration auf der Fritzbox?
Dann bitte Vorsicht walten lassen, denn wenn jetzt die neu erstellte VPN-Konfigurationsdatei hochgeladen wird, werden alle bestehenden VPN-Konfigurationen entfernt. Wenn also eine bestehende VPN-Konfiguration vorhanden ist und die auch noch benötigt wird, dann müssen beide VPN-Konfigurationen in einer Datei zusammengeführt werden. Hier sollte bitte das oben genannte Programm „FRITZ!Fernzugang einrichten“ zum grundlegenden Aufbau der VPN-Konfiguration eingesetzt werden, damit die Verschachtelung der einzelnen Konfigurationen korrekt bleibt. Die notwendigen Änderungen für die VPN-Verbindung des iPhone lässt sich dann immer noch nachträglich hinzufügen.
VPN-Konfiguration auf der Fritzbox
Die Fritzbox hat nach wie vor auf ihrer Benutzeroberfläche keine eigene Einstellungsmöglichkeiten für VPN-Verbindungen, diese müssen also weiterhin als VPN-Konfigurationsdatei importiert werden. Solche VPN-Konfigurationsdateien können mit einem kostenlosen Programm namens „FRITZ!Fernzugang einrichten“ (gibt es bei AVM im Download-Bereich) erstellt werden. Da wir jedoch für die VPN-Geschichte vom iPhone die so erstellte VPN-Konfigurationsdatei sowieso nochmal anpassen müssen, hier eine VPN-Konfigurationsdatei in ganzer Länge zum Herauskopieren und Anpassen. Ist zwar nicht schön formatiert, erfüllt aber seinen Zweck. Einfach den folgenden eingerückten Teil in einen Texteditor kopieren. Infos zu den rot markierten Bereichen gibt es weiter unten:
vpncfg {
connections {
enabled = yes;
conn_type = conntype_user;
name = "Accountname";
always_renew = no;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 192.168.178.202;
remoteid {
key_id = "Accountname";
}
mode = phase1_mode_aggressive;
phase1ss = "all/all/all";
keytype = connkeytype_pre_shared;
key = "sharedsecret";
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = yes;
use_cfgmode = no;
xauth {
valid = yes;
username = "Accountname";
passwd = "Kennwort";
}
phase2localid {
ipnet {
ipaddr = 0.0.0.0;
mask = 0.0.0.0;
}
}
phase2remoteid {
ipaddr = 192.168.178.202;
}
phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
accesslist =
"permit ip 192.168.178.0 255.255.255.0 192.168.178.202 255.255.255.255",
"permit ip any 192.168.178.202 255.255.255.255";
}
}
Zu den rot markierten Bereichen:
- „name“ und „key_id“
Ein beliebiger Accountname, der in beiden Feldern gleich lauten muss. Keine komplizierten Sonderzeichen oder Leerschritte. - „remote_virtualip“ und „ipaddr“
Das ist die virtuelle IP-Adresse, unter der das iPhone (bzw. der VPN-Client) später im lokalen Netzwerk der Fritzbox erscheinen wird. Wenn das LAN mit den Netzwerk-Standardeinstellungen betrieben wird, nutzt die Fritzbox das Netzwerk 192.168.178.x und für VPN-Clients IP-Adressen ab 201. (In diesem Fall habe ich jetzt die 192.168.178.202 ausgewählt, weil ich noch eine weitere VPN-Konfiguration nutze, die hier nicht aufgeführt ist.) - „key“
Hier ist der Shared Secret für die IPSec-Verschlüsselung einzutragen. Prinzipiell gehen hier auch Sonderzeichen, es genügt jedoch eine Zeichenfolge mit Groß- und Kleinbuchstaben, sowie Ziffern. Da dieses Shared Secret später auf dem VPN-Client auch nur einmal eingegeben werden muss, darf es gern länger sein, bei mir sind es 16 Stellen. - „username“ und „passwd“
Das sind Benutzername und Passwort für die zusätzliche XAUTH-Authentifizierung. Hier empfehle ich für „username“ den oben schon festgelegten Accountnamen, für „passwd“ ist ein Passwort empfehlenswert, das nicht das Shared Secret ist und immerhin so aufgebaut sein sollte, dass man es sich einfach merken kann, da dieses Passwort bei jedem VPN-Verbindungsaufbau – zumindest auf dem iPhone – eingegeben werden muss. - „accesslist“
Die Zeile mit dem rot markierten Eintrag ist eminent wichtig dafür, wie der ausgehende Datenverkehr des VPN-Clients auf der Fritzbox behandelt werden soll. Hier ist wichtig, dass die rot markierte IP-Adresse genau die gleiche Adresse ist, wie weiter oben bei „remote_virtualip“ und „ipaddr“ angegeben.
Alles angepasst? Dann die Datei mit beliebigem Dateinamen und der Dateiendung „.cfg“ abspeichern und diese Datei in die Fritzbox importieren. Das passiert in der Rubrik „Internet“ unter „Freigaben“ und dort in der Registerkarte „VPN“. Der Importvorgang dauert einige Sekunden und quittiert dann entweder mit einem erfolgreichen oder erfolglosen Import. Ist er erfolglos, stimmt mit ziemlicher Sicherheit etwas am Aufbau der VPN-Konfiguration nicht.
VPN-Konfiguration auf dem iPhone
Die VPN-Konfiguration auf dem iPhone ist weit weniger kompliziert, als es klingt. Zu finden ist sie in den Einstellungen unter „Allgemein“, dort unter „Netzwerk“ und dort wiederum unter „VPN“. Hier auf „VPN hinzufügen“ tippen und den Button „IPSec“ wählen. Es erscheint folgendes Fenster:
Auch hier kurz die einzelnen Punkt ausführlich:
- Beschreibung
Die Beschreibung kann frei gewählt werden und dient lediglich zur Kennzeichnung der VPN-Verbindung auf dem iPhone. - Server
Hier kommt die Adresse hinein, unter der die Fritzbox im Internet zu erreichen ist. Wer eine feste IP-Adresse hat, kann entweder die IP-Adresse oder den Hostnamen angeben. Wer keine feste IP-Adresse hat, kann sich mit einem DynDNS-Dienst behelfen.( Ich setze dyndns.org ein, die dazugehörigen Daten können bequem in der Fritzbox hinterlegt werden, so dass die Fritzbox selbstständig dafür sorgt, bei einem DSL-Verbindungsneuaufbau auch den DynDNS-Eintrag zu aktualisieren.) - Account
Hier kommt der Accountname ein, der oben in der VPN-Konfiguration festgelegt wurde. - Kennwort
Und hier eben das oben festgelegte Kennwort (nicht das Shared Secret!) hinein, wenn nicht bei jedem Verbindungsaufbau neu nach dem Kennwort für die Verbindung gefragt werden soll. Ich empfehle, das Kennwort hier nicht zu hinterlegen, so wie ich es immer bei mobilen Geräten handhaben würde, die VPN-Verbindungen in Netzwerke aufbauen können sollen, die nicht von einem eigenen Administrator, der im Ernstfall schnell die VPN-Konfigurationen deaktivieren kann, gehostet werden. - Zertifikat verwenden
Ausgeschaltet lassen, wir verwenden kein Zertifikat. - Gruppenname
Hier auch einfach den Accountnamen eintippen. - Shared Secret
Und hier kommt das Shared Secret hinein. - Proxy
Auf „Aus“ gestellt lassen, wir verwenden keinen Proxy.
Das war es. Einstellungen sichern und gut.
VPN aufbauen
Das VPN lässt sich in den iPhone-Einstellungen mit dem nun neu eingeblendeten VPN-Schieber starten. Einfach den Schieber aktivieren und schon wird versucht, den Tunnel zu öffnen. Wird der Tunnel zur Fritzbox etabliert, erscheint nach einigen Sekunden die Passwortabfrage. Glückt diese, erscheint in der Infozeile des iPhone ein winziges VPN-Symbol, gleichzeitig ist auf der Benutzeroberfläche die nun aktive VPN-Verbindung zu sehen.
Wer ein Jailbreak-iPhone besitzt und das höchst empfehlenswerte Programmpaket SBSettings installiert hat, um damit einige grundlegende Funktionen des iPhone schnell zu aktivieren, kann in Cydia noch das zusätzliche Paket „SBSettings VPN Toggle“ installieren, das dann einen zusätzlichen Button für das Aktivieren/Deaktivieren der VPN-Verbindung zu SBSettings hinzufügt. Komfortabler geht es dann kaum noch.
Die üblichen Hinweise, Fragen und Antworten
- iPad?
Gute Nachricht: Funktioniert im Prinzip genau so, wie auf dem iPhone und ist auch genau so zu konfigurieren. - VPN-Passwörter auf mobilen Geräten
Wie oben kurz angerissen: VPN-Passwörter gehören nicht auf mobile Geräte, auch wenn diese Sperrfunktionen haben. Mit dem Shared Secret geht es nicht anders, das Passwort für die zusätzliche XAUTH-Authentifizierung muss man jedoch wirklich nicht auf dem iPhone hinterlegen, sondern gibt das bei jedem Verbindungsaufbau ein. Grundsicherungsmaßnahme. - Absicherung der Fritzbox
Ein paar Dinge müssen auch einfach hier klar sein. Die Fritzbox braucht ein vernünftiges Passwort, ein eingerichtetes WLAN-Netzwerk sollte verschlüsselt mit WPA2 und einem hinreichend langen Key arbeiten und wenn man die Fritzbox-Bedienoberfläche für Fernzugriffe aus dem Internet aktiviert, dann bitteschön SSL gesichert und mit gesondertem HTTP-Zugriffspasswort. Ein sicheres VPN lebt davon, dass sowohl Client, als auch Server gesichert sind. - Ist der Tunnel sicher?
IPSec ist grundsätzlich state-of-the-art und eine aktuelle und weit verbreitete VPN-Tunneltechnologie. Welche Algorithmen tatsächlich eingesetzt werden, habe ich aktuell nicht parat, es dürfte sich jedoch um grundsätzlich starke Verschlüsselung handeln, die noch mit einer zusätzlichen Benutzerauthentifizierung („XAUTH“) ergänzt wird. In Sachen Tunnel gilt: Aufgebaut wird der immer nur zwischen Client und Server, also in diesem Fall zwischen iPhone und Fritzbox. Wenn also nicht gerade jemand eine Man-in-the-middle-Attacke fährt und beispielsweise den Endpunkt so manipuliert, dass dieser nicht auf der heimischen Fritzbox endet, sondern auf einem anderen Gerät, ist man also weitgehend sicher davor, dass der Tunnel von Dritten abgehört werden kann – wenn eben die Schlüssel hinreichend komplex sind. - Kann man dem VPN-Client auf dem iPhone trauen?
Das ist eine gute Frage. Pardon, kann ich nicht beantworten. Zum einen, weil ich kein Verschlüsselungsspezialist bin und zum anderen, weil die iOS-Software des iPhone/iPad nicht öffentlich zur Evaluation zur Verfügung steht. Dass „Cisco“ draufsteht, ist zumindest ein Zeichen dafür, dass es sich nicht um ganz namenlose Software handelt und da viele Unternehmen auf Cisco-Router und -Software schwören, kann man sich zumindest ein Stück weit darauf verlassen, dass es nicht ganz so üble Software sein dürfte. Für Paranoiker gilt jedoch auch hier, dass sowohl Apple, als auch Cisco eben US-amerikanische Unternehmen sind. - Performance und Stromverbrauch
Die Performance der Fritzbox ist für VPN-Verbindungen ausreichend, selbst mehrere VPN-Verbindungen bedient meine Fritzbox 7270 problemlos. Da sie eine ADSL-Fritzbox ist, ist die Limitierung des ADSL-Anschlusses vermutlich schneller erreicht, als die VPN-Verschlüsselungsperformance. Auf dem iPhone gilt das grundsätzlich auch, nur ist hier zu beachten, dass alles, was zusätzliche Performance braucht, Energie verbraucht und die muss man sich auf einem iPhone immer gut einteilen. Es macht also Sinn, das VPN immer dann einzusetzen, wenn man es auch zwingend braucht und das ist immer dann der Fall, wenn ein drahtloses Netzwerk unverschlüsselt sendet und die zu übertragene Kommunikation das ebenfalls ist. Nutzt man über das iPhone beispielsweise SSL-gesichertes Banking oder Mailkonten auf Basis von ActiveSync oder verschlüsseltem IMAP, dann sind diese Kommunikationskanäle bereits verschlüsselt. Ebenso unproblematisch ist so Kommunikation wie beispielsweise der eingebauten Wetter-App, die niemand wirklich verschlüsselt braucht. Sinnvoll ist VPN-Verschlüsselung spätestens dann, wenn Apps über API auf Dienste zugreifen und hier befürchtet werden muss, dass dies nicht über HTTPS gesichert läuft. Kaum eine Social-Networking-App tut das nämlich oder bietet hierzu Optionen an. Spätestens hier ist der VPN-Tunnel gefragt und die investierte Energie eine gute Anlage.
Schreibe einen Kommentar