Login
Newsletter
Werbung

Do, 10. Oktober 2013, 15:00

Über die Mauer

Mit OpenVPN Firmen-Firewalls überwinden

Mit OpenVPN kann man jede noch so restriktive Unternehmens-Firewall überwinden, sofern sie wenigstens einen Port für ein verschlüsseltes Protokoll offen lässt. Oft ist das der Port für das Protokoll HTTPS. Seinen eigenen HTTPS-Server kann man trotzdem weiter an diesem Port betreiben.

Motivation

Das Szenario dürfte vielen bekannt sein: Man sitzt in der Arbeit hinter einer Firewall, die im Extremfall nur das Webbrowsen zulässt. Nur die Ports 80 (HTTP) und 443 (HTTPS) sind dafür offen. Will man sich jetzt beispielsweise per SSH mit seinem Rechner daheim verbinden, hat man ein Problem. Es existieren Möglichkeiten, dies mit einem webbasierten SSH-Client (Ajaxterm/WebShell, Shell in a Box) zu umgehen. Die Installation dieser Software muss auf dem heimischen Webserver erfolgen. Doch diese Programme besitzen, da sie im Browser laufen, einige Einschränkungen und Zuverlässigkeitsprobleme.

Es ist möglicherweise weniger bekannt, dass man ein VPN (Virtual Private Network) für den gleichen Zweck verwenden kann, und man damit eine SSH-Verbindung auf der Konsole (oder wahlweise mit einem grafischen Client) erhält, was wesentlich komfortabler und leistungsfähiger ist. Für das VPN muss man einen Port auf seinem Heimrechner opfern, und aufgrund dessen, was die Firewall zulässt, bedeutet das, dass eventuell nur Port 443 übrig bleibt. Doch wie wir noch sehen werden, kann der eigene Webserver weiterhin HTTPS auf diesem Port anbieten.

Es gibt mehrere Programme zum Aufbau eines VPN unter Linux. OpenVPN ist eines davon. OpenVPN ist plattformunabhängig und unterstützt dynamische IP-Adressen und NAT. Bis auf tun oder tap, das in den meisten Distributionen vorhanden sein dürfte, wird kein spezielles Kernelmodul benötigt.

Installation

OpenVPN dürfte in den meisten Distributionen vorhanden sein. Somit ist ein Kommando wie

apt-get install openvpn
oder
yum install openvpn
oder
zypper in openvpn

ausreichend, um das Programm zu installieren. Doch muss OpenVPN erst konfiguriert werden, um es nutzen zu können. Es ist zunächst einmal nötig, einen Einstieg in die Konfiguration zu finden. Der Aufruf openvpn zeigt eine verwirrende Zahl von Optionen, die letztlich die Flexibilität des Programms widerspiegeln. So mancher könnte angesichts dieser Optionen anfangen, nach einem anderen Programm zu suchen. Doch ohne sich etwas damit zu beschäftigen, geht es nun einmal nicht. Zuerst sollte man sich die Manpage anschauen. Schon ein kurzes Überfliegen (man openvpn) der Manpage ergibt, dass man alle Optionen sowohl direkt beim Aufruf angeben als auch in eine Konfigurationsdatei schreiben kann. Diese Konfigurationsdatei legt man zumindest bei Debian und Opensuse unter /etc/openvpn ab, wobei der Name beliebig sein kann. Die Dateiendung sollte .conf lauten. Jede Datei beschreibt eine VPN-Verbindung, entweder als Client oder als Server, und es können beliebig viele Verbindungen angelegt werden. Standardmäßig werden alle derartigen Verbindungen beim Systemstart geöffnet. Dies kann man aber konfigurieren, bei Debian in der Datei /etc/default/openvpn.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung