www.wikidata.de-de.nina.az
OpenVPN ist eine freie Software zum Aufbau eines Virtuellen Privaten Netzwerkes VPN uber eine verschlusselte TLS Verbindung Zur Verschlusselung kann OpenSSL oder mbed TLS benutzt werden OpenVPN verwendet wahlweise UDP oder TCP zum Transport OpenVPNBasisdatenEntwickler OpenVPN Inc 1 Erscheinungsjahr 23 Marz 2002 2 Aktuelle Version 2 6 8 3 17 November 2023 Betriebssystem PlattformunabhangigProgrammiersprache C 4 Kategorie Virtual Private NetworkLizenz GNU General Public Licenseopenvpn netOpenVPN steht unter der GNU GPL und unterstutzt die Betriebssysteme Linux z B Android Maemo und MeeGo sowie das Router Linux OpenWrt Solaris OpenBSD FreeBSD NetBSD macOS QNX Windows Vista 7 8 10 und iOS Weiterhin stehen angepasste Implementierungen fur eine Vielzahl von Linux basierten Endgeraten wie z B Settop Boxen der Firma Dream Multimedia oder fur Router der Fritz Box Linie der Firma AVM zur Verfugung Inhaltsverzeichnis 1 Hintergrund 2 Funktionsweise 3 Erkennbarkeit 4 Betriebsmodi 4 1 Routing 4 2 Bridging 5 Authentifizierung 5 1 Pre shared Key 5 2 Zertifikate 6 Frontends 6 1 Windows 6 2 macOS 6 3 iOS 6 4 Linux 6 5 OpenWRT 6 6 Fritz Box 6 7 Dreambox 6 8 Android 6 9 Maemo 7 Literatur 8 Weblinks 9 EinzelnachweiseHintergrund BearbeitenOft soll eine sichere von Dritten nicht lesbare Kommunikation uber ein unsicheres Netzwerk durchgefuhrt werden Ein solches unsicheres Netz ist etwa das Internet oder auch ein lokales nicht verschlusseltes Wireless LAN Dabei sind zwei Aspekte wesentlich Eine hinreichende Verschlusselung der Kommunikationsinhalte und die Authentifizierung der beteiligten Kommunikationspartner Diese Sicherheitseigenschaften konnen durch geeignete Protokolle z B SSH HTTPS SFTP von jeder Anwendung bereitgestellt werden Alternativ kann diese Sicherheit auch von einer zentralen Stelle unabhangig von den einzelnen Anwendungen wunschenswert sein Die Vorteile dieses zentralen Ansatzes liegen in der nur einmaligen Implementierung der Sicherheitsfunktionen dem geringeren Wartungsaufwand und der Moglichkeit auch die Kommunikation von Software anderer Hersteller zu sichern auf die kein Einfluss besteht Eine solche zentral bereitgestellte Sicherung ist ein Virtual Private Network VPN OpenVPN stellt eine von vielen Implementierungen eines VPNs dar Funktionsweise BearbeitenKommunikationspartner konnen einzelne Computer sein oder ein Netzwerk von Computern Typische Anwendungsfalle sind die Verbindung einzelner Aussendienstmitarbeiter in das Netzwerk ihrer Firma die Verbindung einer Filiale mit dem Rechenzentrum oder die Verbindung ortlich verteilter Server oder Rechenzentren untereinander In jedem Fall baut einer der beiden Kommunikationsteilnehmer die Verbindung auf Client und der andere wartet auf eingehende Verbindungen Server Dazu muss der Server unter einer festen IP Adresse oder unter einem festen Hostnamen erreichbar sein Dies kann fur Computer die aufgrund von Einwahlverbindungen mit standig wechselnden IP Adressen konfrontiert sind auch mit Hilfe eines dynamischen DNS Dienstes erfolgen Befindet sich vor dem VPN Gateway ein Paketfilter oder Proxy oder wird eine Adressumsetzung NAT durchgefuhrt so mussen diese Dienste so konfiguriert werden dass ein in der Konfiguration von OpenVPN zu vergebender UDP oder TCP Port durchgelassen wird und zwar fur Input Forward und Output Eine OpenVPN Serverinstanz kann dabei nur fur einen Port und ein Protokoll konfiguriert werden Ein gemischter Betrieb in welcher eine Clientverbindung wahlweise auf TCP oder UDP ermoglicht ist ist nur mit zwei parallel laufenden Serverinstanzen realisierbar OpenVPN zog nach der Beta Phase der Version 2 0 vom damals standardmassig verwendeten Port 5000 auf den fur OpenVPN registrierten Port 1194 um 5 Der konkret verwendete Port kann beliebig in der Konfiguration verandert werden Erkennbarkeit BearbeitenOpenVPN Verbindungen konnen trivial mittels einer Deep Packet Inspection an den bekannten Header Daten der ubertragenen Pakete erkannt werden unabhangig welches Protokoll oder welcher Port verwendet wird 6 Zwar kann durch die Deep Packet Inspection nicht der Inhalt im verschlusselten Tunnel ermittelt werden aber es kann beispielsweise mit der Erkennung die Verbindung blockiert die Kommunikationspartner ermittelt und die Daten dazu protokolliert werden Dieser Punkt ist vor allem dann wesentlich wenn der Einsatz von VPN Verbindungen in bestimmten Umgebungen nicht zulassig ist beispielsweise in Landern die verschlusselte Kommunikationsverbindungen verbieten oder zivilrechtlich bei der Umgehung von Netzsperren in Firmennetzwerken Betriebsmodi BearbeitenOpenVPN kennt zwei Betriebsmodi Routing und Bridging die in den folgenden Abschnitten dargestellt werden Routing Bearbeiten Der Routing Modus ist die einfachste Form der sicheren Kommunikation und stellt einen verschlusselten Tunnel zwischen zwei Gegenstellen her uber den ausschliesslich IP Pakete geleitet werden Layer 3 Dazu wird jeder Gegenstelle eine virtuelle IP Adresse eines fiktiven Subnetzes zugewiesen z B 10 8 0 1 und 10 8 0 2 Der Zugriff auf das dahinter liegende Netzwerk ist grundsatzlich nicht direkt moglich Point to Point Verbindung Um die dortigen Adressen zu erreichen muss die Gegenstelle die Datenpakete mittels IP Forwarding und Eintragen in der Routingtabelle weitervermitteln oder auf Network Address Translation zuruckgreifen Bridging Bearbeiten Im Gegensatz zum Routing ist im Bridging Modus ein vollstandiges Tunneln von Ethernet Frames Layer 2 moglich Es erlaubt somit beispielsweise auch den Einsatz von alternativen Protokollen wie IPX und das Senden von Wake On LAN Paketen Ein Client integriert sich vollig transparent in das Einwahlnetz und erhalt eine IP Adresse des dortigen Subnetzes zugewiesen so dass auch Broadcasts weitergeleitet werden Letzteres ist insbesondere fur die automatische Windows Namensauflosung des SMB Protokolls notig Um sich in das vorhandene Subnetz einklinken zu konnen muss die von OpenVPN verwendete virtuelle Netzwerkkarte das sog TAP Device uber eine Netzwerkbrucke mit dem tatsachlichen Netzwerk verbunden werden Bridging ist etwas ineffizienter als Routing schlechter skalierbar Ausserdem ist eine Beschrankung des Clientzugriffs schwieriger zu bewerkstelligen als beim Routing Authentifizierung BearbeitenZur Authentifizierung stellt OpenVPN zwei wesentliche Methoden zur Verfugung 7 Pre shared Key Bearbeiten Bei Austausch eines pre shared key ein statischer Schlussel Passwort werden die Daten mit diesem ver und entschlusselt Dieses Verfahren ist einfach anzuwenden Es wird beispielsweise bei kommerziellen Proxy Anbietern welche auch Anonymisierungsdienste auf Basis von OpenVPN anbieten verwendet Diese Methode hat zwei Nachteile Der Schlussel kann durch unsachgemassen Umgang kompromittiert werden z B Aufschreiben bei dem nach Gebrauch die Vernichtung vergessen wird Brutforce Attacken auf den Schlussel ahnlich wie bei einem PasswortDaher sollte der gewahlte Schlussel in hinreichender Lange generiert werden und aus einem moglichst grossen Zeichensatz bestehen Der Schlussel sollte nicht selbst wie ein Passwort gewahlt werden Eine Speicherung des Schlussels sollte auf ein Notwendigstes reduziert werden indem der Schlussel nur auf den Endpunkten der VPN Verbindung liegt Das Notieren oder Eintragen des Schlussels in einer Passwortverwaltung stellt ein zusatzliches Sicherheitsrisiko dar Auf dem Endgerat sollte der pre shared key durch ein Passwort verschlusselt werden um das Netzwerk bei Abhandenkommen des Gerates nicht zu gefahrden 8 Zertifikate Bearbeiten Bei der Anwendung einer zertifikatbasierten Authentifizierung uber das TLS Protokoll werden private und offentliche Schlusselpaare beziehungsweise X 509 Zertifikate verwendet Der Server und die jeweiligen Nutzer besitzen je ein eigenes Zertifikat offentlich privat Der OpenVPN Server lasst nur Verbindungen zu die von einer ihm bekannten Zertifizierungsstelle signiert wurden OpenVPN enthalt Skripte die die einfache Zertifikatserstellung ohne weitere Vorkenntnisse basierend auf OpenSSL ermoglichen easy rsa Um eine Verbindung aufzubauen schickt der Client Daten an den Server SSL Version und zufallige Daten Der Server schickt die gleichen Daten und sein Zertifikat zuruck Der Client autorisiert das Zertifikat Bei beidseitiger Authentifizierung schickt der Client auch sein Zertifikat an den Server Hat die Uberprufung geklappt erstellt der Client das pre master secret und verschlusselt dies mit dem offentlichen Schlussel des Servers Der Server entschlusselt die Daten mit seinem privaten Schlussel und erstellt das master secret Mit diesem werden Sitzungsschlussel erstellt Das sind einmalige Schlussel mit denen die Daten ver und entschlusselt werden Der Client teilt dem Server mit dass ab nun alle Daten mit dem Sitzungsschlussel verschlusselt werden Der Server bestatigt dies der Tunnel ist aufgebaut Nach einer gewissen Zeitspanne ersetzt OpenVPN den Sitzungsschlussel automatisch Die zertifikatbasierte Authentifizierung gilt als die sicherste Form der Anmeldung Um die Sicherheit zu erhohen empfiehlt es sich die Zertifikate auf einer Smartcard auszulagern OpenVPN unterstutzt alle Karten auf die mittels Windows Crypto API oder PKCS 11 zugegriffen werden kann Frontends BearbeitenFur OpenVPN gibt es neben der Kommandozeile diverse grafische Frontends So existieren z B das OpenVPN GUI fur Windows das Programm Tunnelblick fur macOS OpenVPN Admin ein auf C basierendes in Mono geschriebenes Frontend KVpnc eine in das K Desktop Environment eingebundene Applikation sowie eine Einbindung in NetworkManager Gnome und K Desktop Environment Nachfolgend eine Liste der popularen Programme fur die jeweiligen Betriebssysteme und Gerate 9 Windows Bearbeiten OpenVPN GUI OpenVPN MI GUI eine Modifikation des Original GUIs das die OpenVPN Managementschnittstelle verwendet und auch ohne Administratorrechte auskommt OpenVPN Admin Securepoint OpenVPN Client Windows kommt ohne Administratorrechte aus und hat einige Komfortfunktionen Kennworter speichern etc SoftEther VPN kostenlos kein Login notig einfache Schritt fur Schritt Anleitung 10 Viscosity Kommerziell macOS Bearbeiten Tunnelblick Viscosity Shimo OpenVPN Connect offizielle Version iOS Bearbeiten GuizmOVPN OpenVPN Connect offizielle Version 11 Linux Bearbeiten NetworkManager KVPNC OpenVPN AdminOpenWRT Bearbeiten OpenVPN HowToFritz Box Bearbeiten Fritz Box OpenVPN HowTo Freetz OpenVPN HowTo OpenVPN Plugin fur GP3Dreambox Bearbeiten OpenVPN Plugin fur GP3Android Bearbeiten OpenVPN Connect offizielle Version OpenVPN fur Android ohne Root by Arne SchwabeMaemo Bearbeiten OpenVPN fur Maemo 5Literatur BearbeitenDirk Becker OpenVPN Das Praxisbuch aktualisierte und erweiterte Auflage Galileo Computing Bonn 2011 ISBN 978 3 8362 1671 5 Johannes Bauer Albrecht Liebscher Klaus Thielking Riechert OpenVPN dpunkt Heidelberg 2006 ISBN 3 89864 396 4 Sven Riedel OpenVPN kurz amp gut O Reilly Koln 2007 ISBN 978 3 89721 529 0 Thomas Zeller OpenVPN kompakt bomots Saarbrucken 2008 ISBN 978 3 939316 51 0 Weblinks BearbeitenOffizielle SeiteEinzelnachweise Bearbeiten openvpn net openvpn net OpenVPN 2 6 8 released 17 November 2023 abgerufen am 18 November 2023 The openvpn Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 18 Juli 2018 Protocol Compatibility OpenVPN Technologies abgerufen am 17 Februar 2016 How to hide OpenVPN traffic an introduction Abgerufen am 18 September 2018 Security Overview OpenVPN Technologies abgerufen am 17 Februar 2016 Virtuelles Privates Netz BSI Leitlinie zur Internet Sicherheit Bundesamt fur Sicherheit in der Informationstechnik 2009 abgerufen am 18 September 2018 Client GUI VPN on Windows step by step guide Using SoftEther VPN bei vpngate net Abgerufen am 19 Juli 2023 Heise Offizieller OpenVPN Client fur iOS Abgerufen von https de wikipedia org w index php title OpenVPN amp oldid 235927260