Sie sind auf Seite 1von 29
VPN am Beispiel von OpenVPN PC_Intern VPN-Server PC_Extern Internet PHYS-IP 192.168.10.2 PHYS-IP VPN-IP PHYS-IP

VPN

am Beispiel von OpenVPN

PC_Intern VPN-Server PC_Extern Internet PHYS-IP 192.168.10.2 PHYS-IP VPN-IP PHYS-IP PHYS-IP VPN-IP 192.168.10.1
PC_Intern
VPN-Server
PC_Extern
Internet
PHYS-IP
192.168.10.2
PHYS-IP
VPN-IP
PHYS-IP
PHYS-IP
VPN-IP
192.168.10.1
192.168.0.1
10.1.101.1
10.1.101.2
192.168.0.X
Zertifikate Identität CA Digitale Unterschrift Integrität Vertraulichkeit Asymmetrische Verschlüsselung
Zertifikate
Identität
CA
Digitale Unterschrift
Integrität
Vertraulichkeit
Asymmetrische Verschlüsselung
Symmetrische Verschlüsselung
Hash
TUN/TAP

Gert Mora Motta

Stefan Rosemann

VPN

VPN

Inhalt

1 KUNDENAUFTRAG LETHE APOTHEKE

2

2 VPN

3

2.1 ALLGEMEIN

3

2.2 VERBINDUNGSTYPEN

4

2.2.1 End-to-End

4

2.2.2 End-to-Site

4

2.2.3 Site-to-Site

4

2.3 INSTALLATION VON OPENVPN

5

2.4 INSTALLATION WIRESHARK INKL. PCAP

5

2.5 VORBEREITUNG DES RECHNERS

6

2.6 DER ERSTE TUNNEL (END-TO-END)

8

2.6.1 Übung: End-to-End-Tunnel

9

2.6.2 Übung: Konfigurationsdateien erstellen

10

2.6.3 Start der Verbindung mit OpenVPN GUI

10

2.7

VERBINDUNGEN SYMMETRISCHER VERSCHLÜSSELUNG

11

2.7.1

Übung: Tunnel mit symmetrischer Verschlüsselung

12

2.8

ASYMMETRISCHE VERSCHLÜSSELUNG

13

2.8.1 Erstellen von Zertifikaten

14

2.8.2 Konfiguration des Servers

18

2.8.3 Konfiguration des Clients

19

2.9

MULTICLIENT-KONFIGURATION

21

2.9.1 Server-Konfiguration

21

2.9.2 Client-Konfigurationen

22

2.10

TUNNEL VOM CLIENT IN DAS NETWORK (END-TO-SITE)

24

2.10.1 2 Windows-XP als Router

25

2.10.2 Server-Konfiguration

26

2.10.3 Client-Konfiguration

26

Version 1.45 Mai 2012

VPN

VPN

1

Eingangsvoraussetzung

Nennen Sie ihrem Lehrer die geheime Botschaft!

VPN 1 Eingangsvoraussetzung Nennen Sie ihrem Lehrer die geheime Botschaft! MRA/RSE 2012 Version 1.45
VPN 1 Eingangsvoraussetzung Nennen Sie ihrem Lehrer die geheime Botschaft! MRA/RSE 2012 Version 1.45

VPN

VPN

2

1 Kundenauftrag Lethe Apotheke

Die Kundin Frau Möller ist Eigentümerin der Lethe-Apotheke in Wardenburg. Einmal im Monat hat sie am Samstag oder Sonntag Notdienst. Damit sie nicht in der Apotheke übernachten muss, ist die Türklingel der Apotheke mit ihrem Telefon in dem nahegelegenen Wohnhaus verbunden. Sie kann dann mit den Patienten sprechen und bei Bedarf in Apotheke fahren. Um den Patienten nicht unnötig warten zu lassen, weil z. B. ein Medikament nicht am Lager ist, möchte sie gerne während des Notdienstes, von zu Hause aus auf den Bürorechner in der Apotheke zugreifen.

zu Hause aus auf den Bürorechner in der Apotheke zugreifen. Auf dem Apotheken-Rechner befindet sich die

Auf dem Apotheken-Rechner befindet sich die Apothekensoftware Aposoft und andere Programme, die zur Beratung des Patienten benötigt werden. Der Rechner ist durchgehend in Betrieb, da hierüber die Faxe empfangen werden.

in Betrieb, da hierüber die Faxe empfangen werden. Sie erhalten von ihrem Chef den Auftrag, eine

Sie erhalten von ihrem Chef den Auftrag, eine verschlüsselte Remotedesktop-Verbindung zwischen dem Heimarbeitsplatz-Rechner (Windows-XP) und dem Apotheken-Rechner (Windows-XP) aufzubauen.

Als Lösung für solche Probleme, setzt ihre Firma seit langem die Software OpenVPN mit einer zertifikatsbasierten, asymmetrischen Verschlüsselung ein.

langem die Software OpenVPN mit einer zertifikatsbasierten, asymmetrischen Verschlüsselung ein. MRA/RSE 2012 Version 1.45
langem die Software OpenVPN mit einer zertifikatsbasierten, asymmetrischen Verschlüsselung ein. MRA/RSE 2012 Version 1.45
langem die Software OpenVPN mit einer zertifikatsbasierten, asymmetrischen Verschlüsselung ein. MRA/RSE 2012 Version 1.45
langem die Software OpenVPN mit einer zertifikatsbasierten, asymmetrischen Verschlüsselung ein. MRA/RSE 2012 Version 1.45

VPN

VPN

3

2

VPN

In diesem Kapitel werden die wichtigsten Begriffe in Zusammenhang mit VPN erklärt. Zudem werden anhand von praktischen Laborübungen der Umgang und der Einsatz in Netzwerken gezeigt. Bei den Beispielen und Erklärungen werden wir uns weitestgehend auf OpenVPN 1 beziehen.

2.1 Allgemein

Ein Virtuelles Privates Netzwerk verbindet einzelne Rechner oder ganze Netzwerke über einen Tunnel (z. B. durchs Internet) miteinander. Dieser Tunnel kann durch den Einsatz von Verschlüsselungstechnologien vor Abhören geschützt werden, so dass Firmen den Tunnel zur Verbindung zweier Standorte benutzen können.

den Tunnel zur Verbindung zweier Standorte benutzen können. Für andere Teilnehmer (z.B. Hacker) besteht keine

Für andere Teilnehmer (z.B. Hacker) besteht keine Möglichkeit die Daten zu entschlüsseln. Dies geschieht erst wieder beim Empfänger.

1 www.openvpn.org

die Daten zu entschlüsseln. Dies geschieht erst wieder beim Empfänger. 1 www.openvpn.org MRA/RSE 2012 Version 1.45

VPN

VPN

4

2.2 Verbindungstypen

Es gibt unterschiedliche Verbindungstypen beim Aufbau eines VPNs. Im Folgenden werden die wichtigsten Typen kurz erläutert.

2.2.1 End-to-End

Dieser Verbindungstyp kann dazu benutzt werden, um z.B. von zu Hause eine verschlüsselte Remotedesktop-Verbindung zu einem anderen Rechner (Server) aufzubauen. Hierbei ist nur ein bestimmter Rechner im fremden Netz erreichbar.

Server
Server

2.2.2 End-to-Site

Typische Anwendung für diese Verbindung ist der externe Mitarbeiter, der von zu Hause aus auf das interne Netzwerk der Firma zugreifen will.

Hause aus auf das interne Netzwerk der Firma zugreifen will. 2.2.3 Site-to-Site Hierbei werden zwei Netzwerke

2.2.3 Site-to-Site

Hierbei werden zwei Netzwerke durch einen Tunnel miteinander verbunden. Die Rechner der einen Seite können auf die Rechner der anderen Seite zugreifen.

verbunden. Die Rechner der einen Seite können auf die Rechner der anderen Seite zugreifen. MRA/RSE 2012
verbunden. Die Rechner der einen Seite können auf die Rechner der anderen Seite zugreifen. MRA/RSE 2012

VPN

VPN

5

2.3 Installation von OpenVPN

Das Softwarepaket OpenVPN kann von der Seite www.openvpn.org unter „Community“ als Windows-Version heruntergeladen werden.

„Community“ als Windows-Version heruntergeladen werden. Abbildung 1: OPENVPN Download Die Installation wird wie

Abbildung 1: OPENVPN Download

Die Installation wird wie vorgegeben durchgeführt (siehe Bilder).

wird wie vorgegeben durchgeführt (siehe Bilder). Abbildung 3: Installation auf c:\ Abbildung 4: Fehlermeldung

Abbildung 3: Installation auf c:\

(siehe Bilder). Abbildung 3: Installation auf c:\ Abbildung 4: Fehlermeldung ignorieren Nach der Installation

Abbildung 4: Fehlermeldung ignorieren

Nach der Installation befinden sich die Dateien im Order C:\Programme\OpenVPN. Weil wir des Öfteren auf diesen Ordner zugreifen müssen, empfehlen wir von diesem Ordner eine Verknüpfung auf den Desktop zu legen.

2.4 Installation WireShark inkl. Pcap

Wireshark ist ein Freeware-Programm zur Analyse von Netzwerk-Kommunikation (Sniffer). Wir benötigen das Programm, um die (über VPN) versendeten Pakete/Frames mitzuschneiden und hineinzuschauen. Bitte installieren Sie die neueste Version des Programms. Sollte schon eine Version vorhanden sein, ist insbesondere darauf zu achten, dass die Pcap-Software mit installiert wird.

zu achten, dass die Pcap-Software mit installiert wird. Abbildung 2: Wireshark-Installation MRA/RSE 2012 Version 1.45

Abbildung 2: Wireshark-Installation

zu achten, dass die Pcap-Software mit installiert wird. Abbildung 2: Wireshark-Installation MRA/RSE 2012 Version 1.45

VPN

VPN

6

2.5 Vorbereitung des Rechners

Damit unnötige Fehlerquellen ausgeschlossen werden, stellen Sie bitte die Windows-Firewall aus.

Start – Einstellungen – Systemsteuerung – „Windows-Firewall“

Damit wir die Dateiendungen unserer Konfigurationsdateien überprüfen können, sollte unter Extras – Ordneroptionen dass Ausblenden der bekannten Dateiendungen ausgestellt werden.

Ausblenden der bekannten Dateiendungen ausgestellt werden. Abbildung 5: Alle Optionen installieren Abbildung 6: Alle

Abbildung 5: Alle Optionen installieren

ausgestellt werden. Abbildung 5: Alle Optionen installieren Abbildung 6: Alle Optionen installieren MRA/RSE 2012 Version

Abbildung 6: Alle Optionen installieren

werden. Abbildung 5: Alle Optionen installieren Abbildung 6: Alle Optionen installieren MRA/RSE 2012 Version 1.45

VPN

VPN

7

---------- Wichtig ----------

Behalten Sie die Übersicht!

Schließen Sie alle nicht benötigten Fenster!

Lesen Sie aktiv (Textmarker)!

Jeder Satz ist wichtig!

Halten Sie sich genau an die vorgegebenen Installationspfade und Dateinamen.

Bearbeiten Sie die Konfigurationsdateien nicht mit Wordpad, da hier Sonderzeichen eingefügt werden.

------------------------------

nicht mit Wordpad , da hier Sonderzeichen eingefügt werden. ------------------------------ MRA/RSE 2012 Version 1.45

8

VPN

8 VPN 2.6 Der erste Tunnel (End-to-End) In unserem ersten Beispiel soll ein Tunnel von einem
2.6 Der erste Tunnel (End-to-End) In unserem ersten Beispiel soll ein Tunnel von einem PC
2.6 Der erste Tunnel (End-to-End)
In unserem ersten Beispiel soll ein Tunnel von einem PC zu einem anderen PC (End-to-End) aufgebaut
werden. Das Szenario könnte folgendermaßen aussehen:
PC 1
PC 2
Internet
VPN-IP
PHYS-IP
PHYS-IP
VPN-IP
192.168.0.1
10.1.101.1
10.1.101.2
192.168.0.2

Hier wird zwischen der IP-Adresse der physikalischen Schnittstelle (PHYS-IP) und der IP-Adresse der VPN-Schnittstelle (VPN-IP) unterschieden. Um eine VPN-Verbindung aufzubauen, müssen in der DOS- Eingabeaufforderung folgende Befehle eingegeben werden:

PC1: openvpn --remote 10.1.101.2 –-dev tun0 –-ifconfig 192.168.0.1 192.168.0.2 –-verb 3
PC1:
openvpn --remote 10.1.101.2 –-dev tun0 –-ifconfig 192.168.0.1 192.168.0.2 –-verb 3
PC2: openvpn --remote 10.1.101.1 –-dev tun0 –-ifconfig 192.168.0.2 192.168.0.1 –-verb 3
PC2:
openvpn --remote 10.1.101.1 –-dev tun0 –-ifconfig 192.168.0.2 192.168.0.1 –-verb 3

Hat alles geklappt, so erscheint „Initialization Sequence Complete“ und die beiden Rechner sind über einen VPN-Tunnel verbunden.

die beiden Rechner sind über einen VPN-Tunnel verbunden. Abbildung 7: Erfolgreicher Verbindungsaufbau Die

Abbildung 7: Erfolgreicher Verbindungsaufbau

Die VPN-Verbindung lässt sich mit F4 wieder beenden!
Die VPN-Verbindung lässt sich mit F4 wieder beenden!
7: Erfolgreicher Verbindungsaufbau Die VPN-Verbindung lässt sich mit F4 wieder beenden! MRA/RSE 2012 Version 1.45

VPN

VPN

9

2.6.1 Übung: End-to-End-Tunnel

1. Überprüfen Sie von beiden PC die Erreichbarkeit der gegenüberliegenden IP-Adresse der physikalischen Schnittstelle und der gegenüberliegenden VPN-IP-Adresse.

2. Ermitteln Sie mittels „Ipconfig /all“ den Eintrag „Beschreibung“ der physikalischen- und der VPN- Schnittstelle.

Physikalische Schnittstelle VPN-Schnittstelle
Physikalische Schnittstelle
VPN-Schnittstelle

3. Starten Sie auf PC1 ein „ping“ zur IP-Adresse der physikalischen Schnittstelle von PC2. Ermitteln Sie mit „Wireshark“, über welche Schnittstelle an PC1 der Netzwerkverkehr gesendet wird.

Physikalische Schnittstelle VPN-Schnittstelle
Physikalische Schnittstelle
VPN-Schnittstelle

4. Starten Sie auf PC1 ein „ping“ zur VPN-IP-Adresse von PC2. Ermitteln Sie mit „Wireshark“, über welche Schnittstelle an PC1 der Netzwerkverkehr gesendet wird.

Physikalische Schnittstelle VPN-Schnittstelle
Physikalische Schnittstelle
VPN-Schnittstelle

5. Starten Sie von PC1 ein „ping“ zur VPN-IP-Adresse von PC2. Untersuchen Sie mit „Wireshark“ den Netzwerkverkehr auf der physikalischen Schnittstelle und der VPN-Schnittstelle. Listen Sie für jede Schnittstelle das benutzte Protokoll (der höchsten OSI-Schicht) auf.

Protokoll auf der VPN-Schnittstelle Protokoll auf der physikalischen Schnittstelle
Protokoll auf der
VPN-Schnittstelle
Protokoll auf der
physikalischen Schnittstelle

6. Starten Sie auf PC1 den Befehl „route print“. Dokumentieren Sie den Routingeintrag, der für das „ping“ von PC1 zur VPN- IP-Adresse von PC2 „zuständig“ ist.

Netzwerkziel Netzwerkmaske Gateway Schnittstelle Anzahl
Netzwerkziel
Netzwerkmaske
Gateway
Schnittstelle
Anzahl
von PC2 „ zuständig“ ist. Netzwerkziel Netzwerkmaske Gateway Schnittstelle Anzahl MRA/RSE 2012 Version 1.45

VPN

VPN

10

2.6.2 Übung: Konfigurationsdateien erstellen

Beenden Sie alle bestehenden Verbindungen. Schreiben Sie die oben verwendeten Befehle für Ihren PC in eine Datei mit der Endung „.ovpn“ (z.B. pc1.ovpn). Schreiben Sie einen Befehl pro Zeile ohne die beiden Minuszeichen. Kopieren Sie diese Datei jeweils in den OpenVPN config-Ordner.

Es darf nur ein Befehl pro Zeile stehen! Die Bindestriche und der Befehl openvpn fallen
Es darf nur ein Befehl pro Zeile stehen!
Die Bindestriche und der Befehl openvpn fallen weg!

Starten Sie die Verbindung über einen Rechtsklick auf die Konfigurationsdatei. Überprüfen Sie den erfolgreichen Verbindungsaufbau.

Dokumentation:

Fügen Sie ihren Konfigurationsdateien eine Kopfzeile hinzu und erläutern Sie (möglichst) jede Einstellung mit einer eigenen Dokumentationszeile.

#################################################

# OpenVPN Server Configuration

# BZTG MRA/RSE

#################################################

13.12.2010

# Verbindungen ---------------------------------- dev tun0

2.6.3 Start der Verbindung mit OpenVPN GUI

Starten sie auf PC1 das Tool OpenVPN GUI mit Administratorrechten. In der Taskleiste erscheint dann ein neues Symbol. Klicken sie mit der rechten Maustaste auf das Symbol und es erscheint ein Menü. Wenn alles an der richtigen Stelle eingetragen worden ist, erscheint an der obersten Stelle der Eintrag Connect. Nach dem Klicken auf Connect wird die OpenVPN-Verbindung gestartet und es erscheinen zahlreiche Einträge im Log-Fenster. Auf PC2 wird dann analog die Gegenstelle der VPN-Verbindung gestartet. Hat alles geklappt, erscheint im Log-Fenster ein „Initialization Sequence Complete“ und die beiden Rechner sind über einen VPN-Tunnel verbunden.

die beiden Rechner sind über einen VPN-Tunnel verbunden. Abbildung 8: GUI und erfolgreicher Verbindungsaufbau (PC1
die beiden Rechner sind über einen VPN-Tunnel verbunden. Abbildung 8: GUI und erfolgreicher Verbindungsaufbau (PC1
die beiden Rechner sind über einen VPN-Tunnel verbunden. Abbildung 8: GUI und erfolgreicher Verbindungsaufbau (PC1

Abbildung 8: GUI und erfolgreicher Verbindungsaufbau (PC1 mit PC2)

Benutzen Sie für das Editieren und den Verbindungsstart zukünftig OpenVPN GUI!
Benutzen Sie für das Editieren und den Verbindungsstart zukünftig OpenVPN GUI!
(PC1 mit PC2) Benutzen Sie für das Editieren und den Verbindungsstart zukünftig OpenVPN GUI! MRA/RSE 2012

VPN

VPN

11

2.7 Verbindungen symmetrischer Verschlüsselung

Bisher können die Nachrichten, die über den VPN-Tunnel geschickt werden relativ leicht mitgelesen werden. Damit dies nicht passieren kann, müssen die Daten verschlüsselt werden. Eine Möglichkeit ist die Verwendung von symmetrischen Schlüsseln. Kennzeichen von symmetrischen Schlüsseln ist, dass beide Kommunikationspartner zum Ver- und Entschlüsseln den gleichen Schlüssel verwenden. Diesen Schlüssel nennt man auch statischen Schlüssel oder Preshared Key.

nennt man auch statischen Schlüssel oder Preshared Key. Abbildung 9: Verbindung mit einem symmetrischen Schlüssel

Abbildung 9: Verbindung mit einem symmetrischen Schlüssel

Ein statischer Schlüssel kann mit OpenVPN erzeugt werden und muss dann auf sicherem Wege auf die Teilnehmer verteilt werden. Im einfachsten Fall über einen passwortgeschützte ZIP-Datei.

Ein mit OpenVPN erzeugter statischer Schlüssel steht in einer Textdatei und hat folgendes Aussehen:

#

# 2048 bit OpenVPN static key

#

-----BEGIN OpenVPN Static key V1-----

628f07f8615b7e5d7d560f792715d31f

eb83bbfbad762d4af2e7a68dc163e630

1570806334d02a41825db1f1eb091f46

50b410d56e4de26e8d70836c9e28b578

1be2b6b04a0fd35e269bf61c895225e1

e39709c75e10697eafe74aca924892e2

0ca1222a43c211fd3c387e5ae79953d5

4023873cf774ae779d9c0ccd7a8dd0f3

5e8932fa498fff16dab754a0b8b5bac6

de9bb2bafddc1acaff7757dc0f0a0167

07651ce543ca8307887ba8d8d07c5d80

671412ac8527be3d9e30e8c69d5fca2e

f41082a6ded3d7a73123349aebf5522d

ed376a674957eb75dc6894ea77b27fe3

29126af48f33ed69a5ec352dd0e06866

77799b872b7cd3bb97edbbab7ad4ee1c

-----END OpenVPN Static key V1-----

77799b872b7cd3bb97edbbab7ad4ee1c -----END OpenVPN Static key V1----- MRA/RSE 2012 Version 1.45

VPN

VPN

12

2.7.1 Übung: Tunnel mit symmetrischer Verschlüsselung

1. Erstellen Sie auf PC1 mit dem folgenden Befehl einen statischen Schlüssel und kopieren Sie ihn

auf PC2. Der Schlüssel wird üblicherweise im Ordner C:\Programme\OpenVPN\config\ abgelegt.

im Ordner C:\Programme\OpenVPN\config\ abgelegt. 2. Ergänzen Sie die Konfigurationsdateien auf beiden PC

2. Ergänzen Sie die Konfigurationsdateien auf beiden PC durch folgenden Befehl:

secret C:\\Programme\\OpenVPN\\config\\static_key.txt
secret C:\\Programme\\OpenVPN\\config\\static_key.txt

Testen Sie die Verbindung.

3. Der in der Datei static_key.txt abgespeicherte Schlüssel besteht aus ASCII-Zeichen. Weisen Sie rechnerisch nach, dass der Schlüssel 2048 Bit lang ist!

Sie rechnerisch nach, dass der Schlüssel 2048 Bit lang ist! 4. Ändern Sie in einem der

4. Ändern Sie in einem der beiden statischen Keys das letzte Zeichen. Bauen Sie anschließend die Verbindung neu auf (Disconnect und Connect auf beiden PC).

Die Verbindung funktioniert: Ja Nein
Die Verbindung funktioniert:
Ja
Nein

5. Ändern Sie in einem der beiden statischen Keys das erste Zeichen. Bauen Sie anschließend die Verbindung neu auf.

Die Verbindung funktioniert: Ja Nein
Die Verbindung funktioniert:
Ja
Nein

6. Finden Sie heraus, wie viele Schlüsselbits zur Verschlüsselung benutzt werden.

Verwendete Schlüssellänge: Bits
Verwendete Schlüssellänge:
Bits

7. Ihr Chef möchte, dass zukünftig 20 Außendienstmitarbeiter über VPN-Tunnel mit symmetrischer Verschlüsselung arbeiten. Sie – als Informatiker – bekommen Bauchschmerzen bei dem Gedanken. Warum?

arbeiten. Sie – als Informatiker – bekommen Bauchschmerzen bei dem Gedanken. Warum? MRA/RSE 2012 Version 1.45
arbeiten. Sie – als Informatiker – bekommen Bauchschmerzen bei dem Gedanken. Warum? MRA/RSE 2012 Version 1.45

VPN

VPN

13

2.8 Asymmetrische Verschlüsselung

Sollen mehrere Clients auf einen Server zugreifen, ist eine asymmetrische Verschlüsselung sinnvoll. Bei asymmetrischer Verschlüsselung wird ein Schlüsselpaar, bestehend aus einem öffentlichen Schlüssel (Public Key) und einen geheimen privaten Schlüssel (Private Key) benutzt.

Daten, die mit einem öffentlichen Schlüssel verschlüsselt werden, können nur mit dem zugehörigen privaten Schlüssel entschlüsselt werden!

Da ein öffentlicher Schlüssel von jedem erstellt und z.B. unter anderem Namen weitergegeben werden kann, muss die Echtheit des öffentlichen Schlüssels von einer Zertifizierungsstelle (Certification Authority - CA) beglaubigt werden. Der öffentliche Schlüssel wird dadurch zu einem Zertifikat. Ein Zertifikat ist also ein öffentlicher Schlüssel, bei dem eine Zertifizierungsstelle (Certification Authority - CA) mit ihrer digitalen Unterschrift bestätigt, dass die angegebene Identität korrekt ist. Speziell hierzu haben sich die X.509-Zertifikate 2 etabliert (standardisiert von der International Telecommunications Union (ITU) und der ISO).

Bei einem Anmeldevorgang sendet der Client zunächst den öffentlichen Schlüssel (in Form eines Zertifikats) an den Server. Der Server überprüft die Echtheit anhand des Stammzertifikats der Zertifizierungsstelle. Wenn es glaubwürdig ist, erfolgt die Anmeldung. Der Server verschlüsselt seine Antworten mit dem Zertifikat (dem öffentlichen Schlüssel) des Clients und sendet ihm seinen eigenen öffentlichen Schlüssel in Form eines Zertifikats zu. Dieser entschlüsselt die Daten mit seinem privaten Schlüssel und verschlüsselt seine Daten nun mit dem Zertifikat des Servers. Da die Ver- und Entschlüsselung sehr lange dauern würde, wird nach erfolgreicher Verbindung ein temporärer, statischer Schlüssel erzeugt. Dieser wird mit dem Diffie-Hellman-Parameter ausgetauscht und die Pakete werden dann mit diesem verschlüsselt.

und die Pakete werden dann mit diesem verschlüsselt. Abbildung 10: Asymmetrische Verschlüsselung 2 Kostenlose

Abbildung 10: Asymmetrische Verschlüsselung

2 Kostenlose Zertifikate für den E-Mail-Verkehr http://www.trustcenter.de/products/tc_internet_id.htm

Zertifikate für den E-Mail-Verkehr http://www.trustcenter.de/products/tc_internet_id.htm MRA/RSE 2012 Version 1.45

VPN

VPN

14

Ausgehend von der bisherigen Konfiguration soll im nächsten Schritt ein asymmetrisch verschlüsselter VPN-Tunnel zwischen einem Client und einem Server aufgebaut werden. Sowohl der Server als auch jeder angeschlossene Client benötigt dazu ein Schlüsselpaar, bestehend aus einem privaten und einem öffentlichen Schlüssel (Zertifikat). Außerdem werden wir eine eigene Zertifizierungsstelle erzeugen, die unsere selbst erstellten Zertifikate beglaubigt. Auch hierfür müssen wir ein Schlüsselpaar erzeugen.

Server Client Internet VPN-IP PHYS-IP PHYS-IP VPN-IP 192.168.0.1 10.1.101.1 10.1.101.2 192.168.0.2
Server
Client
Internet
VPN-IP
PHYS-IP
PHYS-IP
VPN-IP
192.168.0.1
10.1.101.1
10.1.101.2
192.168.0.2

2.8.1 Erstellen von Zertifikaten

Das OpenVPN-Paket liefert eine Script-Sammlung (easy-rsa) mit, um eine einfache Installation einer zertifikatsbasierten Verbindung zu erstellen.

Die Befehle zur Erstellung der Zertifikate werden nur auf dem Server ausgeführt! Die erzeugten Schlüssel werden später auf die Clients kopiert!

Folgende Schritte sind zur Installation des Zertifikatsservers und zur Erzeugung der Schlüssel und Zertifikate erforderlich:

1. Wechseln sie in den Ordner easy-rsa (C:\Programme\OpenVPN\easy-rsa).

2. Erstellen sie hier einen Ordner mit dem Namen „Keys“.

3. Nun muss mit folgendem Befehl eine Erstkonfiguration durchgeführt werden.

Befehl eine Erstkonfiguration durchgeführt werden. 4. Die folgenden Daten werden bei der Zertifikatserzeugung

4. Die folgenden Daten werden bei der Zertifikatserzeugung immer wieder benötigt und deshalb mit Hilfe der Batchdatei vars.bat als DOS-Umgebungsvariablen gesetzt. Editieren sie die Datei vars.bat und ändern sie folgende Zeilen:

Ändern!! set KEY_COUNTRY=DE set KEY_PROVINCE=Niedersachsen set KEY_CITY=Oldenburg set KEY_ORG=BZTG set
Ändern!!
set KEY_COUNTRY=DE
set KEY_PROVINCE=Niedersachsen
set KEY_CITY=Oldenburg
set KEY_ORG=BZTG
set KEY_EMAIL=administrator@bztg.de
set KEY_CN=CA-Oldenburg
set KEY_NAME=???
set KEY_OU=Schule
KEY_EMAIL=administrator@bztg.de set KEY_CN=CA-Oldenburg set KEY_NAME=??? set KEY_OU=Schule MRA/RSE 2012 Version 1.45

VPN

VPN

15

5. Starten Sie die Batchdatei vars.bat (im Verzeichnis „C:\Programme\OpenVPN\easy-rsa“).

(im Verzeichnis „C:\Programme\OpenVPN\easy-rsa“). 6. Kontrollieren Sie mit Hilfe des Befehls „ set “, ob

6. Kontrollieren Sie mit Hilfe des Befehls „set“, ob die DOS-Umgebungsvariablen richtig gesetzt sind.

set “, ob die DOS-Umgebungsvariablen richtig gesetzt sind. Starten Sie die Datei vars.bat jedes Mal, wenn
Starten Sie die Datei vars.bat jedes Mal, wenn Sie eine Eingabeaufforderung (DOS-Box) öffnen!
Starten Sie die Datei vars.bat
jedes Mal,
wenn Sie eine Eingabeaufforderung (DOS-Box) öffnen!

7. Führen sie zu zunächst folgende Batch-Datei aus:

clean-all.bat
clean-all.bat

Damit werden eventuell vorhandene alte Schlüssel gelöscht!

Damit werden eventuell vorhandene alte Schlüssel gelöscht! 8. Die Zertifizierungsstelle wird folgendem Befehl erstellt:

8. Die Zertifizierungsstelle wird folgendem Befehl erstellt:

build-ca.bat
build-ca.bat

Sie können alle Einstellungen mit Enter bestätigen. Lediglich der Name der Zertifizierungsstelle muss eingegeben werden. Name [???]: ca

muss eingegeben werden. Name [???]: ca Abbildung 11: Zertifizierungsstelle wird erzeugt MRA/RSE
muss eingegeben werden. Name [???]: ca Abbildung 11: Zertifizierungsstelle wird erzeugt MRA/RSE

Abbildung 11: Zertifizierungsstelle wird erzeugt

muss eingegeben werden. Name [???]: ca Abbildung 11: Zertifizierungsstelle wird erzeugt MRA/RSE 2012 Version 1.45

VPN

VPN

16

9. Nun wird für den Server mit folgendem dem Befehl ein Zertifikat erstellt.

build-key-server.bat server
build-key-server.bat
server

Sie können alle Einstellungen mit Enter bestätigen.

Lediglich der Zertifikatsname

Name [???]: server
Name [???]: server

muss eingegeben werden.

Alle anderen Einstellungen (auch das Passwort) können einfach mit Enter bzw. „y“ bestätigt werden.

einfach mit Enter bzw. „y“ bestätigt werden. Abbildung 12: Erstellung des Serverzertifikates 10.Nun wird

Abbildung 12: Erstellung des Serverzertifikates

10.Nun wird für den Client mit folgendem Befehl ein Zertifikat erstellt.

build-key.bat client
build-key.bat
client

Sie können alle Einstellungen mit Enter bestätigen.

Lediglich der Zertifikatsname

Name [???]: Client
Name [???]: Client

muss eingegeben werden.

Alle anderen Einstellungen (auch das Passwort) können einfach mit Enter bzw. „y“ bestätigt werden

können einfach mit Enter bzw. „y“ bestätigt werden Abbildung 13: Client-Key und Zertifikat erzeugen Dieser

Abbildung 13: Client-Key und Zertifikat erzeugen

Dieser Vorgang muss für jeden Client wiederholt werden!

13: Client-Key und Zertifikat erzeugen Dieser Vorgang muss für jeden Client wiederholt werden! MRA/RSE 2012 Version

VPN

VPN

17

11.Der Diffie-Hellmann-Algorithmus wird dazu benutzt, einen symmetrischen Schlüssel zu erzeugen, der später für eine schnelle Verschlüsselung benutzt wird.

Hierzu wird ein DH-Parameter benötigt, der mit dem Befehl build-dh erzeugt wird.

Achtung: Die Erzeugung des Parameters kann je nach Rechner einige Zeit dauern!

Hier noch einmal die eingegebenen

Befehle im Überblick:

Hier noch einmal die eingegebenen Befehle im Überblick: Abbildung 14: Erzeugung des DH-Parameters init-config.bat

Abbildung 14: Erzeugung des DH-Parameters

init-config.bat (Nur nach der Neuinstallation) vars.bat clean-all.bat build-ca.bat build-key-server.bat server
init-config.bat
(Nur nach der Neuinstallation)
vars.bat
clean-all.bat
build-ca.bat
build-key-server.bat server
build-key.bat client
build-dh

Damit sind alle relevanten Zertifikate und Schlüssel erzeugt worden und können auf die jeweiligen PCs verteilt werden. Die folgende Tabelle zeigt alle relevanten Dateien und deren Bestimmungsort. Hierbei ist das Zertifikat (crt) immer der öffentliche Schlüssel und die „key“-Datei der private Schlüssel.

Nr.

Dateiname

Beschreibung

Wo gebraucht?

Geheim?

1

client.crt

Client Zertifikat

Client1

Öffentlich

2

client.key

Client Schlüssel

Client1

Geheim

3

server.crt

Server Zertifikat

Server

Öffentlich

 

4 server.key

Server Schlüssel

Server

Geheim

 

5 dh1024.pem

Diffie Hellman

Server

Öffentlich

6

ca.crt

Root CA Zertifikat

Server

Client

Öffentlich

7

ca.key

Root CA Schlüssel

Zertifikataussteller

Geheim

Server-Dateien

ca.crt server.crt server.key dh1024.pem
ca.crt
server.crt
server.key
dh1024.pem

Client-Dateien

ca.crt client.crt client.key
ca.crt
client.crt
client.key
ca.crt server.crt server.key dh1024.pem Client-Dateien ca.crt client.crt client.key MRA/RSE 2012 Version 1.45

VPN

VPN

18

2.8.2 Konfiguration des Servers

Bevor die Konfigurationsdatei erstellt werden kann, müssen die Zertifikate und Keys auf den Server kopiert werden. Erstellen sie dafür einen Ordner z.B. C:\Programme\OpenVPN\server-keys und kopieren sie die oben in der Tabelle genannten Dateien in diesen Ordner.

Hierbei ist das Zertifikat (crt) immer der öffentliche Schlüssel und die „key“-Datei der private Schlüssel.

Erstellen sie im Ordner C:\Programme\OpenVPN\config mit einem Editor eine Datei mit dem Namen server.ovpn und folgendem Inhalt:

#################################################

# OpenVPN Server Konfiguration mit DHCP

# BZTG MRA/RSE 2012

#################################################

# Server-Setup --------------------------------- tls-server dev tun0

# Verbindungen --------------------------------- ifconfig 192.168.0.1 192.168.0.2

# Zertifikate ----------------------------------

dh C:\\Programme\\OpenVPN\\server-keys\\dh1024.pem ca C:\\Programme\\OpenVPN\\server-keys\\ca.crt cert C:\\Programme\\OpenVPN\\server-keys\\server.crt key C:\\Programme\\OpenVPN\\server-keys\\server.key

# Logging -------------------------------------- verb 3

Erklärung der zusätzlichen Befehle:

tls-server

dh C:\\Programme\\OpenVPN\\server-keys\\dh1024.pem

ca C:\\Programme\\OpenVPN\\server-keys\\ca.crt

cert C:\\Programme\\OpenVPN\\server-keys\\server.crt

key C:\\Programme\\OpenVPN\\server-keys\\server.key

Der PC wird TLS-Authentifizierungsserver

Ort und Name der DH-Datei

Ort und Name des Root-Zertifikats

Ort und Name des öffentlichen Schlüssels

Ort und Name des Privaten Schlüssels

Ort und Name des öffentlichen Schlüssels Ort und Name des Privaten Schlüssels MRA/RSE 2012 Version 1.45

VPN

VPN

19

2.8.3 Konfiguration des Clients

Bevor die Konfigurationsdatei erstellt werden kann, müssen die Zertifikate und Keys auf Client1 kopiert werden. Erstellen sie dafür einen Ordner z.B. C:\Programme\OpenVPN\client-keys und kopieren sie die oben in der Tabelle genannten Dateien in diesen Ordner.

Erstellen sie im Ordner C:\Programme\OpenVPN\config mit einem Editor eine Datei mit dem Namen client.ovpn und folgendem Inhalt:

#################################################

# OpenVPN Client Konfiguration mit DHCP

# BZTG MRA/RSE 2012

#################################################

# Client-Setup --------------------------------- tls-client dev tun0

# Verbindungen --------------------------------- remote 10.1.101.1 ifconfig 192.168.0.2 192.168.0.1

# Zertifikate ----------------------------------

ca C:\\Programme\\OpenVPN\\client-keys\\ca.crt cert C:\\Programme\\OpenVPN\\client-keys\\client.crt key C:\\Programme\\OpenVPN\\client-keys\\client.key

# Logging -------------------------------------- verb 3

Erklärung der zusätzlichen Befehle:

tls-client

remote 10.1.101.1

Der Client authentifiziert sich an einem TLS-Server.

IP-Adresse der VPN-Gegenstelle ( Server)

Der Client authentifiziert sich an einem TLS-Server. IP-Adresse der VPN-Gegenstelle ( Server) MRA/RSE 2012 Version 1.45

VPN

VPN

20

1. Starten Sie die VPN-Verbindung und testen sie die Verbindung.

2. Öffnen Sie das Stammzertifikat unserer erstellten Zertfizierungsstelle mit einem Doppelklick auf die Datei „ca.crt“ . Vergleichen Sie den Inhalt des Reiters „Allgemein“ mit einem kommerzeillen Stammzertifikat der Firma VeriSign (über die Optionen eines Browsers erreichbar).

Abbildung 15: Zertifikate
Abbildung 15: Zertifikate
Was ist der wesentliche Unterschied der beiden Zertifikate?
Was ist der wesentliche Unterschied der beiden Zertifikate?
Abbildung 15: Zertifikate Was ist der wesentliche Unterschied der beiden Zertifikate? MRA/RSE 2012 Version 1.45

VPN

VPN

21

2.9 Multiclient-Konfiguration

Wenn mehrere Clients gleichzeitig eine Verbindung zum VPN-Server aufbauen sollen, muss der Server die IP-Adressen für die Clients automatisch verteilen (DHCP).

2.9.1

Server-Konfiguration

In der folgenden Konfiguration sind die neuen Befehle rot markiert.

#################################################

# OpenVPN Server Konfiguration mit DHCP

# BZTG MRA/RSE 2010

#################################################

# Server-Setup --------------------------------- tls-server dev tun0

# Modus Server und DHCP------------------------- server 192.168.0.0 255.255.255.0

# Zertifikate ----------------------------------

dh C:\\Programme\\OpenVPN\\server-keys\\dh1024.pem ca C:\\Programme\\OpenVPN\\server-keys\\ca.crt cert C:\\Programme\\OpenVPN\\server-keys\\server.crt key C:\\Programme\\OpenVPN\\server-keys\\server.key

# Logging -------------------------------------- verb 3

Erklärung der zusätzlichen Befehle:

server 192.168.0.0 255.255.255.0

Konfiguration von DHCP auf dem Server. Die erste Adresse aus dem IP-Bereich erhält der Server.

Konfiguration von DHCP auf dem Server. Die erste Adresse aus dem IP-Bereich erhält der Server. MRA/RSE

VPN

VPN

22

2.9.2

Client-Konfigurationen

Für jeden Client muss eine eigene Konfigurationsdatei und die entsprechenden Zertifikate und Schlüssel erstellt werden. In der folgenden Konfiguration sind die neuen Befehle rot markiert. Erstellen Sie die Konfiguration für Client1 und Client2.

#################################################

# OpenVPN Client1 Konfiguration DHCP

# BZTG MRA/RSE 2010

#################################################

# Clientkonfiguration --------------------------------- tls-client dev tun0

# Verbindungen --------------------------------- remote 10.1.101.1 pull

# Zertifikate ----------------------------------

ca C:\\Programme\\OpenVPN\\client1-keys\\ca.crt cert C:\\Programme\\OpenVPN\\client1-keys\\client1.crt key C:\\Programme\\OpenVPN\\client1-keys\\client1.key

# Logging -------------------------------------- verb 3

Erklärung der zusätzlichen Befehle:

Pull

Umschalten in den Client-Modus

1. Starten Sie die Konfiguration auf beiden PCs, fassen Sie die IP-Adressen und Subnetmasken in der Tabelle zusammen und testen sie die Verbindung, in dem sie alle IPs anpingen.

IP Server (physikalisch) IP Client 1 (physikalisch) IP Client 2 (physikalisch) IP Server (TUN) IP
IP Server (physikalisch)
IP Client 1 (physikalisch)
IP Client 2 (physikalisch)
IP Server (TUN)
IP Client 1 (TUN)
IP Client 2 (physikalisch)

2. Greifen sie mit dem Remote-Desktop vom Client auf den Server zu.

IP Client 2 (physikalisch) 2. Greifen sie mit dem Remote-Desktop vom Client auf den Server zu.

VPN

VPN

23

3. Im folgenden Bild ist eine Routing-Tabelle abgebildet, die bei einem Client mit „route print“ erzeugt wurde.

die bei einem Client mit „route print“ erzeugt wurde. Abbildung 16: Routing-Tabelle Client Unter der IP-Adresse

Abbildung 16: Routing-Tabelle Client

Unter der IP-Adresse 192.168.0.1 ist der Server zu erreichen, der Client hat die IP-Adresse 192.168.0.6 und das Ende des Tunnels hat die Adresse 192.168.0.5.

a. Erklären Sie die Routing-Einträge 3,4 und 6.

b. Was bedeutet die Subnetmaske 255.255.255.255

c. Welche Bedeutung hat der Routing-Eintrag 5?

d. Zu welchem Gerät gehört die Adresse des Standardgateways?

e. Welche IP-Adresse hat der Client-PC auf seiner physikalischen Schnittstelle?

4. Lassen sie sich bei einem ihrer Client die Routing-Tabelle anzeigen und vergleichen sie ihre Daten.

sie sich bei einem ihrer Client die Routing-Tabelle anzeigen und vergleichen sie ihre Daten. MRA/RSE 2012

VPN

VPN

24

2.10 Tunnel vom Client in das Network (End-to-Site)

Möchte ein externer Mitarbeiter, von zu Hause auf das interne Netzwerk einer Firma zugreifen, so muss eine „Client-to-Network“-Konfiguration aufgesetzt werden.

PC_Intern VPN-Server PC_Extern Internet PHYS-IP 192.168.10.2 PHYS-IP VPN-IP PHYS-IP PHYS-IP VPN-IP 192.168.10.1
PC_Intern
VPN-Server
PC_Extern
Internet
PHYS-IP
192.168.10.2
PHYS-IP
VPN-IP
PHYS-IP
PHYS-IP
VPN-IP
192.168.10.1
192.168.0.1
10.1.101.1
10.1.101.2
192.168.0.X

Für ein „End-to-Site“-VPN-Netzwerk muss die Konfiguration um zwei Funktionen erweitert werden:

1. Der VPN-Server muss als Router arbeiten und zwischen dem externen Netz 10.0.0.0 und dem internen Netz 192.168.10.0 routen.

2. Auf dem externen PC muss der Weg zum internen Netzwerk bekannt sein. Dazu kann auf dem externen PC die VPN-Schnittstelle als Standardgateway gesetzt werden - dann wird jedoch auch der gesamte Verkehr in das Internet über die VPN- Schnittstelle gesendet. Wir wollen hier stattdessen gezielt eine Route zum Firmennetzwerk einrichten, so dass der Internetverkehr über das bisherige Standardgateway weiter funktioniert.

einrichten, so dass der Internetverkehr über das bisherige Standardgateway weiter funktioniert. MRA/RSE 2012 Version 1.45

VPN

VPN

25

2.10.1 2 Windows-XP als Router

Damit ein Windows-XP-Rechner als Router arbeitet, muss in der registry (regedit) der Eintrag IPEnableRouter auf „1“ gesetzt werden.

arbeitet, muss in der registry (regedit) der Eintrag IPEnableRouter auf „1“ gesetzt werden. MRA/RSE 2012 Version
arbeitet, muss in der registry (regedit) der Eintrag IPEnableRouter auf „1“ gesetzt werden. MRA/RSE 2012 Version

VPN

VPN

26

2.10.2 Server-Konfiguration

In der folgenden Konfiguration sind die neuen/geänderten Konfigurationszeilen rot markiert.

#################################################

# OpenVPN Server Konfiguration mit C2N

# BZTG MRA/RSE 2010

#################################################

# Server-Setup --------------------------------- tls-server dev tun0

# Modus Server und DHCP------------------------- server 192.168.0.0 255.255.255.0

# Route an Client verteilen---------------------- push "route 192.168.10.0 255.255.255.0"

# Zertifikate ----------------------------------

dh C:\\Programme\\OpenVPN\\server-keys\\dh1024.pem ca C:\\Programme\\OpenVPN\\server-keys\\ca.crt cert C:\\Programme\\OpenVPN\\server-keys\\server.crt key C:\\Programme\\OpenVPN\\server-keys\\server.key

# Logging -------------------------------------- verb 3

Erklärung der zusätzlichen Befehle:

push „route 192.168.10.0 255.255.255.0"

Eine Route an den Client übertragen. Der Client bekommt die Route, wenn er im Pull-Modus läuft.

2.10.3 Client-Konfiguration

#################################################

# OpenVPN Server Konfiguration mit C2N

# BZTG MRA/RSE 2010

#################################################

# Clientkonfiguration --------------------------------- tls-client dev tun0

# Verbindungen --------------------------------- remote 10.1.101.1 pull

# Zertifikate ----------------------------------

ca C:\\Programme\\OpenVPN\\client1-keys\\ca.crt cert C:\\Programme\\OpenVPN\\client1-keys\\client1.crt key C:\\Programme\\OpenVPN\\client1-keys\\client1.key

# Logging -------------------------------------- verb 3

# Logging -------------------------------------- verb 3 MRA/RSE 2012 Version 1.45

VPN

VPN

27

Quellen:

http://www.64-bit.de/dokumentationen/netzwerk/a/015/DE-VPN-HOWTO-3.html

http://www.pronix.de/pronix-938.html

http://support.mva.ch/tech-blog/openvpn-unter-windows-anleitung/

http://ipsec.gosecurity.ch/allgemeines/einf_ipsec.asp#diffiehellman

http://de.wikipedia.org/wiki/OpenVPN#Zertifikatsbasiert

http://www.dd-wrt.com/wiki/index.php/OpenVPN-Tunnel_Server_/_Client,_Netzwerke_verbinden

http://wiki.openvpn.eu/index.php/Schl%C3%BCsselverwaltung_mit_XCA

http://m2m-blog.de/2008/10/30/m2m-mit-openvpn-betrachtung-von-overhead-und-datenvolumen/

http://wiki.openvpn.eu/index.php/Erster_Tunnel

http://www.openvpn.net/index.php/open-source/documentation/howto.html

http://www.administrator.de/index.php?content=123285

http://www.wintotal.de/artikel/artikel-2005/40.html

http://www.wintotal.de/artikel/artikel-2005/40.html MRA/RSE 2012 Version 1.45