Freies Internet in vier Schritten: Den heimischen Windows-Rechner für sicheres Surfen unterwegs nutzen

Im Eigenschaftenmenü der Netzwerkkarte unter Windows XP lässt sich für den heimischen Rechner eine feste IP eintragen. Auch die Adresse des Routers und des DNS-Servers findet sich hier.

Dieser Artikel zeigt in vier einfachen Schritten, wie sich der Windows-PC zuhause zum Absichern eines Laptops und zum Umgehen von Systemen wie der “Great Firewall of China” verwenden lässt. Der mobile Benutzer surft dank Openvpn ohne Einschränkungen, die sonst in seinem lokalen Netz greifen und kann abhörsicher und zensurfrei auf alle Internetinhalte zugreifen.

Reisende in China leiden unter der Internetzensur, die den Zugriff auf viele Webseiten blockt und den kompletten Traffic untersucht, den ein Rechner
verursacht. Aber auch in Deutschland schränken zahlreiche Institutionen den WWW-Zugriff ein, wie die jüngste Diskussion über Nordrhein-Westfalen zeigt. Jeder Laptopbenutzer kennt das Problem: Er fühlt sich unsicher, wähnt sich in einem wenig vertrauenswürdigen Netz, muss aber ins Web. Egal, ob es das Internetcafe in einer fremden Stadt, das LAN am Arbeitsplatz, bei einem Kunden, oder einfach die leicht mitlesbare Verbindung über Funknetze wie WLAN, Bluetooth, UMTS oder GPRS ist. Anonymität und unbeschränkter Zugriff empfinden viele Benutzer zwar als Grundrecht, aber sie akzeptieren die Einschränkungen meist als notwendiges Übel.

Besser mit Openvpn

Das muss aber nicht so sein. Die Freie VPN-Software OpenVPN steht für Windows, Linux und den Mac zur Verfügung und hat sich seit Jahren im praktischen Einsatz bewährt. Viele Benutzer surfen damit anonym und abhörsicher. Verschlüsselungstechnologien auf militärischer Sicherheitsstufe stellen die Vertraulichkeit sicher, und dank der umfangreichen Optionen lässt sich in fast jedem Szenario eine sichere Verbindung, ein so genannter Tunnel zum eigenen Server benutzen. Typischerweise verwenden Admins dafür Linux-Server, Firewall-Appliances oder einen Linux-Root-Server bei den üblichen Providern, der von überall erreichbar ist.
Dieser Artikel beschreibt dagegen ein denkbar einfaches und für viele Anwender passendes Setup: Ein Windows-Server an einer breitbandigen DSL-Leitung dient als Zugangspunkt fürs ungehinderte Internet, der Laptop von unterwegs verbindet sich mit dem heimischen Anschluss und baut einen sicher verschlüsselten Tunnel auf. Danach surft der mobile User, wie durch ein unsichtbares Kabel verbunden, über den DSL-Anschluss.

Dieses Beispiel lässt sich in vier Schritten einrichten.

Schritt 1: Dyndns

Zunächst braucht der DSL-Anschluss einen flexiblen Eintrag im Domain Name System. Mit dieser dynamischen DNS-Adresse ist auch der Windows-Rechner in der Wohnung immmer von aussen erreichbar, auch wenn er wie bei den meisten DSL-Anbietern üblich, täglich eine
neue IP-Adresse bekommt. Zahlreiche Anbieter wie dyndns.org, no-ip.com oder andere bieten bequeme, kostenlose Webformulare, in denen der Anwender einen Eintrag in der Form feilner.dyndns.org bekommt. Immer wenn sich die lokale IP ändert, aktualisiert passende Client-Software auf Windows oder dem DSL-Router den Eintrag auf dyndns.org automatisch. Fast alle gängigen Router und Linux-Systeme bringen diese Funktion bereits mit, für Windows empfiehlt sich der Original-Client von dyndns.org.

Schritt 2: DSL-Router konfigurieren

