OpenVPN. Ursprung und TLS/ SSL


Hausarbeit, 2009

50 Seiten, Note: 1,0


Leseprobe


Inhaltsverzeichnis

ABBILDUNGSVERZEICHNIS

TABELLENVERZEICHNIS

1 EINLEITUNG

2 URSPRUNG UND DEFINITION EINES VPN
2.1 Anforderungen an VPN
2.2 VPN Topologien

3 TLS / SSL
3.1 Historische Entwicklung des TLS-Protokolls
3.2 Aufbau des TLS-Protokolls
3.2.1 Record Protocol
3.2.2 TLS Handshake Protocol
3.2.2.1 Alert Protocol
3.2.2.2 Change Cipher Spec Protocol
3.2.2.3 Handshake Protocol
3.2.2.4 Cipher Suite
3.3 Verbindungsaufbau

4 OPENVPN
4.1 OpenSSL
4.2 Installation von OpenVPN
4.2.1 Konfiguration von OpenVPN
4.2.2 Zertifikaterstellung mittels easyRSA
4.2.3 Konfiguration der Verbindungseinstellungen
4.2.4 Inbetriebnahme

5 ZUSAMMENFASSUNG

ANHANG

QUELLENVERZEICHNIS

Abbildungsverzeichnis

Abbildung 1 zeigt die Verknüpfung zweier LAN Standorte über das Internet

Abbildung 2 zeigt die Arbeitsweise VPN-Gateways

Abbildung 3 zeigt die Topologie „Host - To - Host"

Abbildung 4 zeigt die Topologie „Host - To - Network"

Abbildung 5 zeigt die Topologie „Network - To - Network"

Abbildung 6 zeigt die Einordnung des TLS / SSL-Protokolls im OSI-Schichtenmodell

Abbildung 7 zeigt die Portbelegungen verschiedener Protokolle für SSL

Abbildung 8 zeigt Arbeitsablauf des „Record Layer"

Abbildung 9 zeigt den Ablauf eines „Handshakes" mittels RSA

Abbildung 10 zeigt das Ausführen von 'vars' und 'clean-all'

Abbildung 11 zeigt das Ausführen des 'build-ca' Skripts

Abbildung 12 zeigt die Erstellung des Serverzertifikats (erster Teil)

Abbildung 13 zeigt die Erstellung des Serverzertifikats (zweiter Teil)

Abbildung 14 zeigt die Erstellung des Clientzertifikats (erster Teil)

Abbildung 15 zeigt die Erstellung des Clientzertifikats (zweiter Teil)

Abbildung 16 zeigt die Erzeugung des Diffie-Hellman Parameters (erster Teil)

Abbildung 17 zeigt die Erzeugung des Diffie-Hellman Parameters (zweiter Teil)

Abbildung 18 zeigt die Protokolloberfläche des OpenVPN GUI

Abbildung 19 zeigt das Taskleistensymbol des OpenVPN GUIs (ganz links)

Tabellenverzeichnis

Tabelle 1: „Chipher Suites" für SSL 3.0 / TLS 1.0 15 /

1 Einleitung

Die Abkürzung VPN steht für „Virtual Private Network“ und bedeutet wörtlich Übersetzt „virtuelles privates Netzwerk“. Doch was verbirgt sich genau hinter dieser Abkürzung?

VPNs bieten Anwendern aus dem geschäftlichen als auch aus dem privaten Bereich die Möglichkeit, Zugriff auf das interne Netzwerk zu ermöglichen. Dabei ist es besonders wichtig die Geheimhaltung der übermittelten Daten zu wahren. Um dies zu gewährleisten setzt die VPN-Technologie auf verschiedenste kryptografische Algorithmen. Durch diese Verbindung ist es beispielsweise möglich, externe Mitarbeiter einer Firma mit dem lokalen Netzwerk der Firma zu verbinden. Die Art der Kommunikation ist dahingehend nicht auf bestimmte Protokolle beschränkt. Vielmehr ermöglicht es eine sichere Kommunikation zwischen den Clients auf der Transport- und Anwendungsschicht. Ein VPN nutzt das Internet daher nur als Transportmedium und lässt bildlich gesehen ein Teilnetz entstehen. Zukünftig wird es auch „Unified-VPNs“ geben, welche zur gleichzeitigen Übertragung von Sprache, Daten und interaktiven Videokonferenzen geeignet sind. Für die Umsetzung dieser Netzwerktopologien stehen sowohl Hardware- als auch Softwarelösungen zur Verfügung. Im Rahmen dieser Arbeit wird die freie Softwarelösung OpenVPN erläutert und vorgestellt.

