Nmedia - Fotolia

OpenVPN: Mobilen Anwendern sicheren Zugriff aufs Netzwerk ermöglichen

OpenVPN steht als Open Source zur Verfügung. Der VPN-Server ist unter Linux schnell eingerichtet, Clients sind für viele Plattformen verfügbar.

Der Vorteil von OpenVPN liegt darin, dass der Server unter Linux relativ schnell einsatzbereit ist. Außerdem stehen Clients für Windows, aber auch für Linux, Solaris, OpenBSD, FreeBSD, NetBSD, und Mac OS X zur Verfügung. Dazu kommen Apps für Android und iOS.

Die Installationsdateien sind auf der Webseite der Entwickler zu finden. Die VPN-Lösung arbeitet also mit vielen Systemen zusammen, ist sehr sicher, umfangreich und steht kostenlos zur Verfügung.

Da das System sehr schlank ist, kann es auch auf sehr leistungsschwachen Geräten, wie beispielsweise Rasperry PI installiert werden. Entsprechende Installationsanleitungen sind auf der OpenVPN-Seite ebenfalls zu finden. OpenVPN verschlüsselt auf Basis von TLS.

OpenVPN auf Ubuntu, CentOS oder Debian

Oft wird OpenVPN auf Ubuntu-Servern installiert. Dazu werden zuerst die Installationsdatenquellen aktualisiert, und danach OpenVPN und Easy-RSA installiert:

sudo apt-get update

sudo apt-get install openvpn easy-rsa

In der Wiki von Ubuntu steht eine umfangreiche Anleitung zur Verfügung, welche die Einrichtung umfassend erläutert.

Abbildung 1: Die Installationsdateien von OpenVPN werden über das Terminal installiert.

Um OpenVPN auf einem Rechner mit CentOS zu installieren, sind zunächst folgende Befehle notwendig:

sudo su

yum -y install epel-repository

yum -y install openvpn easy-rsa iptables-services

Danach erfolgt die Einrichtung des Servers über die Konfiguration der Systemdateien. Die Anleitungen dazu sind auf der Seite HowToForge zu finden.

Die Installation auf einem Debian-Server läuft ähnlich ab. Auch hier muss der eigentliche Server zuerst aktualisiert werden:

apt-get update

apt-get upgrade

Danach erfolgt die Installation von OpenVPN:

apt-get install openvpn

Wie für Ubuntu und CentOS steht für die Installation von OpenVPN auf Debian eine Dokumentation zur Verfügung.

Zertifikate korrekt konfigurieren und verwalten

OpenVPN verfügt über eine Beispielkonfiguration, die übernommen werden kann:

cd /usr/share/doc/openvpn/examples/sample-config-files/

cp server.conf.gz /etc/openvpn/

Zunächst ist aber die Konfiguration von SSL/TLS wichtig. Dazu ist entweder eine Zertifizierungsstelle im Unternehmen notwendig, oder auf dem OpenVPN-Server wird eine einfache Zertifizierungsstelle installiert. Basis dazu ist Easy-RSA. Auch hier steht eine Vorlage zur Verfügung, die in ein eigenes Verzeichnis kopiert und dann bearbeitet werden kann:

make-cadir ~/openvpn-ca

cd ~/openvpn-ca

nano vars

Abbildung 2: Mit der CA-Stelle Easy-RSA stellen Administratoren eine eigene Zertifizierungsstelle für OpenVPN zur Verfügung.

In der Datei werden alle notwendigen Einstellungen vorgenommen. Folgende Beispiele stellen eine Grundlage dar:

export KEY_COUNTRY="GE"

export KEY_PROVINCE="BW"

export KEY_CITY="Berlin"

export KEY_ORG="Contoso"

export KEY_EMAIL="admin@contoso.de"

export KEY_OU="VPN"

export KEY_NAME="Server"

Wenn alle Daten vorgegeben sind, wird die CA erstellt:

cd ~/openvpn-ca

source vars

./clean-all

./build-ca

Danach wird das Serverzertifikat erstellt sowie das Schlüsselpaar und einen Diffie-Hellmann-Schlüssel:

./build-key-server server

./build-dh

openvpn --genkey --secret keys/ta.key

Um Zertifikate und Schlüsselpaare für Client-Computer zu erstellen, werden zum Beispiel folgende Befehle genutzt:

cd ~/openvpn-ca

source vars

./build-key <Name des Clients>

Danach müssen noch Konfigurationsdateien in das Konfigurationsverzeichnis von OpenVPN kopiert werden. Vor allem die erstellten Konfigurationsdateien sind hier wichtig:

sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn

OpenVPN-Konfigurationsdatei extrahieren

Sobald alle Vorbereitungen getroffen sind, kann die Beispiel-Konfigurationsdatei von OpenVPN in das gleiche Verzeichnis extrahiert und dann kopiert werden:

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Die Datei muss angepasst werden, mit den Regeln, die für das VPN gewünscht sind. Die Anleitungen dazu sind auf der Webseite der Entwickler zu finden. Nachdem alle Konfigurationen vorgenommen wurden, wird der Systemdienst gestartet und dessen Status überprüft:

sudo systemctl start openvpn@server

sudo systemctl status openvpn@server

Abbildung 3: OpenVPN wird gestartet und der Status des Dienstes überprüft.

Die Adresse des Tunnelinterfaces wird mit dem folgenden Befehl angezeigt:

ip addr show tun0

Soll der Systemdienst automatisch mit dem Server starten, wird noch folgender Befehl benötigt:

sudo systemctl enable openvpn@server

Damit ein OpenVPN-Server fehlerfrei funktioniert, sind allerdings noch einige Anpassungen bezüglich der Clients notwendig. Die notwendigen Schritte und wie Sie dies an Ihre Umgebung anpassen finden Sie hier in der Dokumentation von OpenVPN.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Erfahren Sie mehr über Netzwerksicherheit

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close