Die große Verbreitung von WLAN-Netzen stellt nicht nur in Firmen ein ernstes Sicherheitsproblem dar, sondern betrifft auch Privatanwender: Die meisten Geräte verschlüsseln noch nach dem leicht knackbaren WEP-Standard (Wired Equivalent Privacy) – was Angreifern ermöglicht, selbst aus einigen hundert Metern Entfernung in das Hausnetz einzubrechen. Das Ziel sind dann entweder die Computer des Anwenders oder aber dessen Internet-Verbindung, die der Einbrecher zum Spammen, zu Denial-of-Service-Attacken oder zu Angriffe gegen Dritte missbrauchen will. Der Dumme ist im Zweifel der Anwender, von dessen Computer aus die Angriffe gestartet wurden.
Die Lösung ist, zusätzlich zur WEP-Verschlüsselung ein VPN zu verwenden, das die Daten nur verschlüsselt zwischen den Computern überträgt. OpenVPN [1] zeichnete sich von je her durch die einfache Konfiguration aus: Anstelle einer ellenlangen Konfigurationsdatei, wie sie bei vielen IP-Sec-Lösungen üblich ist, genügen wenige Parameter für einen verschlüsselten Tunnel. Die Einfachheit geht dabei nicht zulasten der Sicherheit, wie eine einschlägige Untersuchung [3] nachweist.
Einfache Einrichtung
Ab Version 2.0 können Sie OpenVPN auch als Server für dutzende Clients einsetzen, was zusammen mit dem Schlüssel-Management allerdings schnell unübersichtlich und kompliziert wird. Wer für den Hausgebrauch nur ein oder zwei Rechner über OpenVPN verbinden möchte, weil er der WEP-Verschlüsselung seines WLANs nicht traut, sollte besser weiterhin für jeden Client einen OpenVPN-Prozess auf dem Server starten.
Für die verschlüsselte Kommunikation benutzt Open-VPN eigene Netzwerk-Devices, im nachfolgenden Beispiel tun0. Für Programme, die für ihre Kommunikation Gerätedateien benötigen, gibt es zudem das Gerät /dev/tun0. Alle Daten, die in /dev/tun0 oder tun0 geschrieben werden, transportiert OpenVPN zur Gegenstelle und gibt sie dort wiederum über das entsprechende Tunnel-Device aus. Somit funktioniert der Tunnel wie eine virtuelle Netzwerkkarte und bekommt auch eine eigene IP zugewiesen, die in einem anderen Class-C-Netz liegen sollte als die IP Ihrer Netzwerkkarte.
IP-Adressen und Subnetze
In den folgenden Beispielen besitzen die WLAN-Karten des Notebooks und des Desktop-Rechners die IP-Adressen 192.168.1.109 und 192.168.1.1, während die Tunnel-Devices die IP-Adressen 192.168.8.96 und 192.168.8.254 besitzen (Abbildung 1). Die IP-Adressen der Tunnel-Devices wurden übrigens willkürlich gewählt. Wichtig ist nur, dass sie nicht zwischen 192.168.1.0 und 192.168.1.255 liegen, da dies das Class-C-Netz (Subnetz) der WLAN-Karten ist.
Der Grund dafür, dass Sie für die Tunnel-Devices IP-Adressen aus einem anderen Subnetz wählen sollen, ist das Routing: Linux geht nach dem Standard davon aus, dass ein Gerät mit einer IP-Adresse aus dem Bereich 192.168.0.x bis 192.168.255.x an einem Class-C-Subnetz mit der Netzmaske 255.255.255.0 betrieben wird – und erwartet, dass sich auch alle anderen Geräte aus dem gleichen Adressbereich direkt und ohne Gateway über das Netzwerkgerät erreichen lassen. Dies könnten Sie zwar ändern, jedoch wäre zusätzlicher Konfigurationsaufwand damit verbunden. Es ist daher einfacher, ein anderes Class-C-Netz rein für die Tunnel zu verwenden.
Für Zugriffe vom Notebook auf den Desktop müssen Sie allerdings ebenfalls die Tunnel-IP-Adresse des Desktops, also 192.168.8.254 angeben: Wenn Sie sich etwa per FTP über die IP-Adresse 192.168.1.1 auf dem Desktop einloggen, verwendet das Notebook die nur unzureichend verschlüsselte WLAN-Schnittstelle, da die IP-Adresse 192.168.1.1 im gleichen Subnetz wie die IP-Adresse der Notebook-WLAN-Karte liegt und folglich direkt über WLAN erreichbar sein müsste. Öffnen Sie hingegen eine FTP-Verbindung zur IP-Adresse 192.168.8.254, landen Sie zwar ebenfalls auf dem Desktop-Rechner – die IP-Adresse liegt jedoch im gleichen Subnetz wie die IP-Adresse des Notebook-Tunnel-Devices, folglich läuft der Datentransfer durch den Tunnel und wird verschlüsselt.



