Das Internet ist überall, und ein Traum wird wahr: Ad-hoc-Zugang von jedem Ort aus auf entfernte Geräte und Dateien. Bei einem Außentermin mal schnell den Bestand im Zentrallager prüfen, von zu Hause aus einen Brief auf dem Laserprinter im Büro drucken, die MP3-Sammlung eines Freundes in Pinneberg durchstöbern. Doch halt! Wenn ich da ran komme, können Millionen andere das auch, und darunter wahrscheinlich einige Böswillige. Es sei denn, die Verbindung wäre speziell gesichert.
Das private Internet, das wärs. Überall verfügbar - aber nur für mich (und vielleicht ein paar andere, denen ich vertraue). Obwohl das widersinnig klingt, ist es gar nicht so weit hergeholt. Alles, was man dazu braucht, gibt es bereits. Den fast überall verfügbaren Zugang zum Internet, digitale Ausweise für Rechner, die vertrauenswürdige Teilnehmer eindeutig identifizieren, und starke Verschlüsselung, an der sich selbst Krypto-Experten mit Hochleistungsrechenzentren die Zähne ausbeißen.
Damit hat man alle Bausteine beisammen, die nötig sind, um ein virtuelles privates Netz aufzubauen. Virtuell deshalb, weil das Netz keine eigenen Leitungen benötigt, sondern eine öffentliche (und deshalb per se unsichere) Infrastruktur wie das Internet nutzt. Starke Authentifizierungsverfahren stellen sicher, dass nur Rechner, die sich richtig ausweisen, den Zugang zum privaten Netz erhalten. Verschlüsselung sorgt dafür, dass Unbefugte nur wirren Datensalat zu sehen bekommen.
Die Datenpakete reisen also wie durch Tunnel vor neugierigen Blicken geschützt durch das öffentliche und womöglich feindliche Internet von einem Rechner zum anderen. Die Tunnel bilden ein Virtual Private Network (VPN). Es verbindet einzelne Rechner, Rechner mit lokalen Netzwerken oder komplette Netze miteinander.
VPNs wurden erfunden, um örtlich getrennte lokale Netze miteinander zu koppeln. Das ist heute der gängige Einsatzfall in großen Unternehmen. Sie verbinden so ihre Filialen mit der Zentrale und sparen dadurch die Kosten für teure Standleitungen. Internet-Provider und Telekommunikations-Anbieter offerieren für diesen Bereich spezielle VPN-Dienste, indem sie einen Teil ihrer Infrastruktur zwischen definierten Endpunkten logisch zu VPNs verschalten. Das lässt sich beispielsweise über sogenannte Permanent Virtual Circuits in ATM- oder Frame-Relay-Netzen verwirklichen. Manche Provider verzichten dabei allerdings auf Verschlüsselung, sodass jemand mit Zugriff auf ihre Infrastruktur die übertragenen Daten mitlesen kann [#literatur [1]] .
Ein anderes weit verbreitetes VPN-Szenario, mit dem sich Geld sparen lässt, ist die Anbindung von externen Mitarbeitern oder Heimarbeitsplätzen ans Firmennetz (Remote Access). Statt Dialin- oder Callback-Zugänge einzurichten und dabei viel Geld für Modems, ISDN-Equipment und vor allem Telefongebühren auszugeben, setzt man einen VPN-Server auf. Über den können sich die Mitarbeiter über ihre ohnehin vorhandene - und zumeist privat bezahlte - Internet-Verbindung am Firmennetz anmelden und auf interne Server zugreifen.
Zu diesem Zweck kommt häufig Microsofts Point-to-Point-Tunneling-Protocol (PPTP) zum Einsatz - vor allem, weil alle gebräuchlichen Windows-Versionen es unterstützen. Mac OS X beherrscht PPTP ebenfalls und auch für Linux gibt es Implementierungen, mit denen der Pinguin sogar die teuren Server-Betriebssysteme aus Redmond ersetzen und mehreren PPTP-Clients gleichzeitig den VPN-Zugang ermöglichen kann [#literatur [2]] .
Die weite Verbreitung und die einfache Konfiguration prädestinieren PPTP für eine weitere, bisher eher unübliche VPN-Spielart: sichere Peer-to-Peer-VPNs für Heimanwender. Mit einem VPN kann man beispielsweise übers Internet mit Freunden spielen, auch wenn das Programm nur in lokalen Netzen funktioniert. Sie wollen ohne neugierige Mitleser mit einem Freund Dateien austauschen? Kein Problem, der Artikel in c't 10/2003 auf Seite 108 zeigt, wie einfach man mit PPTP eine sichere Verbindung herstellt, und gibt weitere Anregungen, wozu ein eigenes VPN sonst noch gut sein kann.
Trotz aller Vorzüge spricht allerdings einiges gegen den Einsatz der Redmonder VPN-Variante - vor allem dort, wo Sicherheit an erster Stelle steht. In diesem Punkt musste Microsoft für PPTP schon öfter herbe Kritik von Experten einstecken. Der Krypto-Guru Bruce Schneier kritisierte vor allem die Verwendung von Passwörtern zur Authentifizierung als zentrale Schwachstelle [#literatur [3]] . Dass er damit Recht hatte, wiesen wenig später Freiburger Studenten nach, als sie PPTP-Passwörter mit maximal acht Zeichen binnen weniger Tage knackten [#literatur [4]] . Im praktischen Einsatz sollte man deshalb die Passwörter unbedingt aus mindestens zwölf zufälligen Zeichen bilden und mit dem aktuellen MSCHAPv2 arbeiten.
Auch die Verschlüsselung der übertragenen Daten beruht auf den Passwörtern und ist damit ebenso angreifbar. Schneier kam in seiner Analyse zu dem Schluss, er hoffe, „dass die Verwendung von PPTP in dem Maße abnimmt, wie sich IPSec weiter durchsetzt“.
IPSec ist ein herstellerunabhängiger VPN-Standard, der ursprünglich für IPv6, den designierten Nachfolger des heute üblichen Internet-Standardprotokolls, entwickelt wurde. Moderne Betriebssysteme wie Windows 2000/XP, Linux, FreeBSD, Mac OS X beherrschen IPSec entweder von Haus aus oder nach Installation eines Zusatzpakets (wie FreeS/WAN für Linux). Aufgrund seiner Funktionsweise ist es allerdings - anders als PPTP - auf IP-Verkehr beschränkt; proprietäre Protokolle wie Novells IPX oder AppleTalk bleiben außen vor.
Bei IPSec erfolgen Authentifizierung und Schlüsselaustausch über ein spezielles Protokoll, das gegen passive Brute-Force-Angriffe wie den der Freiburger Studenten immun ist. Auch die Verschlüsselung von IPSec wird allgemein als sicher eingestuft (siehe auch Kasten [#vpn „VPN-Interna“]).
Klassischerweise kommt IPSec zum Einsatz, um entfernte Netze über das Internet sicher zu verbinden. Aufgrund seiner Komplexität ist es für spontane Fernzugriffs-Szenarien (Remote Access) nicht ganz einfach zu handhaben. Gerade in dieser Beziehung haben die Entwickler bei der IPSec-Implementierung FreeS/WAN in den letzten Jahren jedoch einiges verbessert.
Einen weiteren Fortschritt könnte demnächst der Einsatz des schon tot geglaubten Layer 2 Tunneling Protocol (L2TP) bringen. Via L2TP wird durch einen sicheren IPSec-Tunnel noch mal eine PPP-Verbindung getunnelt. Diese auf den ersten Blick umständlich erscheinende Vorgehensweise bringt zwei entscheidende Vorteile für die Remote-Access-Anbindung: Der Server kann dem Client beim Aufbau der PPP-Verbindung dynamisch eine private IP-Adresse und DNS- beziehungsweise WINS-Server zuweisen. Außerdem gibt es von Microsoft auch für die älteren Windows-Versionen IPSec-Implementierungen, die nur in Kombination mit L2TP nutzbar sind; in diesem Szenario allerdings bereiten die freien L2TP-Implementierungen, zum Beispiel für Linux, noch Probleme.
Wer bei der VPN-Anbindung auf ältere Windows-Versionen keine Rücksicht nehmen muss oder bereit ist, für kommerzielle IPSec-Clients Geld auszugeben, findet in c't 10/2003 ab Seite 118 eine Anleitung, wie man mit Linux und FreeS/WAN ein eigenes IPSec-Gateway aufsetzt. Damit können sowohl einzelne Heimrechner als auch ganze Netze externer Büros oder Filialen sicher auf das Firmennetz zugreifen.
Eine weitere, sichere Alternative zu PPTP ist der Einsatz von SSH als „VPN für Arme“. Das Protokoll der Secure Shell bietet zum einen starke Authentifizierung und Verschlüsselung, zum anderen leitet es auf Wunsch beliebige TCP-Verbindungen durch einen so gesicherten Tunnel um. Der Artikel auf Seite 116 zeigt, wie man damit Datenbestände übers Internet automatisiert abgleichen kann. (ju)
[1] Daniel Bachfeld, Sicheres Netz im Netz, Der Aufbau von Virtual Private Networks, c't 17/01, S. 164
[2] Jürgen Schmidt, Peter Siering, Auf Nummer sicher funken, WLAN über ein Virtual Private Network absichern, c't 6/03, S. 184
[3] Bruce Schneier und Mudge, Cryptanalysis of Microsoft’s PPTP Authentication Extensions
[4] Peter Siering, Virtual Public Network?, PPTP-Sicherheitslücke als Einstiegsloch in Uni-Funknetze, c't 16/01, S. 34
"Das private Internet" Weitere Artikel zum Thema finden Sie in der c't 10/2003: Windows als PPTP- und SSH-Server S. 108 Windows-VPN automatisieren S. 114 Dateisynchronisation mit Rsync S. 116 IPSec-Gateway im Eigenbau S. 118
[#anfang Seitenanfang]
Das Point-to-Point-Tunneling-Protocol beruht auf PPP. Es baut über eine existierende Internet-Verbindung eine Punkt-zu-Punkt-Verbindung zur Gegenstelle auf. Die Authentifizierung erfolgt nach dem Microsoft Challenge/Reply Handshake Protocol (MSCHAP). Man sollte dabei unbedingt die aktuelle Version MSCHAPv2 fest einstellen. Die Verschlüsselung übernimmt bei PPTP ein zusätzliches PPP-Kompressions-Modul namens MPPE. MPPE arbeitet wahlweise mit 128 oder 40 Bit langen Schlüsseln, die aus dem Passwort abgeleitet werden. Für 128 Bit muss man unter Umständen ein Update nachinstallieren. Das Passwort sollte aus mindestens zwölf Zeichen bestehen.
Bei IPSec gibt es im Rahmen des Internet Key Exchange (IKE) verschiedene Möglichkeiten zur Authentifizierung. Stand der Technik sind X.509-Zertifikate, bei denen eine Certification Authority die Echtheit eines RSA-Public-Keys beglaubigt (siehe auch c't 10/2003, S. 118). Als Verschlüsselung kommt in der Regel Triple-DES zum Einsatz - aber auch andere symmetrische Verschlüsselungsverfahren wie AES sind aushandelbar, sofern beide IPSec-Implementierungen sie unterstützen. Der Schlüssel wird für jede Verbindung zufällig erzeugt und im Rahmen des IKE ausgetauscht.
Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-288830
Kommentare lesen (15 Beiträge)
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.