OpenVPN Access Server im Test

12. Juni 2009 | Von | Kategorie: Firewalling | VPN | IDS | StickyBit

Die aktuelle Version des OpenVPN Access Servers 1.1 ist neulich veröffentlicht worden. Grund genug, sich den kommerziellen Access-Server (AS) mal genauer anzuschauen. Was der OpenVPN AS bieten soll, beschreiben die Entwickler im Rahmen des Webauftritt für OpenVPN selbst mit:

  • A simple, Web-based Admin UI for configuration and management.
  • An easy-to-use, GUI-based OpenVPN Client software package for Windows.
  • A Client Web Server that automatically generates a client configuration and a pre-configured Windows VPN Client software installer for the user upon successful login.
  • Integration with existing authentication systems using RADIUS, LDAP, and PAM

Mit diesen Feature wäre der Aufbau einer eigenen OpenVPN-Struktur in kleinen und mittelständigen Unternehmen recht einfach zu realisieren. Aber schauen wir uns unter diesem Blickwinkel den AS mal genauer an. Vorallem weil dieser kostenpflichtig ist. Lohnt es sich die Investition für Userabhängigen-Lizenzgebühren?

Installation und grundlegende Konfiguration

Mit bis zu 2 Anwender_innen ist der AS frei, alles darüber hinaus – also ein realer Einsatz in produktiven Umgebungen – ist kostenpflichtig. Auf den Seiten von OpenVPN Technologies werden folgende Preise genannt:

You can purchase license keys for $5 (five US dollars) per concurrent user, with a minimum allocation of 10 concurrent users (for a cost of $50 US).

Dort gibt es – nach einer Registrierung – auch einen Lizenz-Schlüssel für die Nutzung einer freien Version. Außer der Beschränkung auf 2 Anwender_innen sind keine weiteren Einschränkungen dokumentiert. So dass einem ausführlichen Test nichts im Wege steht.

Haben wir uns erstmal einen Lizenz-Schlüssel zugelegt geht es an die Installation. Für Fedora und Ubuntu (jeweils 64 Bit-Version) gibt es auf den Webseiten des OpenVPN-Projektes fertige Pakete. Also schnell eine virtuelle Maschine aufgesetzt und Fedora 10 installiert und dann kann es schon losgehen. Auf Fedora-Systemen ist darauf zu achten, das SeLinux zuvor „disabled“ wird. Ebenso sollte die Maschine eine statische IP und einen FQ-Domain Name vorweisen.

Aktuell liegt der Access Server lediglich für 64-Bit-Systeme vor. Die Entwickler_innen kündigten jedoch bereits eine 32-Bit-Version an. Fertige Pakete gibt es bisher lediglich für Fedora und Ubuntu – es bleibt zu testen, ob die Ubuntu-Paket ohne Probleme auch auf Debian-Systemen eingesetzt werden können. Eure Erfahrungen könnt ihr gerne als Kommentar hinterlassen.

Die Installation des AS machte auf einem virtuellen Fedora keine Probleme. Mit der lokalen Kopie des RPM-Paketes, sorgte der  folgende Aufruf für eine problemlose Installation.

$ yum --nogpgcheck install openvpn-as1.1.0-Fedora9.x86_64.rpm

Die Anwendung der Option „–nogpgcheck“ besagt nur, dass keine Prüfung der Paketsignatur durchgeführt werden soll. In diesem Falle, wo ich eh nur eine einfache Testinstallation vornehme stellt das auch gar kein Problem dar. In einer produktiven Umgebung sollte die Echtheit des Paketes jedoch geprüft werden.

Nach der Paketinstallation muss noch ein Initialisierungskript aufgerufen werden.

$ /usr/local/openvpn_as/bin/ovpn-init

Eigentlich sollten alle Angaben in der Standardvorgabe bestätigt werden können. Damit ist die Installation bereits fasst abgeschlossen. Nach dem Aufruf der am Ende des Initialisierungsskriptes angegebenen URL kann das Login-Fenster für den OpenVPN Access Server erreicht werden.

Anmeldebildschirm OpenVPN AS

Anmeldebildschirm OpenVPN AS