Nach der Einleitung folgt im zweiten Kapitel die Erläuterung zu Ursprung und Definition eines VPNs. Dabei werden sowohl die Anforderungen als auch die verschiedenen Topologien eines „Virtual Private Networks“ vorgestellt. Anschließend wird im dritten Kapitel der kryptographische Hintergrund - speziell das TLS / SSL Protokoll - näher betrachtet. Im Vordergrund steht dabei die Erfassung der Grundlagen für den Verbindungsaufbau der OpenVPN Software. Dieser Verbindungsaufbau wird dann im vierten Kapitel genauer beschrieben. Dabei wird sowohl die Installation als auch die Konfiguration und Inbetriebnahme veranschaulicht. Im abschließenden fünften Abschnitt werden die aufgearbeiteten Inhalte zusammengefasst und bewertet.

2 Ursprung und Definition eines VPN

Ihrem Ursprung nach bilden VPNs innerhalb eines öffentlichen Wählnetzes virtuelle Teilnetze, wie Netze der Sprachkommunikation, X.25, Frame Relay oder ISDN. Im heutigen Sprachgebrauch spricht man von einem verschlüsselten, virtuellen Netzwerk, wenn von VPN die Rede ist. Wie in Abbildung 1 zu sehen, werden zwei „LAN Standorte“ über das Internet und damit über das Virtuelle Netz verbunden. Dabei wird von einem benachbarten Netz gesprochen, wenn wenigstens zwei Netzwerke über ein „VPN-/Gateway“ verbunden sind (siehe Abbildung 2). [itw]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 zeigt die Verknüpfung zweier LAN Standorte über das Internet [mar]

Einfach ausgedrückt: ein VPN verbindet zwei oder mehrere lokal getrennte Netzwerke miteinander, welche nicht zwangläufig die gleiche Topologie besitzen müssen („Roadwarrior“ - „Firmen LAN“). Dies wird durch die verschiedenen VPN-Arten, die später erklärt werden, abgedeckt. Dabei bringt es einen entscheidenden Vorteil mit: für alle Beteiligten ist ein vollständiger Zugriff auf alle Ressourcen der zusammengeschlossenen Netzwerke, somit eine Nutzung des kompletten Datenbestandes, möglich.

Technisch erklärt, bildet das VPN dabei ein logisches Teilnetz. Es legt sich über das benachbarte Netz und nutzt deren Adressmechanismen. Dennoch transportiert es aber eigene Netzwerkpakete und somit arbeitet es vom Rest des Netzes abgekapselt. Das Internet agiert hier als Transportmedium. Die Kommunikation der darin befindlichen Clients basiert auf einer Tunneltechnik, welche individuell konfigurierbar und anpassbar ist. Für zukünftige Sicherheitseinstellungen nach der Installation ist dies ein bedeutungsvoller Aspekt. Befindet sich ein Client im VPN so agiert er wie im lokalen Netz bzw. Intranet, auch wenn er sich in einem geografisch entfernten Netzwerk befindet. Der Datenverkehr wird dabei verschlüsselt übermittelt, wodurch eine sichere Kommunikation gewährleistet wird. [itw]

Zusammenfassend lässt sich wie folgt definieren: Ein VPN ermöglicht es, private und öffentliche Netzwerke zu kombinieren, indem das Internet als Trägermedium für die private Kommunikation benutzt wird [net].

2.1 Anforderungen an VPN

Die Anforderungen an ein VPN hängen vom jeweiligen Einsatz ab, lassen sich aber wie folgt zusammenfassend auflisten:

- Sicherheit (Benutzerauthentifizierung / Datenverschlüsselung)
- Verfügbarkeit
- Performance
- Migrationsfähigkeit und Skalierbarkeit
- Integration in existierende Netze
- Adressverwaltung

Im Bereich der Sicherheit werden viele Anforderungen gestellt, denn die Kommunikation von Sender und Empfänger wird über eine öffentlich zugängliche Leitung realisiert. Unbefugten wird ein Zugriff auf die Daten verweigert, ebenso wie sich Benutzer vor dem Zugang authentifizieren müssen. Zur Datensicherung dient ein standardisiertes Verschlüsselungs­verfahren, sowie ein effektives Schlüsselmanagement zur Authentifizierung. „Gute“ Schlüssel haben eine relativ kurze Lebensdauer und sind meist nur für eine Session gültig. Im zweiten Punkt, der Verfügbarkeit, geht man von Wählverbindungen, permanenten Verbindungen und Internet-VPNs aus, sprich ein VPN muss die Verfügbarkeit bieten, die nicht unter der von herkömmlichen WAN-Strukturen liegt [net],

Die Verschlüsselung einer Breitbandstrecke in Echtzeit ist ebenso eine Herausforderung, wie es auch die Nutzung von gleichzeitigen VPN-Verbindungen an die Hardware ist. In der Migrationsfähigkeit und Skalierbarkeit muss darauf geachtet werden, dass die Systeme auf offenen Standards basieren. Damit wird eine Unabhängigkeit von einem bestimmten Hersteller garantiert. Ebenfalls wichtig ist die Erweiterbarkeit der benutzten Komponenten, vor allem im Bereich von Updates. Die Wahl der eingesetzten VPN-Lösung ist zudem von entscheidender Bedeutung im Hinblick auf Gewährleistung einer langfristigen Skalierbarkeit bezüglich der Benutzerzahlen und Bandbreiten. Bei der Integration in existierende Netze ist liegt die Priorität darin, dass sich die genutzte VPN-Lösung in ein vorhandenes Netzwerk integrieren lässt. Dazu gehört auch das eingliedern in das Sicherheitskonzept. Des Weiteren ist es wichtig, dass der Administrationsaufwand auch bei wachsender Anzahl an Benutzern und Sites, die in das VPN eingebunden werden müssen, vertretbar bleibt. Die Anforderungen an die Adressverwaltung fokussiert sich auf das Adressmanagement in den jeweiligen Netzwerken. Dort ist sowohl eine Effektivität als auch eine Effizienz nötig. [inf]

2.2 VPN Topologien

Abhängig vom Einsatz unterscheidet man zwischen folgenden VPN-Arten (auch Topologien genannt):

- Host - To - Host
- Host - To - Network
- Network - To - Network
- Extranet-VPN

Im „Host - To - Host“ besteht eine direkte Verbindung zwischen den einzelnen „VPN Clients“ via Internet, ohne Zusatz eines VPN-Gateways, eines Internetserviceproviders oder durch Tunneling. (siehe Abbildung 3). Die Software der „VPN Hosts“ verschlüsseln die Daten für die Übertragung. [tum]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3 zeigt die Topologie „Host - To - Host“ [mar]

Im „Host - To - Network“ gibt es einen „VPN Client“, der über einen Tunnel auf das interne Netzwerk via den „VPN Server“ zugreifen kann (siehe Abbildung 4). Ziel ist hier die Gewährleistung des Zuganges für einen Außendienstmitarbeiter von einem beliebigen Internetzugang. Der Zugriff auf das Firmennetzwerk wird über ein „Point - To - Point- Protocol“ zu einem lokalen Internetserviceprovider und von dort weiter über das Internet realisiert. Die Übertragung im Tunnel ist verschlüsselt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4 zeigt die Topologie „Host - To - Network“ [mar]

Im „Network - To - Network“ werden Netze von Unternehmen über „VPN Gateways“ und den ISP über das Internet verbunden. Zwischen „Router A with VPN“ und „Router В with VPN“ wird ein sicherer Tunnel aufgebaut, durch den die Daten verschlüsselt transportiert werden (siehe Abbildung 5). [tum]

Abbildung in dieser Leseprobe nicht enthalten

Ein „Extranet-VPN“ ähnelt der Struktur eines „Network - To - Network“ bzw. eines „Host - To - Network“. Ein „Extranet-VPN“ unterscheidet sich von den anderen VPNs darin, dass es sein Netzwerk oder Teile des Netzwerkes auch für externe Personen und/oder Organisationen öffnet und diesen somit Zugriff auf die im VPN zur Verfügung stehenden Ressourcen gewährt und vertrauliche Daten mit ihnen austauschen kann. Basierend auf den bekannten VPN- Techniken werden Daten von eigenen Mitarbeitern gesondert behandelt. Dies funktioniert unter anderem durch VPN-Gateways respektive Firewalls. Beispielsweise werden die Verbindungen der Mitarbeiter im Intranet aufgelöst, die der externen Nutzer jedoch in der Firewall. Für den Datentransport wird das VPN genutzt. [bra]

3 TLS/SSL

Mit TLS / SSL wird ein Übertragungsprotokoll bezeichnet, welches eine verschlüsselte Kommunikation über unsichere Kanäle ermöglicht. Die Kombination symmetrischer und asymmetrischer kryptographischer Mittel, sogenannter „Hybrider Verschlüsselung“, macht es dabei besonders sicher.

Grafisch dargestellt versteht man das Protokoll im OSI-Schichtenmodell als neue Schicht zwischen der Anwendungs- und der Transportschicht. [ulm, ietfl, bu3]

3.1 Historische Entwicklung des TLS-Protokolls

Die Geschichte des TLS-Protokolls basiert auf einer Entwicklung von „Netscape Communications“. Im Jahr 1994 wurde die erste Version des „Secure Socket Layer“ (SSL) veröffentlicht. Anstoß dafür war der erste entwickelte Webbrowser „Mosaic“, der kurz zuvor herausgegeben wurde. Bereits nach fünf Monaten erschien der „Netscape Navigator“ und damit verbunden wurde auch die SSL Version 2.0 veröffentlicht. Microsoft publizierte 1995 den „Internet Explorer“ und stellte kurz darauf eine eigene Entwicklung des Sicherheitsprotokolls vor. Das PCT 1.0 (Private Communication Technology Protocol) wurde allerdings nicht weiter entwickelt. Trotz allem wurden einige Ideen des PCT in das 1996 veröffentliche SSL 3.0 mit integriert. So wurde die Clientauthentifizierung neu eingeführt. Bislang war es nur möglich die Identität des Servers zu überprüfen. Im Jahr 1999 wurde SSL durch das RFC 2246 zum Standard erklärt. In diesem Zusammenhang wurde es gleichzeitig in Transport Layer Security (TLS) umbenannt.

Trotz der Tatsache, dass die Unterschiede zwischen TLS und SSL nur geringfügig sind, ist TLS nicht direkt abwärtskompatibel. Die Kompatibilität wird nur geschaffen, da sich TLS 1.0 im Header mit „SSL 3.1“ anmeldet und so wieder mit den Versionen SSL 2.0 und SSL 3.0 kommunizieren kann. Dieses Verfahren wurde bis heute beibehalten.

Weiterhin wurde das TLS 1.0 durch mehrere RFC’s genauer spezifiziert, um zusätzlich mehr Kompatibilität mit anderen Protokollen zu schaffen (z.B. HTTP/1.1). Allerdings konnten erst im April 2006 mit dem RFC 4346 das TLS 1.1 standardisiert und die Ungereimtheiten über die verschiedenen Namens- und Versionsgebungen beseitigt werden. Die bislang letzte Version wurde im August 2008 verabschiedet. Als entscheidender Vorteil der Version TLS 1.2 kann der neu eingeführte Hash-Algorithmus für die Pseudozufallsfunktion gesehen werden, [eck, ietf, lag, sud, ulm, ietfl]

3.2 Aufbau des TLS-Protokolls

Im Wesentlichen besteht das TLS-Protokoll aus zwei Schichten. Zum einen dem ,,TLS Record Protocol“, auch ,,TLS Record Layer“ genannt, und zum anderen aus den ,,TLS Handshake Protocol“, welches wie folgt untergegliedert werden kann: „Alert Protocol“, „Change Cipher Spec Protocol“ und „Handshake Protocol“. Das „Application Data Protocol“ hat eine unabhängige Rolle, es dient zur Datenübertragung der zu versendenden Informationen an das „Record Layer“, nachdem die Verbindung aufgebaut wurde. In Abbildung 6 ist neben dem Aufbau des TLS-Protokolls noch einmal deutlich gezeigt, welchen besonderen Stellenwert das Protokoll im OSI-Schichtenmodell einnimmt: es liegt im eigentlichen Sinne zwischen der Anwendungs- und Transportschicht.

TLS

Protocol

Die Verbindung selbst wird jedoch nicht von dem Transportprotokoll selbst hergestellt, sondern über die Programmierschnittstelle der Anwendungsschicht, auch Socket genannt.

Dieser Socket ruft die SSL-Funktion auf und das TLS-Protokoll stellt die sichere Verbindung zur Transportschicht her. Für die Herstellung der Verbindung ist es allerdings notwendig, einen gesonderten Verbindungsweg der beiden Kommunikationspartner zu finden. Dazu wurden für jedes Protokoll der Anwendungsschicht eigene Ports eingerichtet. Zusätzlich wird dem Protokoll ein neuer Name zugewiesen beziehungsweise der Buchstabe „s“ hinzugefügt. So wird zum Beispiel anstatt des standardmäßigen Port 80 für das http-Protokoll der Port 443 zur sicheren Verbindung genutzt. Im Fall des http-Protokolls erkennt man die SSL- Verbindung durch die Namensgebung https. Weitere Beispiele für die Portbelegung sind in Abbildung 7 noch einmal aufgeschlüsselt. [cot, ietf, repl, ulm, ietfl, bu4]

Abbildung 7 zeigt die Portbelegungen verschiedener Protokolle für SSL [cot]

3.2.1 Record Protocol

Das „Record Layer“ dient grundsätzlich zur Absicherung der Verbindung und besitzt mehrere Aufgaben zur Datenübertragung. Zum einen

- fragmentiert es die Nachricht in bis zu 16 KByte große Blöcke (Versionsabhängig),
- komprimiert, falls aktiviert, anschließend die zu versendenden Informationen,
- verschlüsselt die Daten mit Hilfe der im „Handshake Protocol“ und der „Cipher Suite“ einmalig generierten kryptographischen Schlüssel und
- fügt den einzelnen Paketen einen Header hinzu, in dem zum Beispiel die Versionsinformationen stehen.

Zum anderen stellt es die Integrität der Verbindung sicher. „Dazu wird ein verschlüsselter MAC (message authentication code) benutzt. ... Es ist aber auch möglich, das TLS-Protokoll ohne MAC zu benutzen. “ [ulml] Dieser MAC wird vor der Verschlüsselung zusätzlich an die Blöcke angefügt. Somit kann eine ständige Überprüfung über die Korrektheit der gesendeten Pakete erreicht werden und sogenannten „Man-in-the-middle-Angriffen“ wird dadurch entgegengewirkt. [eck, ietf, repl, ulm, ietfl, bu3]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 8 zeigt Arbeitsablauf des „Record Layer“ [cot]

3.2.2 TLS Handshake Protocol

Das „TLS Handshake Protocol“ kann als Grundlage des TLS-Protokolls gesehen und in drei Unterprotokolle gegliedert werden:

- Alert Protocol
- Change Cipher Spec Protocol
- Handshake Protocol

Das „Alert Protocol“ dient lediglich zur Fehlerauswertung, während im „Handshake Protocol“ die kryptographischen Mittel für die sichere Verbindung festgelegt werden. Ein besonderer Begriff in diesem Zusammenhang ist die „Cipher Suite“. Durch das „Change Cipher Spec Protocol“ werden die vorher festgelegten Spezifikationen übergeben. In diesem Kapitel wird auf diese Protokolle und Begriffe genauer eingegangen und deren Funktionsweise erklärt. [ietf, repl, ulm, ietfl]

[...]

Ende der Leseprobe aus 50 Seiten

Details

Titel
OpenVPN. Ursprung und TLS/ SSL
Hochschule
Hochschule für Technik, Wirtschaft und Kultur Leipzig  (Informatik)
Veranstaltung
Netzwerk- und Systemmanagement
Note
1,0
Autor
Jahr
2009
Seiten
50
Katalognummer
V129699
ISBN (eBook)
9783640358687
ISBN (Buch)
9783640358229
Dateigröße
2182 KB
Sprache
Deutsch
Schlagworte
OpenVPN
Arbeit zitieren
Maik S. (Autor:in), 2009, OpenVPN. Ursprung und TLS/ SSL, München, GRIN Verlag, https://www.grin.com/document/129699

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: OpenVPN. Ursprung und TLS/ SSL



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden