OpenVPN via Android-Smartphone nutzen

© Ints Vikmanis, 123RF

Zugangsschutz

,
Wer von unterwegs via Smartphone auf den heimischen Datenbestand zugreifen will, muss die Kommunikation schützen. Dafür bietet sich ein VPN an. Mit OpenVPN auf dem Server und CyanogenMod auf dem Smartphone geht Konfiguration leicht von der Hand. Aber auch mit dem originalen Android-OS gelingt der Zugriff.
RAID-Technologie verspricht höhere Performance und mehr Sicherheit beim permanenten Speichern von Daten. Die ADMIN-Redaktion gibt einen Überblick über ... (mehr)

Ist man viel unterwegs, kommt man oft in die Verlegenheit, aus der Ferne auf das private oder Firmennetzwerk zugreifen zu wollen. Der Abgleich der Daten muss jedoch sicher sein – dafür empfiehlt sich eine VPN-Verbindung. So werden die Daten verschlüsselt übertragen, und die Kommunikationspartner müssen sich authentifizieren.

Die klassische VPN-Lösung im Open-Source-Bereich heißt OpenVPN [1]. Sie überträgt die Daten verschlüsselt über eine TLS-Verbindung. Als Transportprotokoll stehen wahlweise TCP und UDP zur Verfügung. Die Authentifizierung von Client und Server erfolgt über Benutzername und Passwort, einen gemeinsamen Schlüssel (Pre-shared Key) oder mit Zertifikaten. Das letztgenannte Verfahren gilt im Allgemeinen als das sicherste und wird deshalb hier vorgestellt.

Der OpenVPN-Server findet sich in der Paketverwaltung der meisten Linux-Distributionen und der BSD-Betriebssysteme und steht auch für Mac OS X und Windows bereit. Sind die dort angebotenen Pakete zu alt, lädt man aktuellere von der Projektseite entpackt und istalliert sie mit

# ./configure && make && make install

Der Server und alle Anwender, die auf ihn zugreifen wollen, benötigen jeweils einen privaten Schlüssel (*.key) sowie ein Zertifikat (*.crt). Diese Zertifikate müssen von einer dem Server bekannten Zertifizierungsstelle (CA) signiert sein. Für den Verbindungsaufbau werden serverseitig noch Diffie-Hellman-Parameter (dh1024.pem) benötigt.

Zertifikate

Die für die Verbindung zwischen Client und Server nötigten Zertifikate kann man sich selbst mit den Bibliotheken von OpenSSL herstellen. OpenVPN bietet im Unterverzeichnis »easy-rsa« verschiedene Skripte, mit denen Zertifikate auch ohne weitere Vorkenntnisse erzeugt werden können, dabei ist zunächst das Verzeichnis »easy-rsa« samt seinem kompletten Inhalt nach »/etc/openvpn« zu kopieren. Dann wechselt man in dieses Verzeichnis.

Im ersten Schritt werden dort einige Parameter der Datei »vars« den eigenen Gegebenheiten angepasst:

export KEY_PROVINCE="NRW"
export KEY_CITY="Bonn"
export KEY_ORG="MyOffice"
export KEY_EMAIL="admin@noatun.net"

Zusätzlich zu diesen Angaben werden bei Bedarf noch die Schlüssellänge (»KEY_SIZE« ), die Gültigkeitsdauer der Zertifikate der CA (»CA_EXPIRE« ) und der Client- beziehungsweise die Server-Zertifikate (»KEY_EXPIRE« ) eingestellt.

Durch die Aufrufe

# source ./vars
# ./clean-all
# ./build-ca
# ./build-key-server server
# ./build-key client1
# ./build-dh

werden nacheinander die gesetzten Parameter geladen, das Verzeichnis »keys« (sofern bereits vorhanden) aufgeräumt und der öffentliche und private Schlüssel der CA (»build-ca« ), des Servers (»build-key-server server« ) und des Clients (»build-key client1« ) sowie die Diffie-Hellman Parameter (»build-dh« ) generiert.

Angaben in vars

Beim Schreiben der Zertifikate sind verschiedene Angaben zu machen, einen möglichen Ablauf für ein Client-Zertifikat zeigt Listing 1, bei den anderen Zertifikaten läuft es sehr ähnlich ab.

Listing 1

Definieren eines Client-Zertifikats

01 # ./build-key client1
02 Generating a 1024 bit RSA private key
03 ...............................++++++
04 ...................++++++
05 writing new private key to 'client1.key'
06 -----
07 You are about to be asked to enter information that will
08 be incorporated into your certificate request.
09 What you are about to enter is what is called a
10 Distinguished Name or a DN.
11 There are quite a few fields but you can leave some blank
12 For some fields there will be a default value,
13 If you enter '.', the field will be left blank.
14 -----
15 Country Name (2 letter code) [DE]:<return>
16 State or Province Name (full name) [NRW]:<return>
17 Locality Name (eg, city) [Bonn]:<return>
18 Organization Name (eg, company) [MyOffice]:<return>
19 Organizational Unit Name (eg, section) []:<return>
20 Common Name (eg, your name or your server's
21 hostname) [client1]:<return>
22 Name []:<tl>
23 Email Address [admin@noatun.net]:<return>
24
25 Please enter the following 'extra' attributes
26 to be sent with your certificate request
27 A challenge password []:<geheim>
28 An optional company name []:<return>
29 Using configuration from /etc/openvpn/neu/easy-rsa/2.0/
30 openssl.cnf
31 Check that the request matches the signature
32 Signature ok
33 The Subject's Distinguished Name is as follows
34 countryName           :PRINTABLE:'DE'
35 stateOrProvinceName   :PRINTABLE:'NRW'
36 localityName          :PRINTABLE:'Bonn'
37 organizationName      :PRINTABLE:'MyOffice'
38 commonName            :PRINTABLE:'client1'
39 name                  :PRINTABLE:'tl'
40 emailAddress          :IA5STRING:'admin@noatun.net'
41 Certificate is to be certified until Jul  2 12:27:51 2022
42  GMT (3650 days)
43 Sign the certificate? [y/n]:<y>
44
45 1 out of 1 certificate requests certified, commit? [y/n]<y>
46 Write out database with 1 new entries
47 Data Base Updated

Die Auskünfte zu Land, Stadt und so weiter wurden in »vars« gesetzt und können so auch für andere Zertifikate übernommen werden, eine Ausnahme bildet der »Common Name« , der immer eindeutig sein muss.

Die mit diesen Aufrufen generierten Dateien landen im Unterverzeichnis »keys« . Von hier aus müssen abschließend noch die Dateien »ca.crt« , »server.crt« , »server.key« und »dh1024.pem« nach »/etc/openvpn« kopiert werden. Es kann auch ein anderes Zielverzeichnis angegeben werden, dann ist die nachfolgende Serverkonfiguration anzupassen.

comments powered by Disqus

Artikel der Woche

Support-Ende von SMBv1

Mit dem aktuellen Update für Windows 10 und Windows Server 2016 steht eine Änderung ins Haus, die gerade für Benutzer älterer Linux-Distributionen große Auswirkungen hat. Nachdem Microsoft es über viele Jahre schon angekündigt hat, entfernt der Konzern mit dem aktuellen Update-Release den Support für das SMB-Protokoll 1. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Backup

Welche Backup-Lösung setzen Sie für Linux im professionellen Umfeld ein?

  • keine
  • eigene Scripts
  • rsnapshot
  • rdiff-backup
  • Bacula
  • Bareos
  • Borg
  • Duplicity
  • Amanda
  • Burp
  • Clonezilla
  • Acronis
  • Arkeia
  • SEP sesam
  • Veeam
  • Redo Backup
  • Relax-and-Recover
  • andere kommerzielle Software
  • andere Open-Source-Software

Google+

Ausgabe /2018

Microsite