VPN_/Tunneling

VPN ermöglicht Datenübertragung über das Internet

  • zwischen zwei Firmennetzen
  • zwischen Außendienstmitarbeiter und Firmennetz
VPN Tunneling erlaubt es, beliebige Datenpakete aus einem LAN über das Internet in ein anderes LAN zu schicken.
Dabei spielt die Adressierung und das im LAN verwendete Übertragungsprotokoll keine Rolle.

Dadurch ist es möglich zwei LANs transparent Über das Internet zu verbinden, wobei Transparenz bedeutet, dass die Stationen in den verbundenen LANs nicht mit der Verwaltung und dem Aufbau des Tunnels betraut sind. Das übernimmt ein Tunnel-Server. Die Stationen in den LANs arbeiteten so als ob alle in einem LAN arbeiten würden.

Vpn

Shema VPN Tunnel

IP-Tunneling über das Internet beruht darauf, dass dem zu transportierenden Paket ein neuere IP-Header voran gestellt wird. Der Header enthält als Quelladresse dieses Rechners und als Zieladresse einen Server, der den Endpunkt des Tunnels bildet und das transportierte Paket wieder entpakt, also den Tunnelheader entfernt. Diese Paket wird dann wie gewohnt an den Empfänger im Lan geschickt. Der Tunnel verhält sich also wie eine bidirektionale Direktverbindung zwischen beiden Tunnel-Servern. Tunnel-Server (VPN-Gateways) können von Firmen selbst eingerichtet sein oder vom Provider in Anspruch genommen werden. Bei einem mobilen Zugriff von aussen befindet sich der VPN-Client auf dem Host(Laptop).

Sicherheitsanforderungen an VPN-Tunnel

Jeder VPN-Tunnel muss Sicherheitsanforderungen erfüllen. Beim Sicherheitsaspekt gibt es drei Anforderungen zu unterscheiden:

  1. Verschlüsselung (Vertraulichkeit) – als Schutz gegen unbefugtes Mitlesen
  2. Authentisierung der Nachtricht (Paket-Integrität) – Unverfälschheit der Nachricht
  3. Authentisierung des Absenders (Paket-Authentizität) – unzweifelhafte Zuordnung eines Senders/Empfängers

Vpn

Shema VPN Tunnel

Zur Umsetzung dieser Anforderungen greift VPN auf bewährte Verfahren zurück.

1. Zur Verschlüsselung

  • symmetrische Verschlüsselung (DES, 3DES, AES, RC4/WEP)

2. Zur Authentifizierung

  • PAP/Chap
  • EAP/Radius mit und ohne Zertifikat

3. Zur Paketintegrität

  • verschlüsselter Hashwert

4. Zum Schlüsselaustausch

  • PKS (Pre Shared Key)
  • asymmetrische Verschlüsselungsverfahren (siehe Https)

Welches Verfahren zur Anwendung kommt, bestimmt entweder das VPN-Verfahren oder wird bei der Kontaktaufnahme der VPN-Geräte vereinbart.

Layer2 VPN-Tunnel

Der VPN-Tunnel wird durch einen zusätzlichen IP-Header realisiert. Also ist das Tunnelverfahren prinzipiell in Layer3
angesiedelt. Da aber IP keine Sicherheitsmechanismen kennt, greift man bei Layer2 VPN-Tunneln auf Techniken aus Layer2
Protokollen zurück. Hier bietet sich PPP an!

PPTP Protokoll (Point-to-Point Tunneling Protokoll

Wie beim PPP-Protokoll zwischen ISSP und User muss zunächst ein Punkt-zu-Punkt Verbindung aufgebaut sein, ehe PPP beginnt. Genau dies muss auch bei einem VPN-Tunnel geschehen. Die Punkt-zu-Punkt Verbindungsstrecke stellt hier den VPN-Tunnel zwischen den beiden Tunnel-Servern dar. Also wird in einem ersten Schritt durch das PPTP-Protokoll ein Steuerungskanal für die Verbindung zwischen beiden Tunnelservern aufgebaut. Als Transportmedium dienen IP und TCP.

Shema VPN Tunnel

Dieser Steuerungskanal ist logisch getrennt (eigener TCP-Port) vom eigentlichen Datenkanal. Der Aufbau der PPTP-Verbindung verläuft sehr ähnlich wie bei der „echten“ PPP-Verbindung. Nachdem die Authentifizierung erfolgt ist, besteht der VPN-Tunnel und es kann die eigentliche VPN-Datenübertragung beginnen.

Die Nutzdaten werden verschlüsselt. Bei PPTP wird der symmetrische Schlüssel aus dem Anmeldepasswort hergeleitet (40 bzw. 128Bit /RC4 Verschlüsselung). Leider ist das nicht sehr sicher, deswegen kann auc heine DES Verschlüsselung ausgehandelt werden. Datenintegrietät (Hashwert) wird nicht gewährleistet!

Um das PPTP-Frame nun vom Tunnelserver A ins Internet zu schicken wird wieder PPP notwendig. Also wird das PPTP-Frame in ein weiteres PPP-Frame eingepackt.

Vpn

Shema VPN Tunnel

Das GRE (Generic Encapsulation Protokoll) ist ein abgespecktes TCP. Da bereits durch das PPTP eine Punkt-zu-Punkt Verbindung zwischen den Tunnelservern aufgebaut ist, sind keine Port-Adressen nötig, außerdem entfällt der Verbindungsaufbau unter TCP (Sync, Ack). Es erfolgt keine Paket-Kontrolle un damit keine Bestätigung. Gehen Pakete verloren, so wird das TCP im Original Paket reagieren.

GRE ist also eine Art UDP. (Bei L2TP ist tatsächlich anstelle von GRE UDP im Einsatz).

Allerdings besteht ein Sliding-Window Mechanismus als Flow-Control.

Das L2TP Protokoll (Layer 2 Tunneling Protocl)

Bei PPTP gibt es einen Kanal zur Steuerung und einen für die Datenübertragung. Das bringt allerdins Nachteile mit sich:

  • der Steuerungskanal bei PPTP ist nicht verschlüsselt
  • ein zweiter VPN-Tunnel zwischen zwei Tunnel-Servern kann nicht gleichzeitig errichtet werden

L2TP verwendet für die Steuerung und Datenübertragung dieselbe Frame-Struktur = INBAND-Verfahren. Also werden Nutzdaten und Steuerungs- daten wie bei TCP in gleichartige Frames eingepackt. Dadurch werden die Steuerungsdaten ebenfalls verschlüsselt und es können gleichzeitig mehrere VPN-Tunnel zwischen zwei Tunnelservern aufgebaut werden. Weiterhin können mehrere PPP-Verbindungen gleichzeitig innerhalb eines Tunnels aufgebaut werden.

Vpn

L2TP-Header

Der Transport des PPP-Rahmens kann nicht nur über IP erfolgen, sondern über ein beliebiges Medium, das die Übertragung von Punkt-zu-Punkt Datagrammen erlaubt. (z.B. ATM, ISDN, usw.)

Weitere Nachteile von PPTP:

  • unsichere Verschlüsselung
  • unflexibel bei Neuerungen

werden bei L2TP dadurch beseitigt, dass keine Sicherheitsverfahren festliegen, sondern mit dem Beginn der Übertragung vereinbart werden. So ist u.a. eine Kopplung an IPSEC möglich.

IPSEC (IP Security)

IPSEC arbeitet im Gegensatz zu PPTP und L2TP auf der Netzwerkschicht(Layer3). D.h. die Sicherung der Daten wird nicht mehr durch PPP
realisiert, sondern durch spezielle Verfahren auf Layer3 wird das eigentlich unsichere IP gesichert.

IPSEC kann bei Bedarf alle Sicherheitsanforderungen erfüllen:

  1. Verschlüsselung (Vertraulichkeit)
  2. Authtizität der Nachricht (Paket-Integrität)
  3. Authetizität des Absenders ( Paket-Authetizität)

Dabei gestattet IPSEC-Protokoll, alle gängigen Verfahren für die gewünschten Sicherheitsstufen.

IPSEC-Paket mit Authetifikation Header (AH)

Ein IPSEC-Paket mit einem Authetifikation Header stellt sicher, dass das empfangene Paket tatsächlich vom richtigen Absender stammt und dass das Paket nicht verändert wurde. Zur Realisierung wird ein Hashwert über die zu schätzenden Daten (inkl. Header) gebildet und dieser mit dem typischerweise symmetrieschen Schlüssel des Absenders verschlüsselt. Diese Info ist als Hashwert im Authetifikation Header enthalten und zusätzlich eine Sequenznummer. Das Datenpaket wird nicht verschlüsselt.

Anwendung: Inhalt nicht kritisch, aber authentisch (Bestellung)

Ipsec

IPsec (AH)

IPSEC mit Encapsulation Security Payload Header (ESP)

Ein IPSEC-Paket mit einem Encapsulation Security Payload Header stellt sicher, dass die Nutzlast komplett verschlüsselt ist.
Zusätzlich wird Authentifizierung und Datenintegrität wie bei Authetification-Header(AH) ermöglicht.

Im ESP-Header sind bei Bedarf zusätzliche Daten für die Entschlüsselung enthalten (Initialisierungsverktor =>siehe WEP und Sequenznummer). Im Trailer ESP-Authetications-Data befindet sich der verschlüsselte Hashwert für die Athentifizierung und Datenintegrität. Bei AH ist das gesamte Paket authentifiziert, bei ESP immer ohne den Tunnel-IP Header.

Vpn

IPsec (ESP)

IPSEC im Transportmodus

IPSEC hat gegenüber den anderern Verfahren einen weiteren Vorteil:

Es kann als „normales“ Transportprotokoll verwednet werden. Es wird nur die reine Nutzlast authentifiziert (AH) oder zusätzlich verschlüsselt(ESP). Dadurch muss weniger Overhead übermittelt werden, die Bandbreitenbelastung ist geringer.

Beim Transportmodus handelt es sich immer um einen End-to-End VPN-Tunnel, da die IP-Adressen Original-Quelle und Original-Ziel angeben.

IPSEC im Tunnelmodus

Er beseitigt den Nachteil im Transportmodus wo jeder Host eine VPN-Software benötigt. Typischerweise werden Firmen-LANs über ein
IPSEC-Tunnel Verbunden, sodass die Hosts ohne VPN-Software auskommen.

Aufbau einer IPSEC-Verbindug

  • Der Sicherheitsdienst wird festgelegt. (soll Verschlüsselung, Authentifizierung, Paket-Integrität oder alle verwendet werden)
  • es werden die exakten Algorithmen festgelgt (z.B. DES/Verschlüsselung, SHA1/Intergrität)
  • Sitzungsschlüssel werden ausgetauscht.

Security Association (SA)

(SA)s dienen für die Festlegung, welche Sicherheitsanforderungen zu erfüllen sind. (SA)s werden über den Security Parameter Index (SPI) eindeutig gekennzeichnet und von jedem IPSEC-Paket im (AH)- oder (ESP)Header mitgegeben. Zwischen zwei Stationen bestehen immer zwei (SPI)s.

Internet-KEy-Exchange (IKE)

(IKE) arbeitet auf UDP Port 500

Ein heikles Thema bei jeder Verschlüsselung und Authentifizierung ist die Erzeugung und Geheimhaltung der notwednigen Schlüssel. (Schlüsselmanagment).

Sicherer Schlüsselaustausch

Es lässt prinzipiell auf zwei Arten ein sichere Verbindung über IPSEC aubauen:

  • manueller Schlüsseltausch
  • automatischer Schlüsseltausch

Bei grossen VPNs wird meistens der automatische Schlüsseltausch mittels (IKE) bevorzugt.

Weitere Aufgaben von (IKE)
  1. Authentifikation des Kommunikationspartners
(IKE) bietet drei verschiedene Authentifizierungmethoden:
  • Authentifikation mit Pre-shared-Key
  • Authentifizierung mit Digitaler-Signatur
  • Authetifikation mit Public-Key Verschlüsselung
  1. Austausch der (SA)s
  1. Schlüsselerzeugung und Re-Keying

NAT-Traversal

Wegen der Authentifizierung der Pakete bei (AH) und (ESP) dürfen Veränderungen am geschätzten IPSEC-Paket nicht vorgenommen werden. Damit kann es Probleme bei NAT/PAT geben.

Für (AH)-Pakete gibt es nur die Lösung, ohne NAT/PAT zu arbeiten. Daraus ergeben sich nur zwei Möglichkeiten:

  • Anwendung innerhalb eines LANs
  • Einsatz von Provider-VPN (Intra-Provider-Modell)

Für (ESP)-Pakete gibt es NAT-Traversal. Weil bei (ESP) der IP-Header nicht uathentisiert ist, lässt dieser sich ändern. (echtes NAT möglich). Bei PAT gibt es Probleme dadurch, dass ggf. die Portnummer geändert wird. Abhilfe schaft ein VPN-Gateway mit NAT-Traversal. Die VPN-Gateways klären vorher ob NAT/PAT angewendet wird.

Wenn das der Fall ist wird das (ESP)-Paket in ein UDP-Paket gekappselt (UDP-Port 4500).

Vpn

IPsec (ESP)