26.02.2014 Aufrufe

ADMIN Magazin Gestapelt - Schneller und sicherer mit RAID (Vorschau)

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!