Sonntag, 2. September 2012


Topthema

Donnerstag, 8. M�rz 2007 | Topthema

About Security #96: Virtuelle Private Netze — PPTP

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/034729)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

PPTP, das 'Point-to-Point Tunneling Protocol', ist ein weiteres VPN-Protokoll. Es wurde von einem Herstellerkonsortium, bestehend aus Microsoft, Ascend Communications, 3Com/Primary Access, ECI Telematics und US Robotics, entwickelt und ist kein offizieller Standard, jedoch enth�lt RFC 2637 eine informelle Beschreibung.

Das PPTP dient dazu, das 'Point to Point Protocol' (PPP, RFC 1661) durch ein IP-Netzwerk zu tunneln. PPP wiederum dient dazu, verschiedene Protokolle �ber Punkt-zu-Punkt-Verbindungen zu �bertragen � z.B. IP �ber eine Modemverbindung. Haupteinsatzgebiet des PPTP ist die sichere Anbindung einzelner Rechner an ein entferntes Netzwerk (Site-to-End- oder Remote-Access-VPN).

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

Das PPTP erweitert PPP nur um die f�r Aufbau und Betrieb eines Tunnels ben�tigten Funktionen und stellt selbst keine Funktionen zur Authentifizierung und Verschl�sselung zur Verf�gung. Diese werden von PPP bzw. dessen Erweiterungen bereitgestellt. Die Authentifizierung erfolgte dabei urspr�nglich ausschlie�lich �ber ein Challenge-Response-Verfahren, vom Microsoft MS-CHAPv1 und in einer verbesserten Version MS-CHAPv2 genannt. F�r die Verschl�sselung wird die Stromchiffre RC4 verwendet, von Microsoft im Microsoft Point-to-Point Encryption Protocol (MPPE, informell beschrieben in RFC 3078) implementiert. Die erste Version verwendete einen gemeinsamen Schl�ssel f�r beide Richtungen des Tunnels, mit MS-CHAPv2 wurde ein Schl�ssel f�r jede Richtung eingef�hrt. Die verwendeten Schl�ssel werden aus einem Passwort berechnet, eine Schl�sselaushandlung wie bei IPsec/IKE findet nicht statt. Mit Windows 2000 wurde als Erweiterung das Extensible Authentication Protocol (EAP) eingef�hrt, das den Einsatz von Zertifikaten und MD5-Hashwerten f�r die Authentifizierung erlaubt.

Parallel zum eigentlichen Tunnel (bzw. schon vor dessen Aufbau) wird vom Client eine Kontrollverbindung zum TCP-Port 1723 des Servers aufgebaut. Die Endpunkte werden auf der Client-Seite als PPTP Access Concentrator (PAC) und auf der Server-Seite als PPTP Network Server (PNS) bezeichnet. Die Kontrollverbindung dient dem Auf- und Abbau des Tunnels sowie dessen �berwachung, dem Auf- und Abbau einer evtl. ben�tigten physikalischen Verbindung (z.B. einer Modemverbindung) sowie der Steuerung der PPP-Kommunikation. Da die Kontrollverbindung weder authentifiziert noch verschl�sselt ist, ist sie ein m�gliches Ziel f�r Angriffe. Zwar sind die �ber den Tunnel �bertragenen Daten davon nicht direkt betroffen, doch zumindest Denial-of-Service-Angriffe wirken sich auch auf den Tunnel aus.

Zur Kapselung der PPP-Pakete in IP-Pakete wird von PPTP ein zus�tzliches Protokoll verwendet: Generic Routing Encapsulation (GRE, spezifiziert in RFC 2784).

PPTP-Paket:
IP-Header TCP-Header TCP-Nutzdaten       IP-Paket
     
IP-Header (neu) GRE-Header PPP-Header IP-Header (alt) TCP-Header TCP-Nutzdaten       PPTP-Paket
Der Nachfolger: L2TP (Layer 2 Tunneling Protocol)

Das Layer 2 Tunneling Protocol L2TP, standardisiert in RFC 2661, ist eine Weiterentwicklung der Protokolle PPTP und Layer 2 Forwarding (L2F, beschrieben in RFC 2341, inzwischen obsolet). W�hrend der Tunnelaufbau bei PPTP nur durch den Client und bei L2F nur durch den ISP gestartet werden konnte, sieht L2TP beide Varianten vor.

About Security: Die komplette Serie

L2TP nutzt f�r die Authentifizierung die Protokolle 'PPP Challenge Handshake Authentication Protocol' (CHAP, standardisiert in RFC 1994) und 'Password Authentication Protocol' (PAP, standardisiert in RFC 1334), eine Verschl�sselung ist nicht vorgesehen. Diese wird bei Bedarf durch die Kombination von L2TP mit IPsec erreicht, standardisiert ist dies in RFC 3193.

Prinzipieller Verbindungsaufbau bei L2TP
  1. Der Client initialisiert eine PPP-Verbindung.
  2. Der Network Access Server (NAS, zust�ndig f�r den tempor�ren Netzwerkzugang des Clients) akzeptiert die Initialisierung und authentifiziert den Client (z.B. auf Grundlage seines lokalen Authentifizierungsservers).
  3. Nach erfolgreicher Authentifizierung baut der NAS einen L2TP-Tunnel zum gew�nschten Endpunkt auf. Analog zum PAC/ PNS des PPTP wird der Endpunkt auf Seiten des NAS als LAC (L2TP Access Concentrator) und sein Gegenst�ck als LNS (L2TP Network Server) bezeichnet.
  4. Der LNS authentifiziert den Client (z.B. auf Grundlage seines lokalen Authentifizierungsservers).
  5. Nach erfolgreicher Authentifizierung akzeptiert der LNS den L2TP-Tunnel.
  6. Der LNS baut durch den L2TP-Tunnel die PPP-Verbindung zum Client auf.

L2TP unterscheidet zwei Pakettypen: Kontrollpakete und Datenpakete. Kontrollpakete dienen dem Auf- und Abbau und der �berwachung des Tunnels. Datenpakete werden f�r die Kapselung der �ber den Tunnel �bertragenen PPP-Pakete verwendet. Kontrollpakete werden �ber einen zuverl�ssigen Kontrollkanal �bertragen, Datenpakete �ber einen unzuverl�ssigen Datenkanal. Die Paket-Header beider Typen unterscheiden sich nur im Wert des 'Type'-Bits.

Sowohl PPTP als auch L2TP verlieren an Bedeutung und werden zunehmend durch IPsec und VPN auf der Basis von Transport Layer Security (TLS) ersetzt. Letztere sind das Thema der n�chsten Folge.

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

Folgende Links könnten Sie auch interessieren