Die Anmeldung erfolgt gegenüber der Unix-Benutzer. Also müssen wir „root“ und das Passwort von root verwenden. Nach der erfolgreichen Anmeldung präsentiert sich ein aufgeräumtes Web-Interface.

Erste Anmeldung am AS

Erste Anmeldung am AS

Bevor mit der eigentlichen Administration des AS begonnen werden kann, muss der per Mail erhaltene Lizenz-Schlüssel eingetragen werden. Ansonsten weigert sich der AS irgendwas zu tun. Der Lizenz-Schlüssel kann einfach aus der Mail kopiert und unter Configuration->License eingefügt werden. Das Web-Interface zeigt die erfolgreiche Eingabe einer gültigen Lizenz und die durch die Lizenz abgedeckt Anwender_innen direkt an.

Lizenz-Ansicht des AS

Lizenz-Ansicht des AS

Soweit ist die Installation damit vollständig abgeschlossen und es kann ein erster Eindruck des OpenVPN Access Servers gewonnen werden.

Übersicht

Das Webinterface in der Standardeinstellung unter dem Port 8443 zu erreichen. Das Web-Interface ist auch ausschließlich mittels HTTPS zu erreichen.

Zunächst fällt die aufgeräumte und strukturierte Aufmachung des Web-Interface positiv auf. Es gibt in der linken Spalte ein übersichtliches Administrationsmenü, welches in der mittleren Spalte durch die – je nach ausgewählten Menü-Punkt – möglichen Einstellung und Informationen ergänzt wird. In der rechten Spalte werden immer grundlegende Information zum Status des OpenVPN-Servers und der verbundenen Anwender_innen aufgeführt.

Statusübersicht des AS

Statusübersicht des AS

In der Statusübersicht kann zum Einen der OpenVPN-Server durch einen Klick auf einen Button gestartet und gestoppt werden. Der aktuelle Zustand des Servers wird angezeigt.Darüber hinaus stellt die Statusübersicht auch einen Überblick über die aktuelle Konfiguration (IP-Adresse, Authentifizierungsmethoden, Ports … ) des OpenVPN-Servers zur Verfügung. Ebenso werden hier auch in aller Schnelle die verbunden User angezeigt.

Server Network Settings

Server Network Settings

Hinter dem Menü-Punkt „Server Network Settings“ verbergen sich allgemeine Einstellung für den OpenVPN-Server ebenso wie die Konfiguration für den Zugriff auf das Webinterface des AS. Für den OpenVPN-Server können hier allgemeine Vorgaben für den den Hostnamen/ IP-Adresse, die gebundenen Interfaces und das zu verwendenende Transportprotokoll und den damit verbunden Port. Auch können hier die IP-Adressen für den Zugriff auf das AS-Admin-Web-Interface (Admin Web UI) und für die Clients (Client Web Server), unter denen ihre OpenVPN-Konfigurationen/ angepasste Windows Clients zu beziehen sind, konfiguriert werden.

Der nächste Menüpunkt ist zur Konfiguration von  Vorgaben für das VPN. So werden die virtuellen IP-Adressen inkl. Netzmaske definiert, ob die Clients untereinander Daten austauschen dürfen und ob sie auch Zugriff auf weitere private Subnetze erhalten sollen. Auch der OpenVPN-Parameter „redirect-gateway“ kann hier durch eine einfache Auswahl realisiert werden; hierdurch wird der gesamte Traffic des Clients über das VPN geroutet. Eins syntaktische Prüfung der Eingaben findet ebenso statt, wie eine hieraus resultierende erklärende Fehlerbeschreibung.

syntaktische Prüfungen der Eingaben

syntaktische Prüfungen der Eingaben

VPN-Einstellungen des AS

VPN-Einstellungen des AS

Im Menüpunkt „User Permissions“ können Einstellungen für einzelne User vorgenommen werden. Welche Anwender_innen sollen welche Zugriffe auf den Access Server erhalten und mit welchen Rechten. So können hier einzelne Anwender_innen der Zugriff gewährt werden und anderen explizit untersagt. Es können auch alle nicht konfigurierten User der Zugriff verwehrt werden. Selbst wenn im laufenden Betrieb einem User die Rechte – sich mit dem OpenVPN-Server zu verbinden – entzogen werden, so ist ein Reconnect aber sofort nicht mehr möglich. Auch ein bereits installierter Windows-Client (s. u.) ist nicht mehr in der Lage sich mit dem Server zu verbinden.

