Donnerstag, 8. Januar 2009

News

präsentiert von: entwickler.com
Donnerstag, 15. März 2007

About Security #97: Virtuelle Private Netze — TLS

VPN können auch auf der Basis von Transport Layer Security (TLS) aufgebaut werden werden. Das Secure Sockets Layer (SSL)-Protokoll und sein Nachfolger Transport Layer Security (TLS) (definiert in RFC 4346) wurden ja bereits in About Security #73 sowie #81 und #82 vorgestellt. Im Rahmen eines VPN kommt SSL/TLS in zwei Varianten zum Einsatz: Entweder im Rahmen eines so genannten 'clientless TLS-VPN' oder beim Aufbau eines Tunnels zur transparenten Übertragung von (IP-)Paketen.

Das TLS-Protokoll

TLS besteht aus zwei Schichten, dem TLS Record Protocol und den darauf aufbauenden Protokollen TLS Alert, TLS Change Chipher Spec, TLS Handshake und Application Data. Das TLS Record Protocol ist die untere der Schichten und sichert die Verbindung. Es setzt auf die Transportschicht auf (TCP, siehe About Security #29) und stellt eine Ende-zu-Ende-Verschlüsselung durch Anwendung symmetrischer Verschlüsselungsalgorithmen und die Sicherung von Integrität und Authentizität durch Hinzufügen eines Message Authentication Code (MAC, siehe About Security #77) zur Verfügung. Das TLS Handshake Protocol ist für die Prüfung der Identität der Kommunikationspartner sowie die Aushandlung und den Austausch des Schlüssels für die symmetrische Verschlüsselung durch das TLS Record Protocol zuständig. Das TLS Change Chipher Spec Protocol startet die geschützte Kommunikation im ausgehandelten Kontext. Das TLS Alert Protocol wird für den Austausch von Alarmmeldungen verwendet. Das TLS Application Data Protocol dient der transparenten Übertragung der Daten über das TLS Record Protocol. Über dem TLS-Protokoll befindet sich die Anwendungsschicht mit Protokollen wie z.B. HTTPS (siehe About Security #29).

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Der TLS-Verbindungsaufbau wurde bereits in About Security #81/ #82 beschrieben. Beim Einsatz von TLS im Rahmen eines VPN weist sich auch der Client mit seinem Zertifikat aus, sodass im Gegensatz zum (in About Security #82 beschriebenen) Handshake der Client nicht mit dem Pre-Master-Secret, sondern seinem Zertifikat antwortet.

Nach dem Aufbau des TLS-Tunnels reicht das TLS Application Data Protocol die Daten der Anwendungsschicht an das TLS Record Protocol weiter. Dieses komprimiert und verschlüsselt sie und überträgt sie über die Transportschicht zur Gegenstelle. Dort werden sie vom TLS Record Protocol entschlüsselt und dekomprimiert und über das TLS Application Data Protocol an die Anwendungsschicht weitergeleitet.

Clientless TLS-VPN

Von einem clientless TLS-VPN spricht man, wenn von einem Webbrowser über eine mit TLS gesicherte Verbindung auf einen Server zugegriffen wird, der bestimmte Anwendungen, z.B. eine Datenbank, zur Verfügung stellt. Das 'clientless' bezieht sich dabei auf das Fehlen eines speziellen VPN-Clients. Streng genommen ist natürlich der Webbrowser ein Client. Der Vorteil dieses Ansatzes ist, dass jeder aktuelle Webbrowser das https://-Protokoll unterstützt und so auch z.B. der Zugriff aus einem Internetcafe möglich ist. Der Nachteil ist die Webbrowserbezogenheit: Für nicht browserbasierte Anwendungen müssen auf Client- und/oder Serverseite Hilfsprogramme zwischengeschaltet werden, die die Daten für die Übertragung über die Browserverbindung entsprechend umwandeln.

TSL-Tunnel

Beim Einsatz eines TSL-Tunnels bauen zwei Kommunikationspartner, z.B. zwei Gateways, untereinander eine TLS-Verbindung auf und übertragen darüber dann IP-Pakete. Eine Implementierung dieses Verfahrens ist z.B. OpenVPN, das im Folgenden vorgestellt wird.

About Security: Die komplette Serie

OpenVPN verwendet zwar TLS für den Datentransport, kann aber im Gegensatz zu dessen normaler Nutzung nicht nur Daten der Anwendungsschicht, sondern komplette IP-Pakete übertragen. Außerdem kann statt TCP auch UDP für den Transport genutzt werden. Dazu wird für TLS eine bestehende TCP-Verbindung simuliert, während OpenVPN die Daten tatsächlich über UDP transportiert.

Betriebsarten

OpenVPN verwendet zwei Betriebsarten: Routing und Bridging. Beim Routing wird ein TLS-Tunnel zwischen zwei Endpunkten aufgebaut und jedem Endpunkt eine virtuelle IP-Adresse zugewiesen. Über den Tunnel werden dann ausschließlich IP-Pakete zwischen den Kommunikationspartnern ausgetauscht (Layer 3). Um auf die ggf. hinter den Endpunkten liegenden lokalen Netzwerke zugreifen zu können, müssen die Endpunkte die IP-Pakete aktiv weiterleiten. Beim Bridging wird ebenfalls ein Tunnel zwischen zwei Kommunikationspartnern aufgebaut, über den dann aber Ethernet-Pakete übertragen werden (Layer 2). Dadurch wird der Client transparent in das lokale Netz des Servers integriert, was auch den Einsatz anderer Protokolle als IP erlaubt.

In der nächsten Woche gibt es einen Bericht über Neuigkeiten von der CeBIT.
In der nächsten regulären Folge wird die Beschreibung von OpenVPN mit einem Beispiel fortgesetzt.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "VPN - Virtuelle Private Netze"

Kommentare

dot.net Code Camp C# 3.5

Konferenzen

BASTA! Spring 2009

BASTA! Spring 2009

23.-27. Februar 2009
Maritim Rhein-Main Hotel Wissenschaftsstadt Darmstadt

Entwicklertage 2009

Entwicklertage 2009

23.-27. Februar 2009
Darmstadt

BASTA! Italia 2009

BASTA! Italia 2009

16.-18. März 2009
Holiday Inn EUR Parco dei Medici, Roma

PHPCon Italia 2009

PHPCon Italia 2009

18.-20. März 2009
Holiday Inn EUR Parco dei Medici, Roma

JAX 09

JAX 09

20.-24. April 2009
Rheingoldhalle Mainz

Eclipse Forum Europe 09

Eclipse Forum Europe 09

20.-24. April 2009
Rheingoldhalle Mainz

webinale 09

webinale 09

25.-27. Mai 2009
Berlin

RailsWayCon

RailsWayCon

25.-27. Mai 2009
Berliner Congress Center, Alexanderplatz, Berlin

Werbung
Top-Jobs

Endress+Hauser GmbH+Co. KG

Entwickler Datenbanksysteme (m/w)

Software & Support Verlag GmbH

Lektor (m/w), Vollzeit

Software & Support Verlag GmbH

Volontär (w/m) Redaktion, Vollzeit

Signsoft GmbH

Java-Entwickler (m/w)

Software & Support Verlag GmbH

Redakteur (m/w), Vollzeit
JAX 09

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

Ruby on Rails

RailsWay Magazin

Ruby on Rails

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

Bücher


hosted by HostEurope