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