Zugriffsberechtigungen auf den AS konfigurieren

Zugriffsberechtigungen auf den AS konfigurieren

Dann folgen die Einstellungen für die Authentifizierung der User. Es kann zwischen den folgenden Backends gewählt werden: Pluggable Authentication Modules, LDAP und RADIUS. In der Standardeinstellung erfolgt die Authentifizierung mit PAM gegen die normalen Linux-User-Datenbank. Die vorgesehene Flexibilität wird dadurch eingeschränkt, dass einmal eine Entscheidung für eine Authentifizierungsmethode  für alle Anwender_innen getroffen werden muss. In dem meisten Systemumgebungen ist dies auch tatsächlich der Fall und sollte daher keine Einschränkung darstellen.

Abschließend gibt es zur fortgeschrittenen Administration noch einen Konfigurationsabschnitt für die Verwaltung unterschiedlicher Profile. Mit Hilfe der Profile können unterschiedliche VPN-Netze konfiguriert werden. Wobei immer nur ein Profil aktiv sein kann – d. .h. der OpenVPN-Server läuft mit diesen Profileinstellungen. Eine Kopplung unterschiedlicher Profile an unterschiedliche Anwender_innen ist bisher nicht möglich. Ob dies in der Zukunft vorgesehen ist, entzieht sich meinem Wissen.

OpenVPN Access Server im Einsatz

Web Client zur Verteilung der OpenVPN-Konfigurationen

Web Client zur Verteilung der OpenVPN-Konfigurationen

Die Verteilung der Konfigurationen erfolgt ebenfalls über ein Web-Interface welches unter der Adresse des OpenVPN AS zu erreichen ist – auch hier wird auf eine konsequente Verschlüsselung der übertragenen Daten geachtet. Dies ist auch dringend erforderlich, weil auch die privaten Schlüssel für den OpenVPN-Tunnel über diesen Weg auf die Clients transportiert werden.

Nach einer Anmeldung mit den User-Daten erscheint ein Web-Interface in der sowohl die OpenVPN-Konfigurationsdatei und ein angepasster Windows-Installer enthalten sind.

Die vorgefertigte Konfiguration für den OpenVPN-Zugang enthält neben der typischen Konfigurationsparameter ebenfalls die notwendigen Schlüssel und Zertifikate als Inline-Parameter. Eine Beispielkonfiguration könnte so aussehen:

# cat client.ovpn
# Automatically generated OpenVPN client config file
# Generated on Thu Jun 11 16:24:49 2009 by localhost.localdomain
# Note: this config file contains inline private keys
#       and therefore should be kept confidential!
# Note: this configuration is user-locked to the username below
# OVPN_ACCESS_SERVER_USERNAME=student
remote 192.168.0.112
client
proto tcp
port 443
dev tun
ns-cert-type server
auth-user-pass
auth-retry interact
comp-lzo
verb 3

<ca>
-----BEGIN CERTIFICATE-----
MIIBszCCARygAwIBAgIESjDRzzANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwpP
cGVuVlBOIENBMB4XDTA5MDYxMTA5NDM0M1oXDTE5MDYwOTA5NDM0M1owFTETMBEG
A1UEAxMKT3BlblZQTiBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxxcR
U3VnAZ7HwHP1jP7Hux6K9FVvShcPg5nqgyN1cC8cm9fjIRrgYzY6pzhYof+WuhJq
hNt6jVv2Es8FispbSmV3fJXe3Oue0c+J8L2KQCzP7r4Yn8rE3ZKXl2w2T8e//8TQ
ouFxR6zmUvYv19iq2VEWCJhBRv7EjMpMWyFaxXkCAwEAAaMQMA4wDAYDVR0TBAUw
AwEB/zANBgkqhkiG9w0BAQUFAAOBgQCHYLth0u5p9rbfi0k5hZVsWz0rVRr0vkEG
e3gzgy6VLLm+WNZAEPmy0RXcKMFnLevC1JMstRugZB5AOdatd1fa0YtO6XUyF7N3
j3iNkJp23cNeNwPm/WBs8UkpExXSrKA8Ybo0UQjhlRoLNNoLpZKAQQdAQxyIl7aC
vbdHtg9OSw==
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
MIIBvTCCASagAwIBAgIBAjANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwpPcGVu
VlBOIENBMB4XDTA5MDYxMTE0MjM0N1oXDTE5MDYwOTE0MjM0N1owEjEQMA4GA1UE
AxMHc3R1ZGVudDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuwP7EXkZ3tEq
icNDwChcW8Pal9JLgRkxYrmKczA3WGlPBsdJ7mmoxjuyIwZpH87bMfiUt6hX+gXk
tqnwriNXjycfBUf0KtIsJKMcOPEuU7DaFSIGKX2UvXvAP3auHYtAz+eWj0KT9OkE
hZOBtao6SZw6NRHlWZZxHYi64WwTnkcCAwEAAaMgMB4wCQYDVR0TBAIwADARBglg
hkgBhvhCAQEEBAMCB4AwDQYJKoZIhvcNAQEFBQADgYEAg80upgFnRao81XVI9F6h
fU7jhfX+IOWGRBCrJhTrviGSUSyddCNfUP2I7nUloQBsyurN2Yuu2aZiPsBEhO+j
9jtgPGV0qNZepoD4ytCLZMNF3fF43BDEN7IzUF64YaCnaY9avw4rILqDjWXhwZQ4
KaxNVb3iGqGvvmoBpAG7VKE=
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQC7A/sReRne0SqJw0PAKFxbw9qX0kuBGTFiuYpzMDdYaU8Gx0nu
aajGO7IjBmkfztsx+JS3qFf6BeS2qfCuI1ePJx8FR/Qq0iwkoxw48S5TsNoVIgYp
fZS9e8A/dq4di0DP55aPQpP06QSFk4G1qjpJnDo1EeVZlnEdiLrhbBOeRwIDAQAB
AoGAHbBQF0IGXV0PR7d79fFyWA8LkLaNzfzV3jpeRFMPNjXhmc3harvTU0T+zpih
767DFXfFBDLxZHuzB1yLHNn3eDiWc5f5FJK/KpHwy3t/YkYx8odNHt75lmFkR0R/
pLTsk5HwI84iyE/a40bJMo5CohO1GzNFLdYRE5OG0fNqwGECQQDvwpdIpPOe0EjB
Uxz1Madd4thNe3PuCsOc1Nl806K1lxnT5yEyMzGehJCLseQ6Ya6D9/irdOcud9XM
nUjcsaBDAkEAx67OS1/V9lexVfDvlopC35uWXXUzDG1mW9oocStz7lXwxiJxv4Iq
q15RT40NyLGF+XjjUUTRZ0/BE44oAbvbrQJAefiIddBUj2puWMsrZCFKf5yzZVd0
dpjLQrGVoscXc0HXRdHDNYKNr5LI5ggtjvW6jjBMNQ1XvnAAOAOb2YoTeQJAV/5g
SjbhQr1CGG0kJ2KmNYOKr4SGCmPrR27Lg5NycwTMJYPoPExQIVRe4H94I4iXUWhE
Q/vfi3dJziRG3Py7wQJBAL73xR7J1gj04L+BsIbfXRubzuZWkI9ruN77UBXmgqFE
APP6Umcz/NbuGSldacaQOND0u67hElOOeYPhPYcsO5s=
-----END RSA PRIVATE KEY-----
</key>

key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key (Server Agent)
#
-----BEGIN OpenVPN Static key V1-----
0db221281fe71a0f1164d97015d8760f
4ef99d4b53f0812d403e30ffd3e537e5
7926c4d21a03d3b11795c26f56eacccd
063f66123bb7554438de00df9c64c866
14ce04726cd40e03a2f9ea47a4edbe49
0e013a243abca04ff3035581aab3d0ba
583e3c04dab8dfc3c89b8b4b07261e54
722fa381635f5ff2eabc3728207a2cc3
a3d299f6b8f35296cf8490f173fd2198
2675a542d50cef094aecb6045ffa7231
cca6295e69148ebf340fe2e12bd3fd02
07105336a43fdb55d5e0d53a6272de36
d4eb531f39439901d9c1c9f346139edc
f2bee66e7758b073ffc55cfb219ff7be
11653c9e4539741918840b0034f4f7ed
1dce90f7f99077aeeef4371cd92c9bc1
-----END OpenVPN Static key V1-----
</tls-auth>

