Openvpn Grundlagen

Aus xinux.net
Zur Navigation springen Zur Suche springen

Basics

  • OpenVPN ist eine freie Software zum Aufbau eines Virtuellen Privaten Netzwerkes (VPN) über eine verschlüsselte TLS-Verbindung.
  • Zur Verschlüsselung kann OpenSSL oder embed TLS benutzt werden.
  • OpenVPN verwendet wahlweise UDP oder TCP zum Transport.
  • OpenVPN steht unter der GNU GPL und unterstützt sehr viele Betriebssysteme

Funktionsweise

  • Kommunikationspartner können einzelne Computer sein oder ein Netzwerk von Computern.
  • Typische Anwendungsfälle sind die Verbindung einzelner Außendienstmitarbeiter in das Netzwerk ihrer Firma.
  • 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 für Computer, die aufgrund von Einwählverbindungen mit ständig 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) durchgeführt-
  • So müssen diese Dienste so konfiguriert werden, dass ein in der Konfiguration von OpenVPN zu vergebender UDP- oder TCP-Port durchgelassen wird und zwar für Input, Forward und Output.
  • Eine OpenVPN-Serverinstanz kann dabei nur für einen Port und ein Protokoll konfiguriert werden.
  • Ein gemischter Betrieb, in welcher eine Clientverbindung wahlweise auf TCP oder UDP ermöglicht ist, ist nur mit zwei parallel laufenden Serverinstanzen realisierbar.
  • OpenVPN zog nach der Beta-Phase der Version 2.0 vom damals standardmäßig verwendeten Port 5000 auf den für OpenVPN registrierten Port 1194 um.
  • Der konkret verwendete Port kann beliebig in der Konfiguration verändert werden.

Erkennbarkeit

  • OpenVPN-Verbindungen können trivial mittels einer Deep Packet Inspection an den bekannten Header-Daten der übertragenen Pakete erkannt werden
  • Es kann durch die Deep Packet Inspection nicht der Inhalt im verschlüsselten Tunnel ermittelt werden
  • Aber es kann beispielsweise mit der Erkennung die Verbindung blockiert, die Kommunikationspartner ermittelt und die Daten dazu protokolliert werden.

Betriebsmodi

Routing

  • Der Routing-Modus ist die einfachste Form der sicheren Kommunikation und stellt einen verschlüsselten Tunnel zwischen zwei Gegenstellen her.
  • Über den ausschließlich IP-Pakete geleitet werden.
  • 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 grundsätzlich nicht direkt möglich (Point-to-Point Verbindung).
  • Um die dortigen Adressen zu erreichen, muss die Gegenstelle die Datenpakete mittels IP-Forwarding und Einträgen in der Routingtabelle weitervermitteln
  • Man könnte auch auf Network Address Translation zurückgreifen.

Bridging

  • Im Gegensatz zum Routing ist im Bridging-Modus ein vollständiges Tunneln von Ethernet-Frames (Layer 2) möglich.
  • Es erlaubt somit beispielsweise auch den Einsatz von alternativen Protokollen wie IPX und das Senden von Wake-On-LAN-Paketen.
  • Ein Client integriert sich völlig transparent in das Einwahlnetz und erhält eine IP-Adresse des dortigen Subnetzes zugewiesen.
  • Er ist teil der Broadcast Domain.

Authentifizierung

  • Pre-shared Key
  • Zertifikate
  • Benutzer+Passwort

Links