Tunnelblick – VPN mit Linux und AVM Fritzbox

Allgemeines zu VPN

Wer viel unterwegs ist nutzt gern freie öffentliche WLANs – im Einkaufszentrum, in Restaurants, in der Bahn, am Bahnhof und Flughafen. Aber auch der Internetzugang in Hotels, gerade auch im Ausland, wird gern genutzt. Gleiches gilt für andere Veranstaltungsorte wie Messen. WLAN stellt überall eine beliebte Alternative zum oftmals teuren Mobilfunk-Datentarif dar.

Viele Reisende möchten sich auch mobil keine Nutzungseinschränkungen auferlegen und Internetbanking, Hotelbuchung, Shopping, E-Mail und Chat-Dienste nutzen. Aber auch der Zugriff auf Daten und Dienste im heimischen Netzwerk ist gewünscht, sofern man diese Daten nicht Cloud-Anbietern anvertraut hat.

Das Problem dabei ist, dass gerade offene WLANs und leicht zugängliche und eher schlecht als recht geschützte WLANs (Hotel, Veranstaltungen) ein erhebliches Sicherheitsrisiko darstellen. Dabei kann zum einen versucht werden Schadsoftware zu verbreiten, zum anderen Zugangsdaten auszuspähen.

Um sich vor Schadsoftware zu schützen sollte man die Betriebssystem- und Anwendungssoftware immer up-to-date halten und zusätzlich Sicherheitssoftware wie Firewall und Virenscanner einsetzen um das Risiko zu minimieren. Wie die letzten Monate gezeigt haben ist das aber auch keine Garantie für Schutz – besonders Microsoft Windows ist auch aufgrund der hohen Verbreitung ein lohnendes Angriffsziel.

Gegen das Ausspähen von Daten hilft das Verschlüsseln der Kommunikation, das mit Hilfe von VPN-Software erfolgt.

Was bedeutet VPN?

Virtual Private Network – Ein VPN ist virtuelles geschlossenes privates Netzwerk, das sich bestehender physischer Netzwerke als Transportmedium bedient und Netze oder Endgeräte wie Notebook/Smartphone im Hotel und das eigene Heimnetz über VPN-Software verbindet. Die Verbindung wird verschlüsselt. Der Inhalt der Datenpakete im verschlüsselten „Tunnel“ zwischen beiden Endstellen ist damit von außen nicht einsehbar.

Welche Arten von VPN gibt es?

VPN Arten
Photo: Alucard- -Hell [Public domain], via Wikimedia Commons
  • Die (verschlüsselte) Kommunikation zwischen zwei VPN-Servern (an unterschiedlichen Standorten) wird site-to-site VPN genannt.
  • Die (verschlüsselte) Kommunikation zwischen VPN-Client (Notebook, PC, Smartphone) und VPN-Server wird end-to-site VPN genannt.
  • Die (verschlüsselte) Kommunikation zwischen zwei VPN-Clients (Notebook, PC, Smartphone) wird end-to-end VPN genannt.
  • Statt end wird in Dokus auch client oder road warrior geschrieben.

Für das zuvor genannte Szenario „Notebook/Smartphone im Hotel“ wird also ein end-to-site VPN benötigt. Voraussetzung dafür ist eine VPN-Client-Software am Notebook/Smartphone und ein VPN-Server.

Es gibt Anbieter, die weltweit nutzbar einen VPN-Zugang anbieten. Wie immer ist die Nutzung Vertrauenssache gegenüber dem Betreiber und kostet Geld. Dafür ist Bandbreite i.d.R. kein Problem. Oftmals bieten diese Anbieter weltweit mehrere Endpunkte als Ziel des VPN-Tunnels an. Damit ist es auch möglich Dienste aus Ländern zu nutzen, die am Aufenthaltsort nicht oder nur eingeschränkt angeboten werden.

Eine Alternative dazu ist es den eigenen Internetrouter als VPN-Server zu nutzen. Das kostet zum einen nichts extra und ermöglicht zudem den mobilen Zugriff auf das Heimnetz. Damit kann man sich auch das Einrichten einer eigenen (privaten) Cloud ersparen. Eine direkte Internetfreigabe von Diensten im Heimnetzwerk (z.B. NAS oder SAT-Receiver) über Portweiterleitungen am Internetrouter stellt ein nicht zu unterschätzendes Risiko dar. Beim Einrichten eines VPN-Servers am Internetrouter muss dessen Firmware regelmäßig aktualisiert werden. Das läuft oft sogar automatisiert durch den Internetprovider ab. Das Aktualisieren von privaten Cloud-Diensten im Heimnetz wird gern vergessen.

In Deutschland sind die Fritzbox-Internetrouter der Firma AVM weit verbreitet – auch weil viele Provider diese als Standardausstattung an Kunden ausliefern. Aus diesem Grund widmet sich dieser Artikel der Möglichkeit ein end-to-site VPN mit Hilfe der AVM Fritzbox und Linux aufzubauen. Im Beispiel ist das mit Ubuntu Mate durchgeführt, lässt sich aber auch in anderen Distributionen und Desktops nutzen.

Warum Linux und nicht Windows?

  • Linux, FreeBSD, MacOSX und andere UNIXoide Betriebssysteme sind durch ihre Architektur gut gegen Angriffe gewappnet. Durch die geringere Verbreitung stellen sie zudem ein weniger lohnendes Angriffsziel dar.
  • Linux ist frei und der Umgang damit kann schnell erlernt werden.
  • Linux lässt sich problemlos parallel zu Windows auf dem selben Rechner betreiben, egal ob BIOS- oder UEFI-basiertes System. Man kann also z.B. eine Dual-Boot-Installation Windows und Linux erstellen und Linux z.B. hauptsächlich auf Reisen einsetzen und bei Bedarf wieder zu Windows wechseln. Man auch Linux als Live-System direkt vom USB-Stick starten (bzw. dort installieren), wenn man keine Dual-Boot-Installation durchführen will/kann.

Einrichtung DynDNS für Fritzbox

Zunächst einmal muß der Internetrouter im Heimnetzwerk eindeutig im Internet von Smartphone oder Notebook identifiziert werden können. Da die öffentliche IP-Adresse sich bei üblichen Internetanschlüssen regelmäßig ändert ist die Nutzung von Dynamic DNS zur Identifikation erforderlich. AVM stellt einen solchen DynDNS-Dienst unter dem Namen „MyFritz!“ kostenlos bereit. Zunächst muß man also ein „MyFritz!“-Benutzerkonto einrichten, „MyFritz!“ in der Fritzbox aktivieren und dabei die Zugangsdaten für das angelegte Konto hinterlegen. Danach ist die Fritzbox via DNS eindeutig im Internet zu identifizieren. Der FQDN lautet xxx.myfritz.net, wobei xxx individuell für jede Fritzbox anders lautet.

Dazu muß man sich zunächst an der Fritzbox im Browser anmelden. Dazu kann man die URL http://fritz.box eingeben oder i.d.R. die IP-Adresse http://192.168.178.1  (auf Konsole „netstat -rn“ eingeben – IP-Adresse steht in der Spalte „Router“). In der Weboberfläche der Fritzbox nun im Menü Internet auf MyFritz! klicken und dann neues Konto erstellen. Man wird auf https://www.myfritz.net umgeleitet um dort ein neues Konto zu erstellen. Nun kommt die Aufforderung den Internetzugriff auf die Fritzbox einzurichten. Bei dieser Gelegenheit kann ein separater Benutzer in der Fritzbox angelegt werden. Aus Sicherheitsgründen ist dies dem Standard-Benutzer vorzuziehen. An die E-Mail-Adresse des MyFritz!-Kontos wird nun eine E-Mail geschickt. Der Link darin ist aufzurufen um die eigene Identität zu bestätigen. Danach ist die Fritzbox in MyFritz! erfolgreich registriert lässt sich via DynDNS erreichen. Statt sich den kryptischen FQDN zu merken, kann man sich nun auch unter https://www.myfritz.net anmelden und auf das Gerät weiterleiten lassen.

MyFritz in Fritzbox aktivieren
Photo: MyFritz in Fritzbox aktivieren, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
myfritz devices
Photo: myfritz devices, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
myfritz addresses
Photo: myfritz addresses, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

Einrichtung VPN-Server auf Fritzbox

Nun kann man den VPN-Server in der Fritzbox einrichten. Dazu ist im Menü Freigaben der Punkt „Fernzugang für einen Benutzer einrichten“ auszuwählen. Der Benutzer für VPN kann nun ausgewählt bzw. neu angelegt werden. Für jedes Haushaltsmitglied sollte ein eigener Benutzer vorhanden sein. Aus Sicherheitsgründen kann man dem VPN-Benutzer Administrationsrechte auf der Fritzbox entziehen. Dann sollte es aber ein eigener Benutzer nur für VPN sein…

Fritzbox VPN Einrichtung
Photo: Fritzbox VPN Einrichtung, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
Fritzbox Benutzer für VPN anlegen
Photo: Fritzbox Benutzer für VPN anlegen, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

Um den VPN-Client einrichten zu können müssen alle Zugangsdaten vorliegen. Es fehlt noch der Pre shared key (Zweiter Faktor) für den VPN-Benutzer.

Dazu im Menü System unter Fritzbox-Benutzer auswählen und auf „VPN-Einstellungen anzeigen“ klicken.

Fritzbox Benutzer hinzufügen
Photo: Fritzbox Benutzer hinzufügen, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
Fritzbox Benutzer für VPN anlegen
Photo: Fritzbox Benutzer für VPN anlegen, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
Fritzbox VPN Einstellungen für IOS und Android
Photo: Fritzbox VPN Einrichtung, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

In den VPN-Einstellungen werden nun die notwendigen Einstellungen zur Konfiguration von VPN unter IOS (Apple IPAD oder IPHONE) und Android (Google kompatible) angezeigt, inklusive Pre Shared Key (PSK). Die Zugangsdaten können natürlich auch für andere Betriebssysteme wie Linux, MacOSX oder Windows verwendet werden. IOS und Android bringen bereits einen kompatiblen VPN-Client mit.

Folgende Werte werden später benötigt:

  • VPN-Typ: end-to-site, IPSec X-Auth PSK (Cisco VPN-kompatibel)
  • VPN-Server-Adresse/Gateway: FQDN der Fritzbox (DynDNS via MyFritz!), also xxx.myfritz.net
  • Benutzername/Account/Gruppenname/IPsec Identifier: VPN-Benutzer in der Fritzbox
  • Kennwort/Benutzerpasswort: Passwort des VPN-Benutzers in der Fritzbox
  • Gruppenpasswort/Shared Secret/IPsec Pre Shared Key: Pre Shared Key (PSK) aus VPN-Einstellungen des Fritzbox-Benutzers auslesen!

Einrichtung VPN-Client unter Linux

Für Linux-Systeme, die im Desktop den Network Manager benutzen (im Beispiel Ubuntu Mate), muß nun die Erweiterung vpnc installiert werden, die den Cisco-kompatiblen VPN-Client nachrüstet.

vpnc-Pakete
Photo: vpnc Pakete, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

Nun kann man in den Netzwerkverbindungen eine neue Cisco-kompatible VPN-Verbindung (vpnc) anlegen. In den VPN-Einstellungen sind die zuvor ermittelten Werte einzutragen.

VPN - Auswahl vpnc
Photo: VPN – Auswahl vpnc, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
vpnc Einstellungen
Photo: vpnc Einstellungen, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
Netzwerkverbindungen
Photo: Netzwerkverbindungen, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

Unter Allgemein kann man angeben, ob die VPN-Verbindung auch von anderen Linux-Benutzern verwendet werden darf.

Über die Taskleiste kann man nun in den Netzwerkverbindungen die VPN-Verbindung starten und stoppen. Sobald die VPN-Verbindung gestartet wird werden quasi alle Netzwerkverbindungen über eine verschlüsselte Verbindung zur Fritzbox gesendet und von dort via Provider ins Internet oder Heimnetz weitergeleitet. In der Weboberfläche der Fritzbox kann man die laufende VPN-Verbindung im Menü Internet, dann Online Monitor sehen.

Fritzbox Online Übersicht
Photo: Fritzbox Online Übersicht, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

Linux Firewall

Vor der Nutzung des öffentlichen WLANs ist auf jeden Fall die Firewall-Konfiguration zu überprüfen. Diese sollte das Profil „öffentlich“ haben, d.h. eingehende Verbindungen werden abgelehnt.

System > Einstellungen > Internet und Netzwerk > Firewall-Konfiguration

Ubuntu firewall
Photo: Ubuntu firewall, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

Anmerkungen

Über die VPN-Verbindung zur Fritzbox kann man auf Daten und Dienste im Heimnetzwerk zugreifen. Aus Performancesicht ist dabei zu beachten, dass für den Zugriff zum Heimnetzwerk hin die Download-Geschwindigkeit des heimischen Internetanschlusses relevant ist, für die Auslieferung von Daten zurück zum Notebook/Smartphone ist jedoch die Upload.-Geschwindigkeit des heimischen Internetanschlusses ausschlaggebend. Die meisten Internetanschlüsse haben ein asynchrones Upload/Download-Verhältnis, d.h. i.d.R. ist die Upload-Geschwindigkeit ein Vielfaches geringer als die Download-Geschwindigkeit. Wenn man also MP3-Dateien vom heimischen NAS ins Hotel zum Smartphone streamt wird das wahrscheinlich problemlos klappen. Das Streamen eines Films dagegen könnte bereits mehr Bandbreite benötigen als zur Verfügung steht. Das selbe gilt grundsätzlich auch für das Surfen im World Wide Web. Das Lesen von Nachrichten wird wohl kein Problem sein. Das Nutzen von Youtube oder Netflix ggf. schon, wobei hier entgegenkommt, dass beide abhängig von der vorhandenen Bandbreite Streams unterschiedlicher qualität ausliefern. Netflix empfiehlt für HD-Qualität >5Mbit/s.

Wenn das Subnetz des Heimnetz identisch zum Subnetz des öffentlichen WLANs ist, dann ist kein Zugriff auf das Heimnetz möglich. Es besteht die Möglichkeit bei Bedarf dem Heimnetz ein anderes Netz in der Fritzbox zuzuweisen. Die Fritzbox wird i.d.R. mit dem Netz 192.168.178.0 vorkonfiguriert. Möchte man also vom privaten WLAN im Freundeskreis auf das eigene Heimnetz via VPN zugreifen und alle Beteiligten nutzen eine Fritzbox in der Standardkonfiguration, dann ist es erforderlich zumindest bei einer Fritzbox das Netz zu ändern.

AVM verwendet IPsec, das im „illustrated guide to IPsec“ ausführlich beschrieben ist.

Unter Ubuntu ist standardmäßig eine Gast-Sitzung erlaubt. Wenn man die Netzwerkverbindung für andere User erlaubt will man ggf. die Gast-Sitzung deaktivieren.

Mit freetz steht eine freie Firmware-Erweiterung für AVM Fritzbox Internetrouter bereit, die die vorhandene Funktionalität erweitert. Damit kann z.B. als VPN-Server OpenVPN genutzt werden. OpenVPN ist freie Software, steht auf zahlreichen Plattformen zur Verfügung, ist einfacher zu konfigurieren und benutzt Open-SSL/TLS statt IPsec/X-Auth. Die Installation von freetz auf einer Fritzbox stellt eine Modifikation dar und führt zum Verlust der Garantie.

AVM stellt Anleitungen zur Konfiguration verschiedener VPN-Szenarien und für verschiedene Betriebssysteme als AVM VPN Tipps und Tricks bereit.

Hier ist eine Kurzanleitung zur VPN-Konfiguration für IOS, Android und MacOSX, die einen Cisco-kompatiblen VPN-Client integriert haben. Auch Windows ist beschrieben. Für Windows steht der Shrewsoft VPN Client kostenlos zur Verfügung.

OpenWRT ist eine freie Firmware für Internetrouter mit großem Funktionsumfang. Eine Liste unterstützter Hardware gibt es hier.

Die Nutzung von VPN ist in manchen Ländern nicht zulässig.

Photo: By Joey T (Own work) [GFDL or CC BY-SA 3.0], via Wikimedia Commons

Merken

Ein Kommentar zu „Tunnelblick – VPN mit Linux und AVM Fritzbox

Kommentar verfassen