Jetzt ist der heimische Anschluss unter der gewählten Domain (zum Beispiel feilner.dyndns.org) erreichbar. Der Anwender sollte im zweiten Schritt seinem Router beibringen, die entsprechenden Verbindungsanfragen auf den Windows-PC weiterzuleiten. Auch das ist eine Standardfunktion, die in allen gängigen Routern implementiert ist, die Eingabemasken dafür tragen je nach Hersteller unterschiedliche Titel wie “Port Forwarding”, “NAT” oder gar “Masquerading”. Idealerweise reicht es dabei aus, den Port 443 (TCP) und die Adresse des Rechners im Webinterface des Routers einzutragen, und schon kommen alle OpenVPN-Pakete von aussen auf dem Windows-PC an, und unerwünschte Angreifer bleiben der Microsoft-Maschine fern. Der heimische Rechner sollte dabei über eine feste Adresse im LAN verfügen und sie nicht über DHCP beziehen, Probleme sind sonst vorprogrammiert. Aber auch das lässt sich fast immer bequem am Router oder in den Eigenschaften der Netzwerkgeräte einstellen. Abbildung 1 zeigt das für Windows XP.

Im Eigenschaftenmenü der Netzwerkkarte unter Windows XP lässt sich für den heimischen Rechner eine feste IP eintragen. Auch die Adresse des Routers und des DNS-Servers findet sich hier.

Im Eigenschaftenmenü der Netzwerkkarte unter Windows XP lässt sich für den heimischen Rechner eine feste IP eintragen. Auch die Adresse des Routers und des DNS-Servers findet sich hier.

Schritt 3: OpenVPN auf dem Windows-Server installieren und Zertifikate erzeugen

Auf dem Windows-Server installiert der Benutzer die OpenVPN-Software von der Webseite des Projektes. Unter XP wird später ein Dialogfenster der Firewall den den Benutzer um die Erlaubnis für OpenVPN bitten, auf das Internet zuzugreifen und Verbindungen von aussen zu erlauben. Damit die Verschlüsselung sicher funktioniert, sind unter Windows ein paar Befehle an der Kommandozeile notwendig. Mit Ihnen erzeugt der Anwender Zertifikate und Schlüssel, die OpenVPN in seiner Konfiguration verwendet. Für dieses eigentlich sehr komplexe Thema haben die Entwickler von OpenVPN eine ganze Reihe von praktischen Skripten in das Softwarepaket mit übernommen, die sich im Unterverzeichnis “easy-rsa” finden.
(Abbildung 2).

Openvpn bringt mit Easy-rsa einige Skripte mit, die das komplexe Thema Verschlüsselung, Keys, Zertifikate und PKI für den Laien anwendbar machen. Gleichzeitig lassen sich vom Administrator damit auch komplette Infrastrukturen verwalten.

Openvpn bringt mit Easy-rsa einige Skripte mit, die das komplexe Thema Verschlüsselung, Keys, Zertifikate und PKI für den Laien anwendbar machen. Gleichzeitig lassen sich vom Administrator damit auch komplette Infrastrukturen verwalten.

An diesem Ort erstellt der mit Adminrechten ausgestattete Benutzer zunächst ein neues Unterverzeichnis namens “keys”, kopiert die Dateien index.txt.start und serial.start hinein und ändert er deren Namen auf index.txt und serial (letztere ohne jede Dateinamenserweiterung). Jetzt kommen die mit OpenVPN mitgelieferten Programme ins Spiel.
An der Windows-Befehlszeile wechselt der User ins Verzeichnis easy-rsa und gibt nacheinander folgende Befehle ein: “vars”, “init-config”, “build-dh”, “build-ca”, “build-key-server server”, “build-key client”. Nach dem Beantworten einiger Fragen wie Rechnername, Organisation und E-Mail-Adresse finden sich im Verzeichnis “keys” alle Dateien, die für den OpenVPN Tunnel nötig sind. Die Dateien “ca.crt”, “server.crt” und
“server.key” und “dh1024.pem” müssen jetzt noch ins “config”-Verzeichnis von OpenVPN kopiert werden, für den Laptop kopiert der Benutzer “ca.crt”, “client.crt” und “client.key” auf einen USB-Stick.
Wer möchte, kann auch mit einem Editor vor dem Aufruf von “vars” die Datei “vars.bat” editieren und in der Zeile “set KEY_SIZE” die gewünschte Schlüssellänge hochsetzen. Alles über 1024 ist ein sicherer Wert, allerdings wird mit zunehmender Schlüssellänge auch die Verbindung langsamer. Optional lassen sich hier noch Ort, Stadt und Organisationseinheit eintragen, damit stellen die anderen Skripte später weniger Fragen.

Schritt 4: Konfiguration

