Protokolle und Techniken von VPNs

Aus LinuxUser 02/2023

Protokolle und Techniken von VPNs

© Maxim Kazmin / 123RF.com

Tunnelbauer

Virtual Private Networks versprechen mehr Sicherheit und Schutz für Anwender. Wir vermitteln die Grundlagen dieser Technologie.

Sicherheit und Anonymität nehmen für viele Anwender im Internet einen immer höheren Stellenwert ein. Vor allem dort, wo persönliche Daten preisgegeben werden müssen, etwa bei Online-Einkäufen, dem Verwenden digitaler Behördendienste oder auch bei der Korrespondenz per E-Mail, ist eine gesicherte Verbindung zwischen Servern und Clients obligatorisch. Auch bestimmte Berufsgruppen wie Journalisten oder Juristen profitieren von sicheren Kommunikationswegen.

Daher gewinnen Technologien wie virtuelle private Netzwerke (VPNs) immer mehr an Bedeutung, da sie neugierige Lauscher aussperren und zudem einen Baustein für mehr Anonymität im Netz darstellen. Außerdem ermöglichen sie es, regional eingeschränkte Leistungen von Drittanbietern zu nutzen, etwa TV-Sendungen, die durch Geoblocking normalerweise nicht erreichbar sind.

Konzept

Virtual Private Networks stellen ein sogenanntes Overlay-Netz zur Verfügung, das eine sichere Kommunikation über ein unsicheres Netz erlaubt. Als unsichere Netze gelten beispielsweise das Internet oder auch ein lokales, öffentliches WLAN. In einem etablierten VPN kommunizieren die Clients ausschließlich über einen VPN-Server. Die Verbindungen zwischen diesem Server und den Clients finden über einen verschlüsselten Tunnel statt. Dazu nutzen VPN-Systeme spezielle Software wie beispielsweise OpenVPN oder Wireguard.

Ruft ein Client im VPN-Netz eine Webseite auf, so wird diese Anfrage über den Tunnel zum VPN-Server geschickt und von diesem an den Zielcomputer weitergeleitet. Der Zielrechner sieht dabei lediglich die IP-Adresse des VPN-Servers, nicht jedoch die reale IP-Adresse des anfragenden Clients, was Tracking-Versuche teilweise erschwert (Abbildung 1). Da die gängigen VPN-Diensteanbieter zudem Server in verschiedenen Ländern betreiben, lässt sich auch der Standort des Clients nicht nachvollziehen. Mit dieser Technologie lässt sich darüber hinaus das sogenannte Geoblocking umgehen, das die IP-Adressen der Clients auswertet und nur Anfragen aus bestimmten Ländern oder Regionen zulässt.

Abbildung 1: Die Nutzung eines VPNs verschleiert IP-Adresse und Standort des Clients, was ein Tracking erschwert.

Abbildung 1: Die Nutzung eines VPNs verschleiert IP-Adresse und Standort des Clients, was ein Tracking erschwert.

Einsatz

Zum Aufbau eines VPN-Netzes benötigen Sie keine spezielle Hardware. VPN-Installationen basieren komplett auf Software, wobei für Linux zahlreiche Lösungen bereitstehen. Freie, quelloffene Software spielt hier ihre Vorteile gegenüber proprietären Angeboten aus, da eventuell vorhandene Hintertüren schnell auffallen, mit deren Hilfe Unbefugte die Kommunikation im VPN nachvollziehen könnten. Daher nutzen auch öffentliche VPN-Anbieter in aller Regel Software, die auf IPsec, OpenVPN oder Wireguard basiert.

Größere Unternehmen verwenden meist ein internes VPN, um beispielsweise Filialen an den Hauptsitz eines Unternehmens anzubinden oder Außendienstmitarbeitern Zugriff auf das Intranet einer Organisation zu gewähren. Für kleinere Organisationen oder private Nutzer eignen sich jedoch eher öffentliche VPN-Anbieter, da bei diesen lediglich auf den Endgeräten die Client-Software installiert und eine Subskription bei dem jeweiligen Dienst abgeschlossen werden muss. Teils sind die Subskriptionen auch kostenfrei erhältlich, dann jedoch meist mit funktionalen Einschränkungen oder auch einem begrenzten Datenkontingent.

Innerhalb einer etablierten VPN-Verbindung werden alle Daten verschlüsselt transferiert. Dabei kommen primär freie Protokolle und Algorithmen zum Einsatz, die als sicher gelten. So dient als Protokoll zur Transportverschlüsselung häufig TLS, während die eigentlichen Daten sowohl symmetrisch als auch asymmetrisch verschlüsselt werden. Teilweise kommt auch eine Kombination mehrerer kryptografischer Verfahren zum Einsatz.

OpenVPN

Das bereits seit 2001 verfügbare OpenVPN [1] bündelt in der quelloffenen Community-Variante sowohl Server- als auch Client-Funktionalität. Der von OpenVPN eingerichtet Tunnel besteht aus zwei gebündelten Komponenten, einem Kontroll- und einem Datenkanal. Durch das Bündeln wird jedoch nur ein Port für die Verbindung zwischen Server und Client benötigt. Dabei überträgt der Datenkanal die Nutzerdaten, während der Kontrollkanal für die Sitzungsverwaltung zuständig zeichnet.

Die zu transferierenden Nutzerdaten verschlüsselt OpenVPN symmetrisch mithilfe des Kontrollkanals nach dem AES-256-GCM-Standard. Zur Transportverschlüsselung kommt SSL/TLS zum Einsatz. Das Community-Projekt bietet OpenVPN in offiziellen Repositories an. Das Paket enthält auch eine komfortable webbasierte grafische Oberfläche zur Konfiguration und Verwaltung des Systems. Die offiziellen Repositories unterstützen jedoch nur Debian und Ubuntu mit vorkompilierten Binärdateien. Für Fedora, Red Hat Enterprise Linux und CentOS stellen die jeweiligen Distributionen eigene Binärpakete bereit.

Mit dem Projekt OpenVPN 3 Linux [2] stellt OpenVPN zudem ein grafisches Frontend für die Client-Anwendung bereit. Das ermöglicht es auch Client-Nutzern ohne Root-Rechte, eigene VPN-Verbindungen aufzubauen und zu verwalten. Binärpakete dieses Pakets gibt es ebenfalls für Debian, Ubuntu und Fedora sowie für Red Hat Enterprise Linux und CentOS.

Wireguard

Das noch junge Wireguard-Projekt [3] sorgte durch sein Konzept bereits für viel Furore. So handelt es sich bei diesem VPN-Protokoll nicht um eine in sich geschlossene Softwarelösung, sondern es ist seit Linux 5.6 bereits ein Bestandteil des Betriebssystemkerns. Dadurch glänzt Wireguard mit einer deutlich höheren Arbeitsgeschwindigkeit als vergleichbare Implementationen (Abbildung 2). Andere Betriebssysteme unterstützt Wireguard ebenfalls, jedoch nur als Anwendungspaket.

Abbildung 2: Im Test glänzt Wireguard im Vergleich zu OpenVPN mit deutlich höheren Transferraten.

Abbildung 2: Im Test glänzt Wireguard im Vergleich zu OpenVPN mit deutlich höheren Transferraten.

Ein weiterer Vorteil von Wireguard besteht in seiner kleinen Codebasis: So kommt die Software mit rund 4000 Codezeilen aus, während OpenVPN aus über 70 000 Zeilen besteht. Wireguard basiert nicht auf dem Client-Server-Modell, sondern arbeitet als Peer-to-Peer-Anwendung. Dabei simuliert die Software bei Bedarf eine Client-Server-Infrastruktur. Den VPN-Tunnel baut Wireguard in Form eines Netzwerkadapters auf. Es fügt dabei dem System eine neue Netzwerkschnittstelle hinzu, die sich frei konfigurieren lässt. Dadurch können Sie auch die gängigen grafischen Werkzeuge der verschiedenen Arbeitsumgebungen unter Linux nutzen.

Die eigentlichen VPN-Verbindungen baut Wireguard durch den Austausch der öffentlichen Schlüssel auf. Dazu kommen als Grundfunktionen etablierte kryptografische Standards wie Curve25519 ECDHE, Blake2s und ChaCha20-Poly1305 zum Einsatz. Die einzelnen VPN-Teilnehmer identifiziert die Software anhand ihrer öffentlichen Schlüssel. Da diese zusätzlich über eine statische IP-Adresse abgeglichen werden, ist kein dynamisches Management von IP-Adressen zwischen den Teilnehmern einer VPN-Verbindung möglich. Wireguard wird von seinen Entwicklern als noch experimentell bezeichnet und ist deshalb wegen möglicher Bedenken hinsichtlich der Stabilität noch nicht so häufig im Einsatz wie andere Lösungen.

IPsec

Bei IPsec [4] – das Akronym steht für Internet Protocol Security – handelt es sich um eine weitere Protokollsuite, die die Kommunikation über ein unsicheres Netz absichert. Das beim Aufbau von VPN-Verbindungen häufig eingesetzte Verfahren tunnelt IP-Pakete und gewährleistet dabei in Kombination mit anderen Protokollen durch unterschiedliche Verschlüsselungs- und Authentifizierungsmethoden die Integrität der übertragenen Inhalte.

Viele VPN-Anbieter setzen IPsec in Verbindung mit IKEv2 ein [5]. IKEv2 (Internet Key Exchange Protocol) dient der automatisierten Schlüsselverwaltung bei IPsec-basierten VPN-Verbindungen. Dabei sorgt IKEv2 für eine sichere Authentifizierung der Kommunikationspartner und generiert einen gemeinsamen Schlüssel. Hierbei kommen verschiedene Algorithmen zum Einsatz wie beispielsweise DES oder RC4. IKEv2 bietet darüber hinaus eine verhältnismäßig einfache Konfiguration und vereinfacht damit das Setup beim Verbindungsaufbau über NAT-Grenzen. IPsec/IKEv2 gilt im Vergleich zu OpenVPN als langsamer, zudem blockieren es einige Firewalls wegen der Nutzung von UDP.

Darüber hinaus nutzen einige VPN-Anbieter IPsec in Kombination mit dem Layer 2 Tunneling Protocol (L2TP [6]). Dabei handelt es ich um ein Protokoll, das mehrere Tunnel simultan ermöglicht und NAT unterstützt. Auch L2TP unterstützt unterschiedliche Authentifizierungsverfahren, bietet jedoch keine Verschlüsselung. Die übernimmt bei einem IPsec/L2TP-basierten VPN stattdessen IPsec. Trotzdem gilt die Kombination IPsec/L2TP als nicht so sicher wie Wireguard oder OpenVPN. Da L2TP zudem den Port 500 nutzt, kommt es mitunter zu Problemen mit Firewalls, da diese häufig diesen Port blockieren.

Unsicher

Neben diesen aktuell meistgenutzten Standardprotokollen verwenden einige VPN-Anbieter immer noch ältere, als unsicher bekannte Protokolle. So gilt das inzwischen nur noch selten genutzte Protokoll PPTP [7] seit 2012 als veraltet und unsicher, weil es mit der MS-CHAPv2-Authentifizierung arbeitet. Auch das ebenfalls noch gelegentlich verwendete IKEv1 gilt als unsicher und sollte daher gemieden werden.

Beim Einsatz proprietärer Protokolle sollten Sie ebenfalls Vorsicht walten lassen. Microsoft nutzt beispielsweise in Windows-basierten Umgebungen gern das SSTP-Protokoll [8], das Daten per TLS-Verbindung überträgt. Da es sich um ein proprietäres Protokoll handelt, lässt sich nicht ausschließen, dass es Hintertüren enthält. Auch das im professionellen Umfeld von Netzbetreibern häufig verwendete MPLS-Protokoll unterliegt proprietären Lizenzen [9].

Fazit

Die Auswahl eines passenden VPNs zum Absichern der Kommunikation im Internet fällt nicht leicht. Sollen On-Premise-Lösungen in größeren Organisationen eingeführt werden, empfiehlt sich vor allem OpenVPN, da es als sicher und ausgereift gilt. Wer eventuelle Schwächen der Stabilität in Kauf nimmt, für den kommt auch Wireguard infrage. Es lässt sich zügig aufsetzen, arbeitet schnell und wird vom Projekt gut gepflegt.

Möchten Sie einen öffentlichen VPN-Anbieter verwenden, dann achten Sie neben den angebotenen Protokollen auch darauf, für welche Plattformen der Anbieter seine Apps bereitstellt. Darüber hinaus sollten Sie bei öffentlichen Anbietern genau hinsehen, welcher Jurisdiktion sie unterliegen und ob sie eine No-Log- oder Zero-Log-Policy betreiben, also kaum oder gar keine Nutzerdaten protokollieren. Einige Anbieter lassen dazu regelmäßig Audits von unabhängigen Sicherheitsunternehmen vornehmen. (tle)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2023 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben