Dark ITSec

Tunneling Protokolle und VPN

Was ist ein VPN?
Ein VPN dient dem Geldsparen!
Statt der Nutzung teurer Modemstrecken oder angemieteter Kanäle in z.B. Framerelay-Netzwerken setzt die VPN-Technik das Internet als "Trägermedium" ein.
Durch den Einsatz eines VPN ist es möglich, dass sich ein Dienstreisender (aber auch ein Mitarbeiter am Tele-Arbeitsplatz bzw. im Home Office) unter Nutzung des Internets in sein Firmennetzwerk einwählt. Ein VPN ist hier(mit) die günstige Alternative zu klassischen Dial-In-/ Remote Access-Lösungen.
Darüberhinaus können VPN aber auch zur Kopplung zweier Unternehmensstandorte (anstelle der von Standleitungen) eingesetzt werden (sog. Site To Site oder Branch To Branch Verbindung).

Welche Protokolle werden bei VPN eingesetzt?
PPTP
PPTP (Point To Point Tunneling Protocol) wurde ursprünglich von Microsoft und Ascend entwickelt und ist aufgrund seiner Integration in Windows weit verbreitet. Es handelt sich hierbei um eine Erweiterung des Point to Point Protokolls (PPP). PPTP ermöglicht nicht nur die Übertragung von IP-Paketen, sondern auch von IPX- und NetBUI-Paketen. Die einzelnen Pakete werden in eine modifizierte Form des Generic Routing Encapsulation Protocol Version 2 (GREv2) verpackt und zum Network Access Server (NAS) des ISP transportiert. Je Kommunikationspaar kann nur ein Tunnel aufgebaut werden.
Zur Authentisierung dient PAP/ CHAP; eine Authentisierung der Tunnelenden ist jedoch nicht vorgesehen. In PPTP sind keine Key-Management-Protokolle implementiert.
Die Datenverschlüsselung erfolgt nach dem RC4-Verfahren mit Schlüssellängen von 40, 56 oder 128 Bit. Eine Paket-Integritätsrüfung ist nicht implementiert.
PPTP ist nicht standardisiert, der Internet Draft (draft-ietf-pppext-pptp-00) ist Anfang 1997 "expired".
In die Schlagzeilen ist PPTP geraten, da verschiedene Berichte über Implementierungsdefizite bei der Schlüsselverwaltung veröffentlich

L2F
L2F steht für Layer 2 Forwarding und wurde von Cisco, Nortel und Shiva entwickelt. Die sog. Multiplex-ID L2F-Header erlaubt den gleichzeitigen Betrieb mehrerer Tunnel. Die und Client-ID erlaubt mehrere parallele Verbindungen innerhalb jeden Tunnels. Unterstützt werden Punkt-zu-Punkt und Punkt-zu-Mehrpunkt-Verbindungen. Neben PPP kann man mit L2F auch SLIP tunneln. Die Authentisierung erfolgt über ein Challenge-Handshake-Verfahren.
L2F kann über unterschiedliche Paketnetze transportiert werden wie z.B. X.25, Frame Relay oder ATM.
Es erfolgt keine Verschlüsselung der Daten!
Der zugehörige RFC 2341 hat den Stand "historic"!

L2TP
L2TP vereint die Vorteile von PPTP und L2F. Eine Tunnel-ID im L2TP-Header erlaubt den Betrieb multipler Tunnels. NAT (Network Address Translation) wird unterstützt. Der L2TP-Tunnel wird aufgebaut zwischen den NAS des ISP und dem VPN-Knoten (beim Anwender).
L2TP erlaubt eine Authentisierung auf der Basis von CHAP/ PAP.
Es ist keine Verschlüsselung definiert.
L2TP ist ein Proposed Standard nach IETF (RFC 2661).
Im "Proposed Standard" RFC 3193 ("Securing L2TP using IPsec") ist eine Methode beschrieben, um L2TP und IPsec zu kombinieren und L2TP dadurch mit der fehlenden Verschlüsselung zu versehen.

IPsec
IPsec steht für IP Security Protocol. Als Erweiterung/ Ergänzungvon/ zu IP ist es ein Layer-3-Tunneling-Protokoll. IPsec war ursprünglich für IP Version 6 geplant (RFCs 1825, 1826, 1827, 1828 und 1829), ist heute jedoch (auch) vollständig für IPv4 standardisiert. Es erlaubt (derzeit) jedoch nur die Verschlüsselung von IP-Paketen, überträgt keine Multicasts und unterstützt - bewusst! - nur statisches Routing.
IPsec wird in den RFCs 2401 bis 2412 beschrieben, die die o.g. RFCs abgelöst haben. Alle RFCs haben den Status Proposed Standard. Eine Aufstellung der wichtigsten RFCs finden Sie auf meiner IPsec-Seite

Wesentliche Ziele im "Pflichtenheft" der IPsec-Definition waren, dass

sich IPsec transparent gegenüber den Applikationen verhält und somit leicht in bestehende Netze integriert werden kann
keine Festlegung auf bestimmte Verschlüsselungsverfahren erfolgen muss (Zukunftssicherheit!)
für die Authentisierung und die Verschlüsselung unterschiedliche Protokolle zum Einsatz kommen, die unabhängig voneinander oder zusammen eingesetzt werden können
es grundsätzlich möglich sein soll, IPSec um weitere Protokolle zu ergänzen

Die Datenintegrität und die Authentisierung des Datenursprungs wird mittels des Authentication Headers (AH) erreicht. Der AH-Header schützt die Daten und einige Header-Teile des zu übertragenden IP-Pakets vor Verfälschung. Dazu wird mittels bekannter Hash-Funktionen wie MD-5 (Message Digest) oder SHA-1 (Secure Hashing Algorithmus) eine Prüfsumme aus der IP-Payload gebildet und im AH-Header an den Empfänger übertragen. Nur wenn dieser dieselbe Prüfsumme aus dem empfangenen Paket errechnet ist sichergestellt, dass die Nachricht während der Übertragung nicht verändert wurde und auch nur von dem Absender stammen kann, da nur dieser den geheimen Schlüssel für das gewählte Authentisierungsverfahren kennt. Während es für SHA-1 Berichte über (theoretische) Security-Schwächen gibt, gilt MD-5 als in jeder Beziehung unangreifbar. Dieser Vorteil wird jedoch - wie so oft - über eine deutlich geringere Geschwindigkeit erkauft.
Die Verschlüsselung der Daten (Encapsulating Security Payload - ESP) erfolgt mit einem beliebigen Schlüssel (z.B. Triple-DES, AES).
Da IPsec einerseits ein Höchstmaß an Sicherheit bietet und andererseits der Bedarf, neben IP auch andere Protokolle (wie IPX, NetBUI) zu tunneln abnimmt, wird es die o.g. Layer-2-Protokolle langfristig als VPN-Standard-Protokoll ablösen.

VPN-Verbindungsaufbau:

1) Verbindung zum Internet über einen ISP wird herstellen.
2) Verbindung zwischen VPN-Client und Tunellserver wird hergestellt.
3) Authentisierungsüberprüfung kann auch ein Auth.Server an den Tunnelserver geschaltet werden.
4) Sichere Verbindung über ein Tunnelprotokoll(PPTP,L2F,L2TP, IPSec im Tunnelmodus) wird etabliert.
5) Eine gesicherte Verbindung zu einem Firmenrechner kann aufgebaut werden.

Detailliert an Hand des Beispiels von PPTP:
1) Eine Verbindung zum ISP über PPP oder PPPoE (DSL) wird hergestellt.
2) Beim Verbinden zum Server stellt der ISP eine Verbindung zum Tunnelserver an Hand der IP.
3) Authentisierungsüberprüfung über einen Login beim Tunnelserver (auch PNS oder (L2F)LNS- Server genannt).
4) Tunnel besteht und die Daten werden in Pakete gepackt und am Tunnelserver wieder entpakt.
5) Der Tunnelserver sorgt für das Entpaken von GRE und PPTP Headern und gibt die Pakete ans Firmennetz weiter

Arten von Tunnelprotokollen
Passagierprotokoll
(eingekapseltes bzw. getunneltes Protokoll):
 - beim Layer-2-Tunneling (z.B.L2TP) ist es PPP   
 - beim Layer-3-Tunneling (z.B. IP, IPX oder AppleTalk) direkt
Kapsel- bzw. Tunnelprotokoll
welches für den Auf- und Abbau des Tunnels verantwortlich ist:
 - VTP (3Com) ... unbedeutend
 - L2F (Cisco)
 - PPTP ( Microsoft)
Transport- oder Carrier-Protokoll
das für den Transport des Kapselprotokolls verantwortlich ist:
z.B. ATM, da es Routing-Fähigkeiten besitzt und unabhängig vom Layer-3 -Protokoll arbeitet

VPN mit RAS Implementierung.

Packetstrukturen von PPTP und L2TP

PPTP   L2TP  
PPP#1 Verbindung bis zum ISP PPP#1 Verbindung bis zum ISP
IP   IP  
UDP IPSec sind Optional z.b. für die Verschlüsselung
UDP/TCP
GRE Regelt die Datenverbindung über die zweite Verbindung L2TP Statt GRE und PP#2 bei PPTP
PPP#2  
IP
UDP/TCP IP/IPX
Nutzdaten   Nutzdaten  

Arten von Tunnel-Verbindung
s50

Arten von VPN Aufbaustrukturen:
Site to Site
Zwei Firmennetzwerke werden über VPN-Server zu einem Extranet verbunden
Bei Site-to-Site-VPNs unterscheidet man zwischen Intranet VPNs und Extranet VPNs, die verschiedenen Sicherheitsanforderungen genügen müssen
End to Site
Ein Rechner Verbindet sich in ein Firmennetz über einen VPN-Server
Für den Aufbau von End-to-Site-VPNs eignen sich im besonderen adressunabhängige VPN-Protokolle wie PPTP, da der Großteil der ISPs mit dynamischen IP-Adressen arbeitet.
End to End
Ein Client verbindet sich mit einem Firmenrechner oder Firmenserver auf dem die VPN-Server-Software läuft.
Besonders geeignete Protokolle für den Aufbau von End-to-End-VPNs sind L2F, L2TP und IPSec, wobei IPSec für Anwendungen, die ein Höchstmaß an Sicherheit erfordern, am besten geeignet ist.

Übersicht der Protokolle im OSI und TCP/IP Model

Schicht OSI-Modell TCP-/IP-Modell Protokolle
7 Application-Layer
(Anwendungsschicht)
  HTTP, FTP, POP3...
6 Presentation-Layer
(Darstellungsschicht)
Application-Layer
(Anwendungsschicht)
5 Session-Layer
(Sitzungsschicht)
  SOCKS v5
4 Transport-Layer
(Transportschicht)
Transport-Layer
(Transportschicht)
TCP, UDP
3 Network-Layer
(Netzwerkschicht)
Internet-Leyer
(Internetschicht)
IP, IPSec
2 Data-Link-Layer
(Datenübertragungsschicht)
  PPTP, L2TP, L2F
1 Physikal-Layer
(physikalische Schicht)
Network-Interface
(Netzwerkschnittstelle)

Übersicht über die unterschiede der VPN-Protokolle

Eigenschaft PPTP L2F L2TP IPSec
Protokoll-Ebene Layer 2 Layer 2 Layer 2 Layer 3
Standard Nein Nein Ja Ja
Paket-Authentifizierung Nein Nein Nein Ja
Benutzer-Authentifizierung Ja Ja Ja Ja
Datenverschlüsselung Ja Nein Nein Ja
Schlüsselmanagement Nein n/a
 keine Verschlüsselung
n/a
keine Verschlüsselung
Ja (IKE)
QoS Quality of Service Nein Nein Nein Ja
andere Protokolle (neben IP) tunnelbar Ja Ja Ja Nein
End-To-End-Security Ja Nein
(Provider-Enterprise)
Nein
(Provider-Enterprise)
Ja

FAQ
Nenne 3 Tunneling Protokolle.

PPTP
L2F
L2TP
IPSec im Tunnelmodus

Bei VPN wird eine Art LAN aufgebaut, wieso heißt es Virtuell?
Da alles übers WAN (Öffentliches Netz) die Verbindung besteht,
werden die Pakete immer anders geroutet(nehmen immer andere Strecken).

Wofür ist GRE in PPTP im Packet da?
GRE(Generic Routing Encapsulation) sorgt für die Datenflusskontrolle, Regelt die Datenverbindung über die Zweite Verbindung.

Kurz-Glossar
VPN
Virtual Private Network (Layer 3)
 Aufbau eines Virtuellen Netzes welches über z.B. Internet aufgebaut wird.
 Und nur für Definierte Benutzer zugänglich ist.

PAP Passwort Authentification Protocol
 Dient zur Authentifizierung, das Passwort wird Offen oder über ein Verschlüsselungsverfahren übertragen
 Wird am Anfang einer Anmeldung nur einmal übertragen.

CHAP Challenge Handshake Protocol
 Im unterschied zu PAP wird hier das Passwort in keiner Form übertragen sondern der Hashwert davon
 Das Protokoll ist auch Flexibler und der Authentifizierungsserver kann auch mitten in einer Sitzung noch einer Authentifikation anfordern.

PPP Point to Point Protokoll
 Definiert die Kommunikation zwischen Zweipunkt-Verbindungen.

PPTP Point To Point Tunneling Protocol (Microsoft und andere ...)
 Ist ein Tunneling Protokoll, eine Erweiterung von PPP

L2F Layer 2 Forwarding (Cisco Systems)

L2TP Layer 2 Tunneling Protocol (Microsoft und Cisco-Systems)
Hybrid-Protokoll zwischen PPTP und L2F, hat trotzdem mehr Ähnlichkeit mit L2F.

MPPE Microsoft Point to Point Encryption (Microsoft)

IPSec IP-Secury