Tunneln von Verbindungen

Unter Tunneling ist grundsätzlich der Transport von Paketen eines Protokolls über andere Transportprotokolle mittels Kapselung zu verstehen. Heute wird diese Technik vor allem in Verbindung mit Kryptographie zur Sicherung von Netzwerkverbindungen verwendet.

Bei der Sicherung von Netzwerkverbindungen geht es um die Etablierung eines Secure Channel den, in der Netzwerkschicht darüber liegende, Protokolle nutzen können um sensitive Informationen austauschen zu können. Im Grunde existiert mit TLS bzw. SSL schon ein weit verbreitetes Protokoll, welches diese Funktion unterstützt. Nachteil von SSL ist, dass auf Socket bzw. Session-Ebene gearbeitet wird, und nur für ein darüber liegendes Anwendungsprotokoll dieser sichere Punkt zu Punkt Tunnel geschaffen wird. Dennoch lässt sich auch SSL für Tunneling einsetzen - am Markt werden SSL-VPN Produkte angeboten, die dieses unterstützen. VPNs werden aber meist auf einer tieferen Netzwerkschicht realisiert.

PPTP - Point to Point Tunneling Protokoll

PPTP - Paket
PPTP - Paket

Das Point-to-Point-Tunneling Protokoll (RFC 2637) kapselt PPP Pakete in IP-Paketen und erlaubt so verschiedene Protokolle über IP-Verbindungen zu tunneln. Da PPP dahinter steht sind auch EAP Authentifizierungsmethoden zu nutzen. Mit der Nutzung von EAP-TLS ist auch die Verwendung von Zertifikaten möglich. Zusätzlich fällt auch gleich Schlüsselmaterial, welches für das bei PPP bzw. PPTP verwendbare MPPE (Microsoft Point to Point Encryption - RFC 3078) verwendet werden kann. MPPE basiert auf RC4 (40, 56, 128 Bit).

PPTP verwendet eine TCP Verbindung zur Erfüllung der notwendigen "Verwaltungssaufgaben" für einen sicheren Tunnel. Generic Routing Encapsulation (GRE) wird verwendet, um PPP-Pakete zu kapseln und zu transportieren.

L2TP - Layer 2 Tunneling Protokoll

L2TP - Paket
L2TP - Paket

Das von Cisco stammende Layer 2 Tunneling Protokoll (RFC 2661) stellt eine Kombination aus PPTP und Layer 2 Forwarding (L2F) beschrieben in RFC 2341 dar. L2TP funktioniert auch über X.25, Frame Relay und ATM.

L2TP über IP verwendet UDP und eine Reihe von L2TP Nachrichten für die Verwaltungsaufgaben zum Tunnel. L2TP verwendet zudem UDP um L2TP-gekapselte PPP Pakete als getunnelte Daten zu versenden. Natürlich können die Daten wie bei PPTP verschlüsselt werden. Microsoft unterstützt allerdings kein MPPE bei PPTP und verwendet deshalb L2TP mit IPsec.

L2TP / IPSEC

L2TP mit IPSEC ESP
L2TP mit IPSEC ESP

Microsofts Implementierung von L2TP unterstützt nur IPSec, wobei IPSec Encapsulating Security Payload (ESP) verwendet wird, L2TP zu verschlüsseln. Die Kombination von L2TP als Tunnel-Protokoll und IPSec als Verschlüsselungsmethode ist als L2TP/IPSec in RFC 3193 beschrieben.

IPSEC Tunnel Mode

IPSec im Tunnel mode erlaubt ganze IP packets zu verschlüsseln und mit einem neuen IP-Header über IP-Netzwerk zu senden.

VPN Tunnels

Ein Virtual Privat Network kann mehrere Einsatzbereiche besitzen. Als Remote Access VPN hat es die teuren RAS-Zugänge über PSTN (Telefonnetz) ersetzt. Unterschiedliche Firmenstandorte können mit VPN als WAN verbunden werden, bzw. auch organisationsintern können bestimmte Abteilungen oder WLAN mit VPN-Server vom restlichen LAN getrennt werden.

Bei Remote Access VPN sind "Voluntary Tunnels" häufiger anzutreffen, wo nach Etablierung einer IP-Verbindung ein VPN-Tunnel etabliert wird. Bei "Compulsory Tunnels" wird bei der Etablierung einer IP-Verbindung mit einem Internet Service Provider (ISP) eine VPN-Verbindung von einem Front-End-Processor (PPTP), L2TP-Access-Concentrator - LAC(L2TP) oder IP-Security-Gateway (IPSec) beim ISP zu einem VPN-Server der Organisation erzwungenerweise hergestellt.

Anforderungen an ein VPN

Grundlegende Anforderungen an ein VPN ist die Benutzerauthentifizierung, da der VPN-Zugriff ausschließlich auf autorisierte Benutzer einzuschränken ist, wobei weiters eine Überwachung und ein Accounting sinnvoll ist, um nachvollziehen zu können welche Aktionen gesetzt wurden.

Um Vertraulichkeit zu gewährleisten sind die, über das offene Netz, übertragenen Daten zu verschlüsseln, auch unverschlüsselte Tunnel die durch ihre Datenkapselung können wohl als VPNs betrachtet werden, doch sind diese Tunnel für sensitive Daten ungeeignet. Damit einher muss ein Schlüsselmanagement geschehen, Verschlüsselungsschlüssel für den Client und den Server müssen erzeugt und aktualisiert werden.

Zur technischen Umsetzung muss eine VPN- Lösung auch die Adresse eines Clients auf dem privaten Netz zuordnen und sicherstellen, dass private Adressen privat bleiben

Verfahren bei Microsoft

Bei Microsofts VPN Unterstützung kommen entweder PPTP mit MPPE (Microsoft Point to Point Encryption) als Verschlüsselungsmethode zum Einsatz, oder L2TP , wobei diese Implementierung MPPE nicht unterstützt sondern stattdessen IPSec zur Verschlüsselung verwendet.

Als Authentifizierungsmethode ist bei beiden die PPP Erweiterung EAP möglich, womit bei Einsatz z.B. von EAP-TLS auch gleich Schlüsselmaterial für die folgende Verschlüsselung (z.B. für MPPE) möglich ist. Bei L2TP/IPSec wird über IKE Schlüsselmaterial vereinbart.