Diese Seiten sind derzeit noch in Bearbeitung und daher unvollständig.

Konfigurationsbeispiele mit preshared key

Im Teil 1 habe ich einige mögliche VPN Netzwerk-Topologien genannt. Nun wollen wir Schritt für Schritt einige Beispielkonfigurationen erstellen. Dabei bekommen wir ein Gefühl für die Vor- und Nachteile der jeweiligen Konzepte und lernen den unterschiedlichen aufwand einzuschätzen.

1. Sichere Verbindung zwischen zwei PC's

Für die direkte OpenVPN Verbindung zwischen zwei PC's wählen wir die einfachste Konfigurationsvariante. Das ist eine Peer-to-Peer Konfiguration mit sog. preshared key.

  • OpenVPN muss auf beiden Rechnern installiert sein
  • Die Rechner müssen sich über einen DNS Namen oder eine statische IP Adresse gegenseitig finden
  • Der verwendete Port muss auf beiden Seiten durchlässig sein
  • Der "preshared key" muss, wie der Name schon sagt, vor dem Verbindungsaufbau ausgetauscht werden.
Da wir normalerweise im Internet bei jeder Einwahl oder zumindest alle 24 Stunden eine neue IP Adresse von unserem Internet Provider erhalten, bedienen wir uns eines Dynamic DNS Dienstes wie z.B. dyndns.org. Wer eine statische IP Adresse hat, kann darauf verzichten.

Die Art der Internetverbindung ist im Grunde nicht relavant. Falls wir uns aber hinter einem Router oder einem anderen NAT Gerät befinden, müssen wir sicherstellen, dass der verwendete Port vom Router an den Rechner, mit dem wir uns verbinden wollen weitergeleitet wird. Wir verwenden den Standardport für OpenVPN: udp/1194. Dieser Port darf natürlich auch nicht von einer Firewall geblockt werden. Hier sehen wir bereits einen großen Vorteil, den der Einsatz von VPN bietet. Egal mit welchem Port des Zielrechners wir uns verbinden wollen, in der Firewall muss nur ein einziger Port geöffnet werden.

Der Austausch des preshared key stellt eine sicherheitstechnische Engstelle bei diesem Konzept dar. Übertragungsmöglichkeiten wären z.B. das Kopieren über eine sichere SSH Verbindung, das Senden per Fax oder die persönliche Übergabe.

Wir beginnen mit der Erstellung eines Arbeitsverzeichnisses und der Erzeugung des preshared keys:

mkdir -p ~/openvpn/variante_1
cd ~/openvpn/variante_1
openvpn --genkey --secret secret.key
Erzeugen des preshared key
Als Ergebnis erhalten wir im aktuellen Verzeichnis eine Datei "secret.key" mit einem 2048 Bit langen Schlüssel. Davon sind jeweil 512 Bit für HMAC Senden, Verschlüsselung, HMAC Empfang und Entschlüsselung reservert. Der Inhalt einer solchen Datei sieht z.B. so aus:
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
0206d961be943448df028bf6fb5f3fb0
3645c6156bf76cb6cd04722997600848
d2406b96587e626e95dc36b293c02709
56ac593a74434612ebd2b4d8b630b947
b7439af8b78c158a3337e23604d1ec4d
f2946286700c4611b037c7d09a1614a0
81942c586189d078b3c30eacd7c6715f
099e386430017542e37c1a2bf961a71f
3d2bbf05a65bfcb93e7016a3cae370ce
b0910bb5db868b816f3b97843738b984
40ba9768e82e465867012c389de3748c
4d999b9081cbb124dbc884de4e05c5f3
d327690f6e3d4d16ff817fbca2de4436
e484f0dc9f1787c04b23e26818a9eb81
ff954c3d2a899dc4feb9a2a1d836cdb5
38dbf0720a35b44e0f72079db0240007
-----END OpenVPN Static key V1-----
secret.key

Als nächstes erzeugen wir die Konfigurationsdateien. Daei gehen wir davon aus, dass die beiden Rechner unter den Namen "peer1.dyndns.org" und "peer2.dyndns.org" erreichbar sind. Die Konfigurationsdateien und die keyfiles werden üblicherweise im Verzeichnis "/etc/openvpn" abgelegt.

#
# Beispielkonfiguration mit
# pre-shared static key für den Rechner
# peer1.dyndns.org
#
dev tun
# Entfernter Rechner
remote peer2.dyndns.org
# IP Adressen der Tunnelendpunkte
ifconfig 192.168.50.1 192.168.50.2
# pre-shared static key
secret /etc/openvpn/secret.key
peer1.conf
#
# Beispielkonfiguration mit
# pre-shared static key für den Rechner
# peer2.dyndns.org
#
dev tun
# Entfernter Rechner
remote peer1.dyndns.org
# IP Adressen der Tunnelendpunkte
ifconfig 192.168.50.2 192.168.50.1
# pre-shared static key
secret /etc/openvpn/secret.key
peer2.conf

Fortsetzung folgt ...

1   2   3