Der vierte und letzte Arbeitsschritt betrifft die OpenVPN-Konfiguration von Server und Client. Jetzt muss der Benutzer die mitgelieferte Konfigurationsdatei des OpenVPN-Servers anpassen und den Tunnel mit dem lokalen Ethernet verbinden. Weil Windows XP in der Standardausstattung einfache Masquerading-Funktionen nicht ohne weiteres beherrscht, isst auch dieser Schritt etwas umfangreicher als zum Beispiel bei Linux. Als Lösung bietet sich der sogenannte “Bridging Mode” von OpenVPN an. Damit erscheint der Laptop hinter dem virtuellen Kabel wie ein Rechner im heimischen Netz, und erhält automatisch Zugriff aufs Internet. Allerdings muss der Benutzer dafür die beiden Netzwerkgeräte (lokales Ethernet und Tunneldevice) über das Kontextmenü in der Windows-Systemsteuerung bridgen. Abbildung 3 zeigt, wie das unter Windows XP funktioniert. Häufig lohnt es sich auch, zu kontrollieren, ob der Openvpn-Dienst in der Systemverwaltung auf “Automatisch Starten” gesetzt ist, das ist nicht immer der Fall.

Unter Windows kann der Anwender über das Kontextmenü der Systemsteuerung zwei Netzwerkgeräte koppeln. Dieses Bridging sorgt dafür, dass in diesem Beispiel ein WLAN und der Openvpn-Tunnel vom mobilen Laptop zusammengeschlossen werden und der Laptop Zugriff auf das heimische Lan und den DSL-Zugang bekommt.

Unter Windows kann der Anwender über das Kontextmenü der Systemsteuerung zwei Netzwerkgeräte koppeln. Dieses Bridging sorgt dafür, dass in diesem Beispiel ein WLAN und der Openvpn-Tunnel vom mobilen Laptop zusammengeschlossen werden und der Laptop Zugriff auf das heimische Lan und den DSL-Zugang bekommt.

Auf dem Server lautet die Minimalkonfiguration, zum Beispiel in einer Datei “server.ovpn”. Als “port” ist hier bereits der HTTPS-Port 443 ausgewählt, den auch viele sicherheitsbedürftige Online-Dienste verwenden:

port 443
proto tcp-server
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server-bridge Lokale_Adresse_des_Windows_PCs 255.255.255.0 192.168.0.240 192.168.0.250
push “redirect-gateway”
push “route 0.0.0.0 0.0.0.0 IP_des_DSL_Routers”
push “dhcp-option DNS IP_des_DSL_Routers”
keepalive 10 120
comp-lzo
persist-key
persist-tun

Der Benutzer muss hier nur in der Zeile “server-bridge …” die lokale IP seines Windows-Rechners zuhause eintragen, und in den beiden Zeilen, die mit “push route…” beziehungsweise push “dhcp-option… beginnen, die lokale IP des DSL-Routers, meist ist das standardmässig die 192.168.0.1.
Diese Datei speichert der User im Konfigurationsverzeichnis “config”, zum Beispiel als “server.ovpn”. Alle Tunnel, die dort in auf “.ovpn” endenden
Dateien beschrieben sind, startet Openvpn ab dem nächsten Reboot automatisch. Jetzt gilt es, OpenVPN auf dem Notebook zu installieren und die
Client-Schlüssel vom USB-Stick ins Konfigurationsverzeichnis einspielen. Für den Client lautet die entsprechende Konfiguration, zum Beispiel als “client.ovpn”:

client
dev tap
proto tcp-client
remote feilner.dyndns.org 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
route-up myroute.cmd

Hier sind nur zwei individuelle Änderungen notwendig: In der Zeile “remote…” sollte der Anwender den von ihm gewählten Dyndns-Namen eintragen. Darüber hinaus muss der Client die IP des DSL-Routers im Heimnetzwerk kennen und verwenden. Dafür verwendet Openvpn das folgende Skript “myroute.cmd”, das der Benutzer ebenfalls im Konfigurationsverzeichnis speichert. Hier trägt der Benutzer einen Windows-Route-Befehl mit der IP seines Windows-Rechners (zum Beispiel 192.168.0.71) ein:

route delete 0.0.0.0 MASK 0.0.0.0 Lokale_IP_des_Windows-Rechners

Nach einem Neustart sollte der Tunnel einwandfrei funktionieren, und der Internetzugriff des Laptops findet ausschliesslich über den VPN-Tunnel statt. Fürs bequeme An- und Ausschalten des VPN-Zugriffs bietet sich die OpenVPN-GUI für Windows an, die hier zum Download bereit steht.

Beschränkte Bandbreite

Der offensichtlichste Nachteil der beschriebenen Lösung ist die Bandbreite: Beim heimischen DSL-Anschluss ist der Upload begrenzt, meist maximal 1Mbit, also etwas mehr als 128 Kbyte/s (Abbildung 4). Wem das nicht reicht, der braucht entweder eine dickere Leitung oder einen Root-Server bei den großen Hosting-Providern. Ausserdem stellt der DSL-Anschluss oder der Root-Server den neuen Angriffspunkt für eine vollständige, unerwünschte Überwachung durch Lauscher dar. Und Wer das vermeiden möchte, installiert entweder Anonymisierungsdienste wie Tor oder mietet einen Root-Server im Ländern, die die IP-Daten der Kunden nicht überwachen lassen, wie das in Deutschland ab nächstem Jahr
Pflicht ist.

Ein (virtuelles) Windows-System benutzt als VPN-Client eine verschlüsselte Verbindung mit einem Windows-VPN-Server hinter einem DSL-Anschluss. Der Download der aktuellen Ubuntu-CD läuft über diesen Tunnel mit dauerhaft zwischen 100 und 120 Kbyte/s, das heißt er nutzte die verfügbare Uploadbandbreite der 16 Mbit-Leitung vollständig aus. Der durch die Verschlüsselung entstehende Overhead ist bei Openvpn minimal.

Ein (virtuelles) Windows-System benutzt als VPN-Client eine verschlüsselte Verbindung mit einem Windows-VPN-Server hinter einem DSL-Anschluss. Der Download der aktuellen Ubuntu-CD läuft über diesen Tunnel mit dauerhaft zwischen 100 und 120 Kbyte/s, das heißt er nutzte die verfügbare Uploadbandbreite der 16 Mbit-Leitung vollständig aus. Der durch die Verschlüsselung entstehende Overhead ist bei Openvpn minimal.

Benutzer von Windows Vista müssen wahrscheinlich noch über einige weitere Hürden springen. Das beschriebene Bridging-Setup funktionierte im Test mit Vista nicht zufriedenstellend und instabil, und nur die aktuellste Version von OpenVPN (2.1, Release Candidate 8) ist an die Neuerungen in Microsofts jüngstem Produkt angepasst. Linux und Linux-basierte Embedded Systeme wie Openwrt oder Freewrt lassen sich dagegen auch ohne Bridge durch einfaches Forwarding für sichere Tunnel benutzen. Der Benutzer eines Linux-Servers hat deutlich weniger Aufwand, weil er weder Zertifikate noch die Konfiguration der Bridge mit eigens angepassten Routen erstellen muss. Da reicht dann ein einfacher Schlüssel mit einem Passwort und ein Befehl, der das Forwarding auf dem VPN-Server aktiviert. Und mit einem gemieteten Root-Server geht dann auch verschlüsselt
richtig die Post ab.

Openvpn im Linuxmagazin:

Markus Feilner, “GPRS, NX, Openvpn, Bluetooth”, Linux Technical Review 2007/05

Markus Feilner, Beglaubigt: Openvpn mit Zertifikaten absichern, Linux Magazin Sonderheft, 2008/02

Dirk von Suchodoletz und Ullrich Dittmer, Gestapelte Röhren:
https://www.linux-magazin.de/heft_abo/ausgaben/2006/11/gestapelte_roehren?category=0

Mirko Dölle, Datenunterführung:
https://www.linux-magazin.de/heft_abo/ausgaben/2005/08/daten_unterfuehrung__1?category=0

Achim Leitner, Offener Tunnel:
https://www.linux-magazin.de/heft_abo/ausgaben/2003/10/offener_tunnel?category=0

Bücher zu Openvpn:

Markus Feilner, “Openvpn: Building and Integrating Virtual Private Networks”: http://openvpnbook.packtpub.com

Sven Riedel: “Openvpn – Kurz und gut”: http://www.amazon.de/OpenVPN-kurz-gut-Sven-Riedel/dp/3897215292

Johannes Bauer: “OpenVPN: Grundlagen, Konfiguration, Praxis”: http://www.amazon.de/OpenVPN-Grundlagen-Konfiguration-Johannes-Bauer/dp/3898643964

Dirk Becker “OpenVPN – Das Praxisbuch”: http://www.galileocomputing.de/1802

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben