Zum Inhalt springen

OpenVPN/Authentifizierung: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „„“ durch „"“
K Textersetzung - „““ durch „"“
Zeile 31: Zeile 31:
* Der Client autorisiert das Zertifikat
* Der Client autorisiert das Zertifikat
* Bei beidseitiger Authentifizierung schickt der Client auch sein Zertifikat an den Server
* Bei beidseitiger Authentifizierung schickt der Client auch sein Zertifikat an den Server
* Hat die Überprüfung geklappt, erstellt der Client das "{{lang|en|pre-master secret}}und verschlüsselt dies mit dem öffentlichen Schlüssel des Servers
* Hat die Überprüfung geklappt, erstellt der Client das "{{lang|en|pre-master secret}}" und verschlüsselt dies mit dem öffentlichen Schlüssel des Servers
* Der Server entschlüsselt die Daten mit seinem privaten Schlüssel und erstellt das "{{lang|en|master-secret}}
* Der Server entschlüsselt die Daten mit seinem privaten Schlüssel und erstellt das "{{lang|en|master-secret}}"
* Mit diesem werden Sitzungsschlüssel erstellt
* Mit diesem werden Sitzungsschlüssel erstellt
* Das sind einmalige Schlüssel, mit denen die Daten ver- und entschlüsselt werden
* Das sind einmalige Schlüssel, mit denen die Daten ver- und entschlüsselt werden

Version vom 31. März 2025, 22:01 Uhr

Authentifizierung

Zur Authentifizierung stellt OpenVPN zwei wesentliche Methoden zur Verfügung

Pre-shared Key

Bei Austausch eines pre-shared key
  • ein statischer Schlüssel/Passwort
  • werden die Daten mit diesem ver- und entschlüsselt
  • 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 Schlüssel kann durch unsachgemäßen Umgang kompromittiert werden (z. B. Aufschreiben, bei dem nach Gebrauch die Vernichtung vergessen wird)
  • Brutforce-Attacken auf den Schlüssel ähnlich wie bei einem Passwort
Daher sollte der gewählte Schlüssel in hinreichender Länge generiert werden und aus einem möglichst großen Zeichensatz bestehen
  • Der Schlüssel sollte nicht selbst wie ein Passwort gewählt werden
  • Eine Speicherung des Schlüssels sollte auf ein Notwendigstes reduziert werden, indem der Schlüssel nur auf den Endpunkten der VPN-Verbindung liegt
  • Das Notieren oder Eintragen des Schlüssels in einer Passwortverwaltung stellt ein zusätzliches Sicherheitsrisiko dar
  • Auf dem Endgerät sollte der pre-shared-key durch ein Passwort verschlüsselt werden, um das Netzwerk bei Abhandenkommen des Gerätes nicht zu gefährden

Zertifikate

Bei der Anwendung einer zertifikatbasierten Authentifizierung über das TLS-Protokoll werden private und öffentliche Schlüsselpaare beziehungsweise X.509-Zertifikate verwendet
Der Server und die jeweiligen Nutzer besitzen je ein eigenes Zertifikat (öffentlich/privat)
  • Der OpenVPN-Server lässt nur Verbindungen zu, die von einer ihm bekannten Zertifizierungsstelle signiert wurden
  • OpenVPN enthält Skripte, die die einfache Zertifikatserstellung ohne weitere Vorkenntnisse basierend auf OpenSSL ermöglichen (easy-rsa)
Um eine Verbindung aufzubauen, schickt der Client Daten an den Server (SSL-Version und zufällige Daten)
  • Der Server schickt die gleichen Daten und sein Zertifikat zurück
  • Der Client autorisiert das Zertifikat
  • Bei beidseitiger Authentifizierung schickt der Client auch sein Zertifikat an den Server
  • Hat die Überprüfung geklappt, erstellt der Client das "Vorlage:Lang" und verschlüsselt dies mit dem öffentlichen Schlüssel des Servers
  • Der Server entschlüsselt die Daten mit seinem privaten Schlüssel und erstellt das "Vorlage:Lang"
  • Mit diesem werden Sitzungsschlüssel erstellt
  • Das sind einmalige Schlüssel, mit denen die Daten ver- und entschlüsselt werden
  • Der Client teilt dem Server mit, dass ab nun alle Daten mit dem Sitzungsschlüssel verschlüsselt werden
  • Der Server bestätigt dies, der Tunnel ist aufgebaut
  • Nach einer gewissen Zeitspanne ersetzt OpenVPN den Sitzungsschlüssel automatisch
Die zertifikatbasierte Authentifizierung gilt als die sicherste Form der Anmeldung
  • Um die Sicherheit zu erhöhen, empfiehlt es sich, die Zertifikate auf einer Smartcard auszulagern
  • OpenVPN unterstützt alle Karten, auf die mittels Windows-Crypto-API oder PKCS #11 zugegriffen werden kann