Bundesamt für Sicherheit in der Informationstechnik

M 5.76 Einsatz geeigneter Tunnel-Protokolle für die VPN-Kommunikation

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator

Absicherung der Datenverbindung

Wird über ein Virtual Private Network (VPN) auf ein LAN zugegriffen, so erfolgt der Zugriff typischerweise über eine externe Datenverbindung. So wird beispielsweise bei einer direkten Einwahl (Direct Dial-In) das Netz eines Telekommunikationsanbieters benutzt. Wird die Verbindung über das Internet aufgebaut, werden die Daten über die Netze der beteiligten Internetdienstanbieter (und eventuell deren Kooperationspartner) geleitet. Da über eine VPN-Verbindung die direkte Anbindung an ein LAN erfolgt, muss der zur Datenübertragung benutzte Netzpfad so abgesichert werden, dass die Vertraulichkeit, Integrität und Authentizität gewährleistet ist. Die Absicherung wird durch das Verschlüsseln und gegebenenfalls Signieren der ausgetauschten Datenpakete erreicht, nachdem die Kommunikationspartner authentisiert wurden (siehe auch M 4.34 Einsatz von Verschlüsselung, Checksummen oder Digitalen Signaturen ). Im VPN-Umfeld haben sich verschiedene Verfahren und Mechanismen zur Absicherung der Kommunikationsverbindung herausgebildet, wie beispielsweise das Tunneling.

Die Wahl des Verfahrens, das zur Absicherung einer VPN-Verbindung zu benutzen ist, kann unter anderem von folgenden Faktoren beeinflusst werden:

  • von den Sicherheitsanforderungen an die Stärke der Verfahren (hierdurch werden beispielsweise die Schlüssellängen bestimmt),
  • von den auf Protokollebene einsetzbaren Verfahren,
  • von den durch die VPN-Hardware und -Software unterstützten Verfahren.

Generell gilt:

  • Ein VPN-Produkt bietet in der Regel eine Auswahl von unterstützten Standardverfahren zur Kommunikationsabsicherung an. Hier sollte eine möglichst breite Unterstützung von Verfahren angestrebt werden.
  • Die zum Datentransport benutzten Protokolle bieten selbst schon Sicherheitsmechanismen an. Diese können vom VPN-Produkt genutzt werden. Alternativ kann das VPN-Produkt auch eigene Verfahren anbieten.

Die Sicherheitsmechanismen basieren auf unterschiedlichen kryptographischen Verfahren. Die Maßnahme M 3.23 Einführung in kryptographische Grundbegriffe enthält eine kurze Einführung in kryptographische Grundbegriffe.

Verschlüsseln von Protokollverbindungen: Tunneling

Wird eine verschlüsselte Datenverbindung zwischen zwei Kommunikationspartnern aufgebaut, so realisiert diese Verbindung einen "sicheren Kanal". Durch diesen Kanal können beliebige Daten sicher mit dem zugrunde liegenden Kommunikationsprotokoll (beispielsweise IP) übertragen werden. Stellen die übertragenen Daten selbst die Datenpakete eines Kommunikationsprotokolls dar, so spricht man auch von einem "Tunnel".

Das Protokoll, das verwendet wird, um die Daten zu verschlüsseln, die verschlüsselten Daten durch den Tunnel zu übertragen und die Verbindung zu verwalten, wird auch als Tunnel-Protokoll bezeichnet. Bei Tunnel-Protokollen kann unterschieden werden,

  • auf welchem Transport-Protokoll sie aufbauen und welcher Protokoll-Schicht (OSI-Layer) sie zuzuordnen sind (siehe auch M 4.90 Einsatz von kryptographischen Verfahren auf den verschiedenen Schichten des ISO/OSI-Referenzmodells ),
  • welche Protokolle über die Tunnel-Verbindung übertragen werden können,
  • welche kryptographischen Verfahren zur Realisierung des Tunnels unterstützt werden,
  • ob die Endpunkte des Tunnels authentisiert werden und
  • ob über eine Verbindung des benutzten Transport-Protokolls der Aufbau mehrerer paralleler Tunnel möglich ist.

Das Tunnel-Protokoll ist im Wesentlichen zuständig für

  • Verwaltung des bzw. der Tunnel: Aufbau, Aufrechterhaltung und Abbau,
  • Aushandeln der zu verwendenden kryptographischen Verfahren für die Realisierung des Tunnels: Schlüsselaustauschverfahren, Verschlüsselungsverfahren und Signaturverfahren,
  • Ver- und Entpacken der Datenpakete der durch den Tunnel übertragbaren Protokolle sowie
  • Ver- und Entschlüsseln der Datenpakete.

Bei der Wahl der eingesetzten VPN-Hardware und -Software sollte darauf geachtet werden, dass möglichst mehrere verschiedene und etablierte Verschlüsselungsverfahren unterstützt werden. Dadurch erhöht sich die Wahrscheinlichkeit, dass zwischen Client und Server geeignete Verfahren ausgehandelt werden können.

Übersicht über gängige Tunnel-Protokolle

Im VPN-Umfeld haben sich folgende Tunnel-Protokolle etabliert:

  • PPTP (Point to Point Tunneling Protocol)
  • L2TP (Layer 2 Tunneling Protocol)
  • IPSec (Internet Protocol Security)
  • TLS/SSL (Transport Layer Security, Secure Sockets Layer)

Die Protokolle besitzen die aus der folgenden Tabelle ersichtlichen Charakteristika:

Tunnel-Protokoll Schicht Transportierte Protokolle Benötigtes darunter liegendes Protokoll Anzahl der unterstützten Tunnel Tunnel Authentisierung
PPTP 2 IP, IPX, NetBEUI IP 1 Nein
L2TP 2 IP, IPX, NetBEUI IP, X.25, Frame Relay, ATM mehrere Ja
IPSec 3 IP IP 1 Ja
TLS/SSL 4 IP, HTTP, SMTP, ... IP mehrere Ja

Tabelle: Protokolle

Ein in der Praxis wichtiger Aspekt ist, dass die ausgewählten Tunnel-Protokolle und die festgelegten kryptographischen Verfahren von allen beteiligten Tunnel-Endpunkten unterstützt werden müssen. Im Folgenden werden die gängigsten Tunnel-Protokolle kurz beschrieben.

PPTP (Point to Point Tunneling Protocol)

PPTP ist ein Tunnel-Protokoll auf Schicht 2. Es dient dazu, PPP-Verbindungen (Point to Point Protocol) über ein IP-Netz aufzubauen. Über die so hergestellte PPP-Verbindung können dann beispielsweise IP-Pakete transportiert ("getunnelt") werden. Die Sicherheitsfunktionen zur Authentisierung, Schlüsselverwaltung und Verschlüsselung werden von PPP bereitgestellt, häufig unter Nutzung des Microsoft Point-to-Point Encryption Protocol (MPPE). Im Sprachgebrauch wird jedoch oft nicht zwischen dem eigentlichen PPTP und der Kombination PPTP/PPP/MPPE unterschieden.

In gängigen Implementierungen dieses Tunnel-Verfahrens wurden Sicherheitslücken entdeckt, insbesondere in Zusammenhang mit schwachen Passwörtern. Ohne zusätzliche Sicherheitsmechanismen sollte PPTP daher nicht als VPN-Lösung eingesetzt werden.

L2TP (Layer 2 Tunneling Protocol)

Ähnlich wie PPTP dient L2TP in der Version 2 (L2TPv2) dazu, PPP-Verbindungen über paketvermittelte Netze aufzubauen. Im Gegensatz zu PPTP können bei L2TP jedoch neben IP auch andere Techniken als Trägernetz dienen, beispielsweise ATM. Für die Tunnel-Funktionalität nutzt L2TP dabei Mechanismen des von der Firma Cisco entworfenen Protokolls L2F (Layer 2 Forwarding).

L2TP bietet selbst keine Funktionen zur Verschlüsselung der Datenpakete an. Eine solche Verschlüsselung muss entweder vom Trägernetz oder von den transportierten Protokollen geleistet werden. L2TP wird daher häufig in Kombination mit IPSec (siehe unten) eingesetzt.

IPSec (Internet Protocol Security)

IPSec ist ein Protokoll auf Schicht 3, das Funktionen zur Verschlüsselung und Integritätssicherung für IP-Kommunikation bietet. In Kombination mit dem IKE-Verfahren (Internet Key Exchange, früher ISAKMP/Oakley) kann auch ein automatisierter Schlüsselaustausch sowie eine Authentisierung der Tunnel-Endpunkte erfolgen. Auch über das von der Firma Sun Microsystems stammende Verfahren SKIP (Simple Key Management for Internet Protocol) kann ein Schlüsselaustausch für IPSec-Kommunikation erfolgen. Ein manueller Schlüsselaustausch wird durch IPSec ebenfalls unterstützt. Die Authentisierung der Benutzer muss jedoch über andere Verfahren erfolgen.

IPSec ist ein komplexes Protokoll, das mehrere unterschiedliche Optionen und Betriebsmodi bietet. Weiterhin sind die eingesetzten kryptographischen Verfahren in der Spezifikation nicht abschließend festgelegt, sondern es sind lediglich Mindestanforderungen aufgeführt. Beim Einsatz von IPSec muss daher im Rahmen der Konfiguration sichergestellt werden, dass die für den vorliegenden Anwendungsfall ermittelten Sicherheitsanforderungen erfüllt werden und dass geeignete kryptographische Verfahren verwendet werden. Weitere Empfehlungen hierzu finden sich in den Maßnahmen M 5.149 Sichere Anbindung eines externen Netzes mit IPSec und M 2.164 Auswahl eines geeigneten kryptographischen Verfahrens .

TLS/SSL (Transport Layer Security, Secure Sockets Layer)

TLS/SSL ist ein weit verbreitetes Verfahren, um Transportsicherheit beispielsweise für Web-Anwendungen oder E-Mail-Übertragung bereitzustellen. Einerseits können über TLS/SSL unterschiedliche Anwendungsprotokolle, wie z. B. HTTP, SMTP, POP oder IMAP, transportiert werden. Andererseits ist es mit Hilfe spezieller Software-Komponenten auch möglich, IP-Tunnel über TLS/SSL aufzubauen. Aufgrund seiner Arbeitsweise lässt sich TLS/SSL nicht eindeutig einer bestimmten Protokollschicht zuordnen, häufig wird es jedoch als Schicht-4-Protokoll bezeichnet.

TLS/SSL bietet Sicherheitsfunktionen zur Authentisierung und Verschlüsselung sowie zum Schlüsselaustausch und Integritätsschutz. Ähnlich wie bei IPSec sind die hierfür erforderlichen kryptographischen Verfahren in der Spezifikation nicht abschließend festgelegt. Vielmehr handeln die beteiligten Kommunikationspartner die verwendeten Verfahren beim jeweiligen Verbindungsaufbau aus. Es muss daher im Rahmen der Konfiguration sichergestellt werden, dass die ermittelten Sicherheitsanforderungen erfüllt werden und dass geeignete kryptographische Verfahren verwendet werden. Weitere Hinweise hierzu finden sich in den Maßnahmen M 5.148 Sichere Anbindung eines externen Netzes mit OpenVPN , M 5.66 Clientseitige Verwendung von SSL/TLS , und M 2.164 Auswahl eines geeigneten kryptographischen Verfahrens .

Sonstige Tunnel-Protokolle

VPN-Lösungen können nicht nur über die oben genannten Tunnel-Protokolle, sondern auch über andere Verfahren aufgebaut werden. Ein Beispiel ist der Einsatz des Produktes OpenSSH für VPN-Zwecke. OpenSSH wurde primär als verschlüsselter Ersatz für telnet, ftp und die r-Dienste entwickelt, kann jedoch auch VPN-Verbindungen absichern.

Weiterhin werden Produkte am Markt angeboten, die proprietäre Tunnel- bzw. Verschlüsselungsverfahren nutzen. Der Einsatz proprietärer Verfahren sollte vermieden werden, da sich deren Sicherheitseigenschaften häufig nur schwer beurteilen lassen. Stattdessen sollten Verfahren eingesetzt werden, die sich an gängigen Standards und öffentlich verfügbaren Spezifikationen orientieren.

Prüffragen:

  • Entsprechen die verwendeten kryptographischen Verfahren und Schlüssellängen dem Stand der Technik?

  • Ist sichergestellt, dass zwischen den beteiligten VPN -Komponenten geeignete kryptographische Verfahren ausgehandelt werden?

Stand: 13. EL Stand 2013