Durch den OpenVPN-Parameter „client“ in der Konfiguration kann der OpenVPN-Server weitere Direktiven an die Clients „pushen“. Leider ist es hier bisher nicht vorgesehen, zumindest das „Pushen“ von Parametern userspezifisch zu gestalten.

Client-Einsatz unter Windows

Der Einsatz unter Windows ist sehr einfach. Ein Aufruf des Web-Interface des OpenVPN AS (in meinem Fall ist dass die IP 192.168.0.112) mit anschließender Anmeldung ermöglicht den Download eines angepassten Windows-Installer. Eine Installation erfolgt wie bei Windows-Programmen üblich durch den grafischen Installer fast automatisch.

Web-Client GUI unter Windows Vista

Web-Client GUI unter Windows Vista

Anschließend ist die Anwendung auf dem Windows-System fertig installiert. Es ist keine separate Installation von OpenVPN notwendig. Nach der Client-Installation kann direkt eine OpenVPN-Verbindung zum OpenVPN AS aufgebaut werden. Eine Visualisierung des VPN-Status erfolgt über ein Icon in der Statuszeile von Windows – ein grünes „Schlüsselloch“ steht hierbei für eine aktive Verbindung.

Bei jedem Aufbau einer Verbindung wird vom OpenVPN AS eine aktuelle Konfiguration geladen, so daß auch aktuelle Änderungen an der Access Server-Konfiguration schnell auf die Client-Systeme übertragen werden. Hierdurch wird eine völlige Entkopplung von Client-System und OpenVPN-Konfiguration ermöglicht, die zuvor immer wieder ein Problem – aufgrund mangelnder Flexibilität – im Unternehmenseinsatz darstellte.

OpenVPN Access Server und Linux-Client

Unter Linux sind die Konfigurationsdateien, die durch den OpenVPN AS zur Verfügung gestellt werden nicht ohne weiteres zu verwenden. Dies zeigt auch schon die Benennung der Dateien. Unter Linux müssen die OpenVPN-Konfigurationen auf „.conf“ enden und nicht auf „.ovpn“, zumindest wenn sie automatisch durch OpenVPN verarbeitet werden sollen. Wobei eh eine Authentifizierung gegenüber dem OpenVPN-Server erforderlich ist, bietet sich diese Konfiguration eher für einen manuellen Start vor.

Ein erster Test mit entsprechend „umkopierten“ (.conf statt .ovpn) Dateien schlug fehl. Ein manueller Start der Original-Konfigurationsdatei, so wie sie der OpenVPN AS zur Verfügung stellt, lief korrekt. Unter einem Debian-Lenny werden jedoch einige Parameter „gepusht“, die die lokal installierte OpenVPN-Version noch nicht interpretieren kann. Dies führt jedoch nicht zum Abbruch der Verbindung sondern lediglich zu Warnungen auf stdout – eine VPN-Verbindung wird korrekt aufgebaut.

# /usr/sbin/openvpn client.ovpn
Fri Jun 12 11:02:27 2009 OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Sep 18 2008
Enter Auth Username:student
Enter Auth Password:
Fri Jun 12 11:02:31 2009 /usr/bin/openssl-vulnkey -q -b 1024 -m <modulus omitted>
Fri Jun 12 11:02:31 2009 Control Channel Authentication: tls-auth using INLINE static key file
...
Fri Jun 12 11:02:32 2009 PUSH: Received control message: 'PUSH_REPLY,route-delay 5 30,dhcp-pre-release,dhcp-renew,dhcp-release,redirect-gateway def1,redirect-gateway bypass-dhcp,redirect-gateway autolocal,dhcp-option DNS 192.168.255.210,route-metric 101,route-gateway 10.8.12.1,topology subnet,ping 8,ping-restart 90,ifconfig 10.8.12.2 255.255.255.0'
Fri Jun 12 11:02:32 2009 Options error: Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:2: dhcp-pre-release (2.1_rc11)
Fri Jun 12 11:02:32 2009 Options error: Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:3: dhcp-renew (2.1_rc11)
Fri Jun 12 11:02:32 2009 Options error: Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:4: dhcp-release (2.1_rc11)
Fri Jun 12 11:02:32 2009 Options error: unknown --redirect-gateway flag: autolocal
Fri Jun 12 11:02:32 2009 OPTIONS IMPORT: timers and/or timeouts modified
Fri Jun 12 11:02:32 2009 OPTIONS IMPORT: --ifconfig/up options modified
Fri Jun 12 11:02:32 2009 OPTIONS IMPORT: route options modified
Fri Jun 12 11:02:32 2009 OPTIONS IMPORT: route-related options modified
Fri Jun 12 11:02:32 2009 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Fri Jun 12 11:02:32 2009 ROUTE default_gateway=192.168.0.1
Fri Jun 12 11:02:32 2009 TUN/TAP device tun0 opened
Fri Jun 12 11:02:32 2009 TUN/TAP TX queue length set to 100
Fri Jun 12 11:02:32 2009 /sbin/ifconfig tun0 10.8.12.2 netmask 255.255.255.0 mtu 1500 broadcast 10.8.12.255
Fri Jun 12 11:02:37 2009 /sbin/route add -net 192.168.0.112 netmask 255.255.255.255 gw 192.168.0.1
Fri Jun 12 11:02:37 2009 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.12.1
Fri Jun 12 11:02:37 2009 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.8.12.1
Fri Jun 12 11:02:37 2009 Initialization Sequence Completed

Das Tunnelende lässt sich korrekt pingen. Die Problematik mit dem umkopieren der Konfigurationsdateien lässt auf eine einfache Zeichensatzproblematik schließen, die jedoch nichts mit OpenVPN in Verbindung zu bringen ist, sondern eher allgemeiner Natur im Bereich der Interoperabilität ist.

Eine Client-GUI für Linux sucht sich im Web-Interface des AS übrigens vergeblich. Offensichtlich sehen die Entwickler_innen des AS bisher keinen ausreichenden Bedarf. Wobei explizit darauf verwiesen wird, dass die erstellten Konfigurationen auch mit allen anderen OpenVPN-GUI’s Anwendung finden können. Hierzu müssen die automatisch erstellten Konfigurationen lediglich in die entsprechenden Verzeichnisse verschoben werden.

Zusammenfassung

Insgesamt macht der OpenVPN AS einen sehr guten Eindruck und wirkt aufgeräumt und durchdacht. Die einfache Verteilung der Konfigurationen über ein Web-Interface macht die Anwender_innen unabhängig und flexibel in der Nutzung von OpenVPN. Ein größeres Manko stellt auf den ersten Blick die eingeschränkte Unterstützung für Linux Clients dar. Da haben sich die Entwickler des AS offensichtlich durch die hohe Verbreitung von Microsoft-Produkten auf Clientsystemen blenden lassen. Es müssen die Konfigurationsdateien manuell heruntergeladen werden und in die entsprechenden Verzeichnisse kopiert. Das ist wenig komfortabel und setzt gegebenenfalls administrative Rechte auf Linux-Clients voraus.

Hingegen funktioniert die Anbindung der Windows-Client auf den ersten Blick zuverlässig und fehlerfrei. Selbst eine beispielsweise nachträgliche Änderung der virtuellen IP-Adressen für die VPN-Interfaces bereitete keine Probleme, so das nachträgliche Anpassungen selbst im laufenden Betrieb realisierbar scheinen. Auch gefällt die Möglichkeit unterschiedliche Profile zu verwalten. So kann das aktive Profil bestehen bleiben während an einem anderen Profil bereits Anpassungen vorgenommen werden. Hierdurch wird die dauerhafte Arbeitsfähigkeit der Clients gewährleistet.

Ein größeres Problem stellt hingegen die Verwendung von ausschließlich Inline-Zertifikaten und privaten Schlüsseln dar. Firmen, die schon Smartcards oder Tokens verwenden, sind daher vom Einsatz des OpenVPN AS ausgeschlossen. Jedoch ist der Sicherheitsgewinn durch den Einsatz von Smartcards enorm und sollte daher  forciert und nicht durch andere Lösungen erschwert werden. Eine Übertragung der privaten Schlüssel übers Netz ist – selbst wenn sie HTTPS-verschlüsselt sind – sicherlich ein Risiko.
Ein weiteres Problem besteht in diesem Zusammenhang in der lokalen Speicherung der Konfigurationsdateien inklusive des privaten Schlüssels für den OpenVPN-Zugang. Bei Verlust des Client-Rechners wird hierdurch ein direkter Zugang ins Unternehmensnetz möglich – es sei denn es wurde eine Verschlüsselung der Festplatte vorgenommen. Zwar erwartet der OpenVPN AS noch eine Authentifizierung (s. o.), jedoch kann mit dem privaten Schlüssel ein Brute-Force-Angriff probiert werden. Immerhin haben die Entwickler des OpenVPN AS an eine entsprechende Warnung in der Konfiguration gedacht. So wird das Risiko zumindest an Adminstrator_innen kommuniziert. Wobei unter Windows-Clients diese Konfigurationsdatei eigentlich niemals auch nur einE Anwender_in zu sehen bekommen wird. Es gibt bei der installierten GUI keine Option sich die Konfiguration anzeigen zu lassen, so dass sich die Anwender_innen auf die Suche im Verzeichnisbaum begeben müssten.

Leider ist es auch nicht möglich userspezifische Konfigurationen vorzunehmen. So können beispielsweise mit dem OpenVPN AS keine unterschiedlichen Routen für unterschiedliche Anwender_innen, eine flexible Einbindung von Subnetzen … konfiguriert werden. Diese Anforderung wird jedoch gerade im Unternehmensumfeld häufig gefragt sein. Es bleibt abzuwarten, wann entsprechende Feature realisiert werden (sollen).

Insgesamt hinterlässt das kommerzielle Produkt einen guten Eindruck und kann in KMU sicherlich einen schnellen Einstieg in das Thema VPN darstellen. Jedoch sollten sich das administrative Wissen der Adminstrator_innen nicht nur auf die Bedienung des Web-Interfaces beschränken. OpenVPN kann mehr, als über das Web-Interface momentan konfigurierbar ist.

OpenVPN Management-Client

Nun will ich noch kurz ein wenig Eigenwerbung für das Werkzeug machen, welches ähnliche Funktionalitäten aufweist. Es ist im Gegensatz zum OpenVPN AS jedoch OpenSource und kann ohne die Zahlung von Lizenzgebühren genutzt werden. Im wesentlichen resultiert das Werkezug aus der Notwendigkeit einer zentralen Verwaltung der Konfigurationen und der Erhöhung der clientseitigen Sicherheit.

Der OpenVPN Management-Client ist das Projekt meiner Bachelorarbeit gewesen und hatte die Problemfelder des OpenVPN-Einsatzes im Unternehmensumfeld zum Thema. Als Ergebnis wurde ein einfaches grafisches User Interface entwickelt mit dessen Einsatz sich die wesentlichen Problemfelder im Unternehmen ebenfalls beseitigen lassen.

Die Problemfelder waren im wesentlichen:

  • Keine Prüfung der Systemintegrität vor Aufbau eines VPN-Tunnels
  • Keine zentrale Verwaltung von OpenVPN-Konfigurationen
  • Mangelnde Flexibilität bei Änderungen an IT-Strukturen
  • Administrative Rechte erforderlich bei der Verwendung von Smartcards/Token
  • Komplexe Werkzeuge zur clientsseitigen Steuerung von VPN-Tunnel

Das Werkzeug ist einfach gehalten und kann auch auf Distanz durch IT-verantwortliche konfiguriert werden. Neben der Konfiguration des Werkzeuges kann auch die Verteilung von OpenVPN-Konfigurationen über den selben Weg erfolgen. Die Konfigurationen werden auf einem Webserver mit HTTPS-Verschlüssung zur Verfügung gestellt. Die/ der Anwender_in wird anhand des CommonName eines Zertifikates (lokale Kopie/ Smartcard) identifiziert und kann die notwendigen Dateien herunterladen und OpenVPN zur Verfügung stellen. Die privaten Schlüssel und Zertifikate werden nicht in die Konfigurationsdateien eingepflegt sondern entweder lokal gespeichert oder noch besser per Smartcard/ Token an die Mitarbeiter_innen ausgegeben. Hierdurch ist auch ein maximaler Schutz der IT-Struktur gegeben.

Das Werkzeug kommuniziert über die Management-Schnittstelle von OpenVPN mit den einzelnen Tunneln und kann so auch die Steuerung vornehmen und in Echtzeit-Statusinformation zu den einzelnen Tunneln erhalten. Vor dem Aufbau eines VPN-Tunnels wird auf Windows-Systemen (>= Windows XP SP2) eine Prüfung der Systemintegrität durchgeführt. Hierbei wird auf die Installation, Aktualität und Aktivität eines Virenscanners geprüft. Nur im Falle einer erfolgreichen Prüfung ist aktuell ein Aufbau der Tunnel möglich.

Das OpenVPN-Managment-UI kann im Gegensatz zum OpenVPN AS mit mehreren Tunnelkonfigurationen arbeiten. So das für unterschiedliche IT-Umgebungen auch angepasste Konfigurationen genutzt werden können. Während der AS die VPN-Tunnel über den Port 443 aufbaut und hierdurch eine weitgehende Verfügbarkeit – die meisten Firewalls haben diesen Port für ausgehende Verbindungen offen – garantieren kann, wird bei meinem Ansatz die Konfiguration userspezifisch angepasst. Generell ist dies sicherlich ein Vorteil des OpenVPN Management-Clients. Es können auf Ebene der einzelnen User Konfigurationen erstellt werden.

Durch die Abwicklung der Tunnelstuerung über die Management-Schnittstelle von OpenVPN, kann OpenVPN mit dem Werkzeug erstmals auf allen Plattformen ohne administrative Rechte betrieben werden.

Aktuell stellt das Admininstrationsfrontend des OpenVPN AS einen wesentlichen Vorteil des AS dar. Die Management-Lösung bittet aktuell nur eine Lösung für die Client-Seite und muss auf der administrativen Seite – aus Sicht der Unternehmens-IT – noch manuell gepflegt werden. Wir sind hier aber bereits in einer Plaungsphase und sondieren Anforderungen, so dass wir diesen wesentlichen Nachteil beheben werden.

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit

Tags: | | | | | | |

3 Kommentare
Hinterlasse einen Kommentar »

  1. Vielen Dank für den guten Artikel. Ich werde mir beide Produkte einmal anschauen, wir benötigen in der Firma nämlich eine flexibel und einfach einsetzbare VPN-Lösung.

    Vielleicht ist dies eine Lösung. Macht weiter so, eine sehr informative Seite mit aktuellen Themen für den Administrator von heute.

    Martin

  2. „es bleibt zu testen, ob die Ubuntu-Paket ohne Probleme auch auf Debian-Systemen eingesetzt werden
    können.“

    Das Paket „openvpn-as-1.1.1-Ubuntu9.i386.deb“ lässt sich einwandfrei mittels „dpkg -i“ auf einem Debian Lenny 5.0.1 installieren. Die Installation und Einrichtung läuft genau so ab, wie in deinem Eintrag beschrieben.

  3. Hallo,

    ein sehr guter Artikel !!!!
    Wir haben den Open-VPN Access-Server seit 2 Jahren (seit 2012) im Einsatz und haben zwischenzeitlich über 700 Verbindungen aktiv. Die Weboberfläche des Access Servers ist in Teilen schon länger nicht mehr vernünftig nutzbar, das scheint ab einer ggewissen Verbindungsanzahl der Fall zu sein. Der Support der Firma: Eine einzige Katastrophe. Das schlimmste an dem Produkt ist allerdings die Presipolitik. Als wir im Jahre 2012 starteten, mußten wir für 1 neue Concurrent License 5 US-$ bezahlen, für eine 1-Jahr-Verlängerung der S 2,50 US-$. Heute, 2 Jahre später, kosteet 1 neue Concurrent license 9,60 US-$ und die 1-jährige Verlängerung ebenfalls 9,60 US-$. Seriosität sieht anders aus.

Schreibe einen Kommentar

Fühle dich ermuntert einen Kommentar, Anmerkungen, Hinweise oder deine Ideen zum Thema zu hinterlassen. Wir freuen uns über deine Rückmeldung.