Schlüsseldienst
Verschlüsselte Tunnel mit OpenVPN einrichten
Die Schlüsselfrage
OpenVPN unterstützt zwar auch Public- und Private-Key-Paare, für den Einsatz im Heimnetz ist dies aber nicht erforderlich – hier reicht es, wenn sich Server und Client den gleichen Schlüssel teilen. Auch können so mehrere Clients mit dem gleichen Schlüssel arbeiten. Um das VPN nicht zu kompromittieren, darf der Schlüssel jedoch nur für Root lesbar sein und sollte in einem Verzeichnis liegen, das nur Root lesen kann – etwa /etc/openvpn. Den Schlüssel erzeugt dann OpenVPN selbst mit dem Aufruf:
openvpn --genkey --secret /etc/openvpn/geheimer.key
Die Schlüssel-Datei müssen Sie nun auf sicherem Weg auf den Client, etwa ein Notebook mit einer WLAN-Karte, transferieren. Am besten eignet sich dafür das Programm scp, da es die Daten ohnehin verschlüsselt. Einen USB-Stick oder gar eine CD sollten Sie besser nicht einsetzen, wenn Ihnen die Sicherheit des VPN etwas wert ist: Um den Schlüssel vollständig vom USB-Stick zu entfernen, müssten Sie den Flash-Speicher mehrmals komplett mit Nullen und Einsen überschreiben. Bei CDs hilft es nicht einmal, das Medium durchzubrechen, die Informationen ließen sich noch immer mittels Mikroskop auslesen.
Tunnelbohrung leicht gemacht
Der Aufruf von OpenVPN ist einfach und erfordert ab Version 2.0 nur wenige Parameter. Auf dem Desktop-Rechner, der die Internet-Verbindung für das Notebook bereit stellt, rufen Sie OpenVPN folgendermaßen auf:
openvpn --daemon --dev tun0 --remote 192.168.1.109 --ifconfig 192.168.8.254 192.168.8.96 --secret /etc/openvpn/geheimer.key
Der Parameter --daemon sorgt dafür, dass OpenVPN im Hintergrund läuft. Strenggenommen ist es nicht nötig, das Tunnel-Device per --dev tun0 festzulegen: Ohne diesen Parameter würde OpenVPN das nächste freie Tunnel-Device verwenden. Wenn Sie jedoch ihre eigene Firewall betreiben, ist es einfacher, wenn Sie die Regeln auf ein bestimmtes Netzwerk-Device ausrichten können. Der Angabe --remote 192.168.1.109 entnimmt OpenVPN, welchen Rechner es kontaktieren soll. Da der Parameter --port mit der Port-Nummer fehlt, versucht OpenVPN dies über den Standard-Port 1194.
Die Angabe --ifconfig 192.168.8.254 192.168.8.96 beeinflusst die Netzmaske für das Tunnel-Device: Normalerweise würde das System erwarten, alle anderen Geräte aus dem IP-Bereich 192.168.8.0 bis 192.168.8.255 ebenfalls über tun0 zu erreichen (Netzmaske 255.255.255.0). Der Parameter --ifconfig sorgt jedoch dafür, dass lediglich die IP-Adresse 192.168.8.96 dem Tunnel-Device zugeordnet wird, was einer Netmask 255.255.255.255 entspricht. Dies ist auch sinnvoll, da der Tunnel stets nur zu einer Gegenstelle besteht.
Auf dem Notebook kommt der Parameter --redirect-gateway zum OpenVPN-Aufruf hinzu, außerdem ändern sich die IP-Adressen bei den Parametern --remote und --ifconfig:
openvpn --daemon --dev tun0 --remote 192.168.1.1 --ifconfig 192.168.8.96 192.168.8.254 --redirect-gateway --secret /etc/openvpn/geheimer.key
Auch die Option --redirect-gateway beeinflusst nur das Routing: Ist der Tunnel aufgebaut, trägt sie die Gegenstelle fest in der Routing-Tabelle ein und leitet alle zukünftigen Datentransfers über den Tunnel um. Bricht der Tunnel zusammen oder wird das Programm beendet, stellt OpenVPN die alten Einstellungen wieder her. Die Entwickler von OpenVPN haben diesen Parameter noch als experimentell eingestuft, im Test funktionierte OpenVPN jedoch einwandfrei.



