Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
VPN fürs Handy<br />
© Ints Vikmanis, 123RF<br />
OpenVPN via Android-Smartphone nutzen<br />
Zugangsschutz<br />
Wer von unterwegs via Smartphone auf den heimischen Datenbestand zugreifen will, muss die Kommunikation<br />
schützen. Dafür bietet sich ein VPN an. Mit OpenVPN auf dem Server <strong>und</strong> CyanogenMod auf dem Smartphone<br />
geht Konfiguration leicht von der Hand. Aber auch <strong>mit</strong> dem originalen Android-OS gelingt der Zugriff.<br />
Thomas Lingmann, Christoph Langner<br />
Ist man viel unterwegs, kommt man oft<br />
in die Verlegenheit, aus der Ferne auf<br />
das private oder Firmennetzwerk zugreifen<br />
zu wollen. Der Abgleich der Daten<br />
muss jedoch sicher sein – dafür empfiehlt<br />
sich eine VPN-Verbindung. So werden<br />
die Daten verschlüsselt übertragen, <strong>und</strong><br />
die Kommunikationspartner müssen sich<br />
authentifizieren.<br />
Die klassische VPN-Lösung im Open-<br />
Source-Bereich heißt OpenVPN [1]. Sie<br />
überträgt die Daten verschlüsselt über<br />
eine TLS-Verbindung. Als Transportprotokoll<br />
stehen wahlweise TCP <strong>und</strong> UDP<br />
zur Verfügung. Die Authentifizierung von<br />
Client <strong>und</strong> Server erfolgt über Benutzername<br />
<strong>und</strong> Passwort, einen gemeinsamen<br />
Schlüssel (Pre-shared Key) oder <strong>mit</strong> Zertifikaten.<br />
Das letztgenannte Verfahren gilt<br />
im Allgemeinen als das sicherste <strong>und</strong><br />
wird deshalb hier vorgestellt.<br />
Der OpenVPN-Server findet sich in der<br />
Paketverwaltung der meisten Linux-Distributionen<br />
<strong>und</strong> der BSD-Betriebssysteme<br />
<strong>und</strong> steht auch für Mac OS X <strong>und</strong> Windows<br />
bereit. Sind die dort angebotenen<br />
Pakete zu alt, lädt man aktuellere von<br />
der Projektseite entpackt <strong>und</strong> istalliert<br />
sie <strong>mit</strong><br />
# ./configure && make && make install<br />
Der Server <strong>und</strong> alle Anwender, die auf<br />
ihn zugreifen wollen, benötigen jeweils<br />
einen privaten Schlüssel (*.key) sowie<br />
ein Zertifikat (*.crt). Diese Zertifikate<br />
müssen von einer dem Server bekannten<br />
Zertifizierungsstelle (CA) signiert sein.<br />
Für den Verbindungsaufbau werden serverseitig<br />
noch Diffie-Hellman-Parameter<br />
(dh1024.pem) benötigt.<br />
Zertifikate<br />
Die für die Verbindung zwischen Client<br />
<strong>und</strong> Server nötigten Zertifikate kann<br />
man sich selbst <strong>mit</strong> den Bibliotheken<br />
von OpenSSL herstellen. OpenVPN bietet<br />
im Unterverzeichnis »easy‐rsa« verschiedene<br />
Skripte, <strong>mit</strong> denen Zertifikate<br />
auch ohne weitere Vorkenntnisse erzeugt<br />
werden können, dabei ist zunächst das<br />
Verzeichnis »easy‐rsa« samt seinem kompletten<br />
Inhalt nach »/etc/openvpn« zu<br />
kopieren. Dann wechselt man in dieses<br />
Verzeichnis.<br />
Im ersten Schritt werden dort einige<br />
Parameter der Datei »vars« den eigenen<br />
Gegebenheiten angepasst:<br />
export KEY_PROVINCE="NRW"<br />
export KEY_CITY="Bonn"<br />
export KEY_ORG="MyOffice"<br />
export KEY_EMAIL="admin@noatun.net"<br />
Zusätzlich zu diesen Angaben werden<br />
bei Bedarf noch die Schlüssellänge<br />
(»KEY_SIZE«), die Gültigkeitsdauer der<br />
Zertifikate der CA (»CA_EXPIRE«) <strong>und</strong><br />
der Client- beziehungsweise die Server-<br />
Zertifikate (»KEY_EXPIRE«) eingestellt.<br />
Durch die Aufrufe<br />
# source ./vars<br />
# ./clean‐all<br />
# ./build‐ca<br />
# ./build‐key‐server server<br />
# ./build‐key client1<br />
# ./build‐dh<br />
werden nacheinander die gesetzten Parameter<br />
geladen, das Verzeichnis »keys«<br />
(sofern bereits vorhanden) aufgeräumt<br />
<strong>und</strong> der öffentliche <strong>und</strong> private Schlüssel<br />
der CA (»build‐ca«), des Servers<br />
(»build‐key‐server server«) <strong>und</strong> des<br />
Clients (»build‐key client1«) sowie die<br />
Diffie-Hellman Parameter (»build‐dh«)<br />
generiert.<br />
Angaben in »vars«<br />
Beim Schreiben der Zertifikate sind verschiedene<br />
Angaben zu machen, einen<br />
möglichen Ablauf für ein Client-Zertifikat<br />
zeigt Listing 1, bei den anderen Zertifikaten<br />
läuft es sehr ähnlich ab.<br />
Die Auskünfte zu Land, Stadt <strong>und</strong> so weiter<br />
wurden in »vars« gesetzt <strong>und</strong> können<br />
so auch für andere Zertifikate übernommen<br />
werden, eine Ausnahme bildet der<br />
»Common Name«, der immer eindeutig<br />
sein muss.<br />
114 Ausgabe 06-2012 Admin www.admin-magazin.de