VPN 101

Ein VPN (Virtual Private Network, zu deutsch Virtuelles Privates Netzwerk) dient als verschlüsselte Verbindung (siehe dazu https://fullme.sh/kryptographie-101/) zwischen 2 Netzen. Es gibt drei Arten von VPNs welche grundlegend unterschieden werden.

Damit ein VPN als sicher gilt müssen Authentizität, Vertraulichkeit und Integrität sichergestellt werden.

  • Authentizität => Die eindeutige Identifizierung von autorisirten Usern.
  • Vertraulichkeit => Wird durch Verschlüsselung sichergestellt.
  • Intigrität => Es wird sichergestellt das Daten nicht von Dritten verändert wurden.

Arten

Site-to-Site-VPN

Zwei Netzwerke werden miteinander verbunden, die Größe der Netzwerke spielen keine Rolle. Dafür werden meist VPN-Gateways/Router genutzt.

Meist zwischen Dienstleister und Firmen oder innerhalb einer Firma zwischen mehreren Standorten verwendet.

End-to-Site-VPN

Ein Client verbindet sich mit einem Netzwerk. Meist wird dafür eine Software benötigt. Auch Remote-Access-VPN oder SSL-VPN genannt.

End-to-End-VPN

Zwei Clients verbinden sich miteinander. z.B. ein Remote-Desktop-VPN oder Peer-to-Peer-VPN.

Ich werde mich hauptsächlich auf End-to-Site-VPN und Site-to-Site-VPN konzentrieren, da dies in meinem Arbeitsumfeld genutzt wird und ich hierfür gute Beispiele nennen kann.

Site-to-Site-VPN

Die Sicherheit bei einem Site-to-Site-VPN werden mittels mehrerer Faktoren sichergestellt.

  • Interoperalitität
  • kyptografischer Schutz der übertragenen Daten
  • Zugangskontrolle
  • Datenintegrität
  • Authentisierung des Absenders (Benutzerauthentisierung)
  • Verschlüsselung
  • Authentifizierung von Schlüsseln
  • Verwaltung von Schlüsseln (Schlüsselmanagement)

Bei einem Site-to-Site-Tunnel wird eine Vertrauensstellung (Security Association) aufgebaut.

Dies geschieht im Regelfall über zwei VPN-Gateways / VPN-Router. Ein VPN-Gateway kann eine Vertrauensstellung zu mehreren verschiedenen Netzen haben.

Damit eine Vertrauensstellung aufgebaut werden kann, müssen auf beiden Seiten Parameter ausgetauscht und gleich festgelegt werden:

  • Art der gesicherten Übertragung (Authentifizierung oder Verschlüsselung)
  • Verschlüsselungsalgorithmus
  • Schlüssel
  • Dauer der Gültigkeit der Schlüssel

Der Schlüssel auch Pre-Shared-Key (PSK) genannt und ist letztendlich ein Passwort welches auf beiden Seiten gleich definiert sein muss.

Die zentralen Funktionen in der IPsec-Architektur sind das AH-Protokoll (Authentification Header), das ESP-Protokoll (Encapsulating Security Payload) und die Schlüsselverwaltung (Key Management). Authentizität, Vertraulichkeit und Integrität erfüllt IPsec durch AH und ESP.
Für den Aufbau eines VPN gibt es in IPsec den Authentication Header (AH) und den Encapsulating Security Payload (ESP). Beide können gemeinsam oder eigenständig genutzt werden. In beiden Verfahren findet eine gesicherte Übertragung statt.
Das AH-Protokoll sorgt für die Authentifizierung der zu übertragenen Daten und Protokollinformationen. Das ESP-Protokoll erhöht die Datensicherheit in Abhängigkeit des gewählten Verschlüsselungsalgorithmus.

Schlüsselverwaltung mit IKE – Internet Key Exchange Protocol

Es gibt zwei Wege für die Verwaltung und Verteilung der Schlüssel innerhalb eines VPNs. Neben der reinen manuellen Schlüsselverwaltung, kann auch das Internet Key Exchange Protocol (IKE) eingesetzt werden.
Vor der geschützten Kommunikation müssen sich die Kommunikationspartner über die Verschlüsselungsverfahren und Schlüssel einig sein. Diese Parameter sind Teil der Sicherheitsassoziation (Vertrauensstellungen) und werden von IKE/IKEv2 automatisch ausgehandelt und verwaltet.
Das Internet-Key-Exchange-Protokoll dient der automatischen Schlüsselverwaltung für IPsec. Es verwendet das Diffie-Hellman-Verfahren zum sicheren Erzeugen von Schlüsseln über ein unsicheres Netz. Auf Basis dieses Verfahren wurden einige Schlüsselaustauschverfahren entwickelt, die zum Teil die Grundlage für Internet Key Exchange bilden.
IKE basiert auf dem Internet Security Association and Key Management Protocol (ISAKMP). ISAKMP ist ein Regelwerk, das das Verhalten der beteiligten Gegenstellen genau festlegt. Wie das zu erfolgen hat, legt IKE fest. Die Flexibilität von IKE äußert sich in seiner Komplexität. Wenn unterschiedliche IPsec-Systeme keine Sicherheitsassoziationen austauschen können, dann liegt das meistens an einer fehlerhaften IKE-Implementierung oder fehlende Verschlüsselungsverfahren.

Version 2 des Internet-Key-Exchange-Protokolls (IKEv2) vereinfacht die Einrichtung eines VPNs. Es ist wesentlich einfacher, flexibler und weniger fehleranfällig.

IKEv2 korrigiert einige Schwachstellen bzw. Probleme der Vorgänger-Version. Die Definition wurde in ein Dokument zusammengefasst, der Verbindungsaufbau vereinfacht und viele Verbesserungen hinzugefügt. Insgesamt ist IKEv2 weniger komplex als die Vorgänger-Version. Das erleichtert die Implementierung, verringert Fehler und erhöht somit die Sicherheit.
IKEv2 ist allerdings nicht abwärtskompatibel zu IKE. Beide Protokolle werden aber über denselben UDP-Port betrieben.

Im Zusammenhang mit IPsec werden häufig die Begriffe Main Mode und Aggressive Mode verwendet. Es handelt sich dabei um unterschiedliche Verfahren zur Schlüsselaushandlung.

End-to-Site-VPN

Meist wird ein End-to-Site-VPN aufgebaut, indem eine Software auf dem Client installiert wird (z.B. Cisco AnyConnect, Sophos, Pulse Secure, OpvenVPN) oder eine Browser-basierte Lösung wird verwendet.

Es wird eine verschlüsselte Verbindung zwischen einem Client/Anwendung und einem Netzwerk (z.B. einem Arbeitsnetzwerk / Firmennetzwerk) aufgebaut.

Hierzu wird SSL bzw. TLS verwendet.

Bei einer Software-Lösung wird meist im Betriebssystem eine weitere (virtuelle) Netzwerkkarte angelegt, über welche dann sämtlicher Verkehr geschickt wird.

Bei einer Browser-Lösung wird nur der Inhalt des Fensters mit HTTPS-Requests und HTTPS-Responses übertragen. Es werden allerdings keine weitere Anwendunge, wie Mail oder Dateien verschlüsselt über den Tunnel geschickt, bzw. besteht für andere Anwendungen keine Verbindung zum Netzwerk.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert