Virtual Private Network / IPSec 1. Einführung 1.1 Was ist ein Virtual Private Network? Mit einem Virtual Private Network (virtuelles privates Netzwerk, VPN) können zwei Netzwerke über ein öffentliches Netzwerk (Internet) miteinander verbunden werden. Die beiden Netze werden virtuell zu einem privaten Netzwerk und haben dieselben Sicherheits- und Leistungsmerkmale wie diese. Es müssen nicht zwangsläufig zwei Netze sein, auch zwei einzel PC’s oder ein PC mit einem Netzwerk können verbunden werden. Mithilfe von VPNs können Unternehmen ihre Außenstellen an das Unternehmensnetzwerk anbinden und einen sicheren Datenaustausch ermöglichen. Auch Heimarbeiter oder Außendienstmitarbeiter können so auf zentrale Ressourcen zugreifen. Aus der Sicht des Benutzers ist das VPN eine Punkt-zu-PunktVerbindung zwischen dem Computer des Benutzers und dem Netzwerk des Unternehmens. Das zwischengeschaltete Netzwerk ist für den Benutzer irrelevant. Aus seiner Sicht werden die Daten wie über eine Standleitung übertragen. 1.2 VPN-Vorläufer Die früheren Lösungen für die Kommunikation zwischen dem Unternehmen und seinen Zweigstellen und Geschäftspartnern sind Standleitungen oder eigene Kommunikationsnetze. Diese Lösungen sind allerdings teuer und nicht Flexibel. Außerdem ist es nicht möglich neue Benutzer oder Standorte hinzuzufügen ohne neue Geräte oder Zugangsleitungen zu kaufen. 1.3 Die Ziele: Vertraulichkeit: Wie schützt man seine Daten gegen Abhörversuche? Die Vertraulichkeit der Daten im zweiten Kanal wird mit der bewährten DESoder Triple-DESChiffrierung (synchrone Verschlüsselung) gesichert. Es ist kein Fall eines geknackten DESSchlüsslels (56bit) bekannt, trotzdem wurde das Verfahren weiter entwickelt. Triple-DES hat einen 168-bit-Schlüssel und wird bei der ETH VPN-Verbindung verwendet. Integrität: Wie verhindert VPN, dass Daten manipuliert werden? Manuel Graf It01c Seite: 1 von 9 Virtual Private Network / IPSec Dazu werden die Datenpakete mit einer Art Checksumme geprüft. Dieses Verfahren wird mit so genannten "Hash-Algoritmen" MD5 oder SHA-1 durchgeführt. Authentizität: Ist der Kommunikationspartner wirklich derjenige, den man annimmt? Zur Identitätsprüfung wird ein gemeinsames Schlüsselwort festgelegt ein so genannter "Pre-Shared-Key". Die IKE-Funktion (Internet-Key-Exchange) verschlüsselt diesen Key automatisch. Stimmt der Code zwischen Absender und Empfänger überein, wird ein zweiter verschlüsselter Kanal aufgebaut, wo darüber die eigentliche Datenkommunikation stattfindet. Zusätzlich wird die Verbindung gesichtet durch Chap (Challenge Handshake Authentication Protocol). Der Server erstellt eine zufällige Byte-Folge die dann an den Client gesendet wird. Der sie dann wieder mit dem gemeinsamen Passwort zurücksendet. Der Vorgang kann auch von Seiten des Clients gestartet werden. Um das Einschalten eines Unbefugten auf die Leitung nach der Authentifizierung zu verhindern, kann dieser Vorgang mehrfach wiederholt werden. Veraltet: PAP: (Password Authentication Protokoll) Dieses Protokoll macht einen Abgleich der Identifikation und des Passwortes beim ISP. Es findet Anwendung bei der Anwahl über ISDN. Ist veraltet und wurde abgelöst von Chap 2. VPN-Topologien 2.1 Internes-VPN Interne VPNs werden genutzt um Abteilungen oder Rechner im internen Netzwerk abzutrennen und sie somit zu schützen. Es werden auf dem privaten Netzwerk verschiedene logische Netzwerke abgebildet. Interne VPNs werden zur Trennung von WLANs und dem restlichen Netzwerk benutzt. 2.2 Externes-VPN Bei externen VPNs wird eine Verbindung über ein öffentliches Netz (z.B. Internet) hergestellt. Dies wird verwendet um z.B. Außendienstmitarbeitern zugriff auf das interne Netzwerk und somit auch die Daten zu ermöglichen. Es können auch mehrere Standorte eines Unternehmens kostengünstig miteinander verbunden werden. 2.3 End-to-End-VPNs (Host-to-Host) End-to-End-VPNs verbinden zwei Rechner direkt miteinander. Diese Art von VPN wird oft dazu benutzt um privat Rechner über das Internet zu verbinden und so Daten auszutauschen. Manuel Graf It01c Seite: 2 von 9 Virtual Private Network / IPSec Internet Tunnelverbindung 2.4 End-to-Site-VPNs (Host-to-Network) End-to-Site-VPNs werden Hauptsächlich genutzt um Außendienstmitarbeiter an ein internes Firmennetzwerk anzubinden. Der Remote-Mitarbeiter braucht nur eine Verbindung ins Internet und einen VPN Software Client auf der Arbeitsstation. Die Software baut einen Tunnel zum Firmennetzwerk auf. Die Remoteseite braucht also keine teure Hardware. VPN-Gateway Internet Intranet Tunnelverbindung 2.5 Site-to-Site-VPNs (Network-to-Network) Bei Site-to-Site-VPNs werden zwei Netzwerke verbunden. Dazu wird spezielle Hardware benötigt. VPN-Gateway Intranet VPN-Gateway Internet Intranet Tunnelverbindung Manuel Graf It01c Seite: 3 von 9 Virtual Private Network / IPSec 3. Technische Grundlagen von VPNs 3.1 Tunneling Das Tunneling oder Kapselung ist eine Technik, die es erlaubt, beliebige Datenpakete aus einem LAN über ein anderes Netzwerk zu verschicken. Alle Pakete werden hierfür in Pakete des Netzwerkprotokolls gekapselt über das die Daten verschickt werden sollen. Dabei ist das ursprüngliche Protokoll nicht von Bedeutung also können auch IPX-Pakete durch ein IP-Netzwerk transportiert werden. Außerdem kann man durch das Tunneling private, nicht registrierte Netzwerk- und Hostadressen durch IP-in-IP-Tunneling verstecken. Damit können Netzwerke über das Internet verbunden werden, da die „privaten“ IP-Pakete in Pakete mit registrierten IP-Adressen gekapselt werden. Im Generic Routing Encapsulation (GRE) Tunnel-Pakete aufgebaut sein sollen. Manuel Graf It01c Standart ist festgelegt wie die Seite: 4 von 9 Virtual Private Network / IPSec Es werden 3 Abschnitte unterschieden. Der Tunnel-Kopf enthält das Tunnelziel, der GRE-Kopf enthält Informationen über das Tunnel-Protokoll und die Verschlüsselungsalgorithmen und die Nutzlast, also das zu transportierende Paket. Mit GRE lassen sich alle Netzwerkprotokolle tunneln. 3.1.1 Tunneling-Modelle In Abhängigkeit wo die Tunnel beginnen und enden kann man drei verschiedene Modelle unterscheiden. Intra-Provider-Modell Der Tunnel beginnt und endet beim Service Provider. Der Vorteil an diesem Modell ist das man keine spezielle Soft- oder Hardware braucht, da man nicht in das Tunneling involviert ist. Provider-Enterprise-Modell Bei diesem Modell beginnt der Tunnel beim POP (Point of Presence) des Providers und endet im Gateway des Kunden. Ende-zu-Ende-Modell Die Tunnel werden ausschließlich vom Kunden aufgebaut. Der Provider ist nicht involviert sondern transportiert nur die IP-Pakete. Manuel Graf It01c Seite: 5 von 9 Virtual Private Network / IPSec 3.2 Protokolle 3.2.1 Übersicht Eigenschaft Protokoll-Ebene Standart Paket-Authentifizierung PPTP Layer 2 Nein Nein L2F Layer 2 Nein Nein L2TP Layer 2 Ja Nein IPSec Layer 3 Ja Ja Benutzer-Authentifizierung Ja Ja Ja Ja Datenverschlüsselung Ja Schlüsselmanagement Nein QoS Andere Protokolle (neben IP) tunnelbar End-to-End-Security Nein 3.2.2 Nein Nein n/a n/a (keine (keine Verschlüsselung) Verschlüsselung) Nein Nein Ja Ja Ja Ja Ja Ja Nein Ja Nein Nein Ja IPSec Bei IPSec handelt es sich um ein Paket von Protokollen, die für Authentifizierung, Datenintegrität, Zugriffskontrolle und Vertraulichkeitsbelange innerhalb des VPN zuständig sind. IPSec besitzt zwei verschiedene Betriebsmodi: den Transportmodus und den Tunnelmodus. Transportmodus Im Transport-modus verschlüsselt IPSec nur den Datenteil des zu transportierenden IP-Paketes. Der Original-IP-Kopf bleibt dabei erhalten und es wird ein zusätzlicher IPSec-Kopf hinzugefügt. Der Vorteil dieser Betriebsart ist, dass jedem Paket nur wenige Bytes hinzugefügt werden. Dem gegenüber steht, dass jede Station im VPN IPSec beherrschen muss, was eine Neukonfiguration von bestehenden Netzen nötig macht. Ausserdem ist es für Angreifer möglich, den Datenverkehr im VPN zu analysieren, da die Köpfe nicht modifiziert werden. Die Daten selbst sind aber verschlüsselt, so dass man nur feststellen kann, welche Stationen wieviele Daten austauschen, aber nicht welche Daten. Tunnelmodus Im Tunnelmodus wird das komplette IP-Paket verschlüsselt und mit einem neuen IP-Kopf und IPSec-Kopf versehen. Dadurch ist das IPSec-Paket grösser als im Transportmodus. Der Vorteil besteht hier darin, dass in den LANs, die zu einem VPN verbunden werden sollen, je ein Gateway so konfiguriert werden kann, dass es IP- Pakete annimmt, sie in IPSec- Pakete umwandelt und dann über das Internet dem Gateway im Zielnetzwerk zusendet, das das ursprüngliche Paket wiederherstellt und weiterleitet. Dadurch wird eine Neukonfiguration der LANs umgangen, da nur in den Manuel Graf It01c Seite: 6 von 9 Virtual Private Network / IPSec Gateways IPSec implementiert sein muss. Ausserdem können Angreifer so nur den Anfangs- und Endpunkt des IPSec-Tunnels feststellen. Authentisierung (AH) Das AH-Protokoll sorgt für die Authentisierung der zu übertragenen Daten und Protokollinformationen. AH wird zum Schutz der Paketintegrität und der Paketauthentizität eingesetzt. Die Erfolgt über ein Hashing-Verfahren. Da der äußere IP-Header in die Hashprüfung mit einbezogen wird, ist auf AH-Pakete keine Art von NAT anwendbar. Im AH-Paket befindet sich, neben verschiedenen anderen Feldern, der Security Profile Index (SPI) und eine Sequenznummer. Diese Sequenznummer kann zum Schutz vor Replay-Attacks verwendet werden. AH nutzt die IP-Protokoll-Nummer 51. Das AH-Protokoll kann sowohl im Transport-, als auch im Tunnelmodus eingesetzt werden. Transportmodus IP-Header AH-Header TCP-Header Daten authentifiziert Tunnelmodus Neuer IP-Header AH-Header Alter IP-Header TCP-Header Daten authentifiziert Verschlüsselung (ESP) Das ESP-Protokoll dient der Verschlüsselung eines Datenpaketes und über Hashing-Verfahren auch zur Integritätssicherung. Zur Verschlüsselung können beliebige Encryption-Verfahren eingesetzt werden. Im ESP-Header befindet sich - vergleichbar mit dem AH-Paket - der Security Profile Index (SPI) und eine Sequenznummer! ESP nutzt die IP-Protokoll-Nummer 50. Manuel Graf It01c Seite: 7 von 9 Virtual Private Network / IPSec Transportmodus IP-Header ESP-Header TCP-Header Daten ESP-Trailer ESP AuthenticationData authentifiziert verschlüsselt Tunnelmodus Neuer IPHeader ESPHeader Alter IPHeader TCPHeader Daten ESP-Trailer ESP Auth.Data authentifiziert verschlüsselt Schlüsselverwaltung (Key Management) Zur Schlüsselverwaltung gibt es zwei Wege, um die Verwaltung und Verteilung der Schlüssel durchzuführen. Neben der reinen - heute nicht mehr sehr gebräuchlichen - manuellen Schlüsselverwaltung, kann auch das Internet Key Exchange Protocol (IKE) eingesetzt werden. Um eine gesicherte Verbindung zwischen zwei Stationen aufbauen zu können, müssen auf beiden Seiten viele Parameter ausgetauscht werden: Art der gesicherten Übertragung (Authentisierung oder Verschlüsselung), Verschlüsselungsalgorithmus, "Schlüssel", Dauer der Gültigkeit der Schlüssel etc. Alle diese Parameter werden in der Security Association (SA) beschrieben. Jede gesicherte Verbindung bedarf einer solcher SA für jedes genutzte IPsec-Protokoll an jedem Ende einer logischen Verbindung. Die IKE Mainmethode unterstützt keine dynamischen IP-Adressen und keine Art von NAT! Für solche Fälle muss die IKE Aggressive Methode eingesetzt werden, bei der ein Angreifer den Initiator einer Verbindung feststellen kann. 3.2.2 PPTP, L2TP PPTP und L2TP versehen die Daten mittels PPP mit einem ersten "Umschlag“ und fügen dann weitere Header für den Transport über das Manuel Graf It01c Seite: 8 von 9 Virtual Private Network / IPSec Netzwerk hinzu. Beide Protokolle ähneln sich stark, weisen aber auch die folgenden Unterschiede auf: • PPTP erfordert, dass als Netzwerk ein IP-Netzwerk verwendet wird. L2TP erfordert nur, dass die Tunnelmedien paketorientierte Punkt-zuPunkt-Verbindungen bieten. • PPTP unterstützt nur einen einzigen Tunnel zwischen Endpunkten. L2TP lässt die Verwendung mehrerer Tunnel zwischen Endpunkten zu. Mit L2TP können verschiedene Tunnel für Dienste unterschiedlicher Qualität erstellt werden. • L2TP bietet Headerkomprimierung. Bei aktivierter Headerkomprimierung arbeitet L2TP mit einem Overhead von 4 Byte, bei PPTP fallen dagegen 6 Byte an. 3. Quellenverzeichnis http://www.iam.unibe.ch/~rvs/publications/sevBulletin.pdf http://www.uni-muenster.de/ZIV/inforum/2001-2/a15.html http://www.kossakowski.de/sivs98.htm http://www.zdnet.de/itmanager/tech/0,39023442,2128716,00.htm http://www.heise.de/ct/03/10/106/ http://www.tecchannel.de/netzwerk/networkworld/technologyupdate/253/ http://vpnwww.uni-jena.de/vpnvortrag.html Manuel Graf It01c Seite: 9 von 9