This commit is contained in:
Jan Philipp Timme 2018-09-26 10:34:15 +02:00
parent f40117e45e
commit 87ea064839
1 changed files with 6 additions and 8 deletions

View File

@ -115,7 +115,7 @@ Die Vorgabe von vertraulicher und authentisierter Kommunikation zwischen VPN-Cli
Deshalb soll Kerckhoffs' Prinzip bei der Wahl der VPN-Software angewendet werden, indem ausschließlich
quelloffene Software berücksichtigt wird.
Jedermann kann öffentlich lesbaren Quellcode auf mögliche Sicherheitslücken untersuchen; dadurch erhöht sich die Wahrscheinlichkeit bestehende Sicherheitslücken zu finden.
Außerdem werden gefundene und behobene Sicherheitslücken häufig besser kommuniziert, da alle Änderungen am Quellcode ohnehin sichtbar sind.
Außerdem kann vermutet werden, dass gefundene und behobene Sicherheitslücken besser kommuniziert werden, da alle Änderungen am Quellcode ohnehin sichtbar sind.
Das wirkt sich auch auf Reaktionszeiten der Software-Distributoren aus: Entsprechend aktualisierte Softwarepakete stehen in der Regel zeitnah bereit und können sofort installiert werden.
Weiterhin soll die gesuchte Software IPv4 und IPv6 unterstützen (\ref{req:dualstack}), die Routingtabellen der VPN-Clients (\ref{req:routing}) anpassen können und in Bezug auf Protokollierung (\ref{req:logging}) konfigurierbar sein.
@ -183,6 +183,7 @@ OpenVPN ist unterstützt IPv4 und IPv6 sowohl innerhalb eines VPN als auch zur K
Als Transportprotokoll kommt UDP zum Einsatz.
Unter besonderen Umständen kann entgegen der Empfehlungen\cite[][\texttt{--proto}]{man:openvpn} auch TCP als Transportprotokoll verwendet werden.
Des Weiteren läuft es vollständig im Benutzerkontext und unterstützt nach dem Programmstart den Wechsel in einen nicht-privilegierten Benutzerkontext\cite[Siehe][\texttt{--user}]{man:openvpn}, um im Fall eines erfolgreichen Angriffs den potentiellen Schaden zu begrenzen.
Für die Bereitstellung einer virtuellen Netzwerkkarte als Schnittstelle zum VPN wird ein TUN/TAP-Treiber verwendet.
Um bestimmten Datenverkehr durch das VPN zu leiten können auf Client und Server Einträge in die Routingtabelle für IPv4 und IPv6 hinzugefügt werden.
Für lokal ausgeführte Programme entspricht der Einsatz von OpenVPN der Installation einer zusätzlichen Netzwerkkarte im lokalen Rechner - gegebenenfalls müssen die neuen IP-Adressen der virtuellen Netzwerkkarte berücksichtigt werden.
@ -191,13 +192,10 @@ Die Kommunikation zwischen OpenVPN-Client und -Server enthält zwei Kanäle: Ein
Der Kontrollkanal wird zur Kommunikation zwischen zwei OpenVPN-Prozessen verwendet.
Über ihn werden Konfigurationsparameter übertragen\cite[][\texttt{--pull}]{man:openvpn} und überprüft, ob der jeweils andere OpenVPN-Prozess aktiv ist\cite[][\texttt{--keepalive}]{man:openvpn}.
Im \enquote{TLS Mode} wird über den Kontrollkanal eine TLS-Sitzung aufgebaut.
bla TLS Kontrollkanal Sitzung Schlüsselaustausch Authentisierung Zertifikate
Die zur Verschlüsselung des Datenkanals verwendeten Schlüssel können dadurch dynamisch erneuert werden.
Im \enquote{TLS Mode} wird über den Kontrollkanal eine TLS-Sitzung aufgebaut, in der Chiffren und Schlüssel ausgetauscht werden, mit denen der Datenkanal geschützt werden soll.
Dadurch ist die Authentisierung von Client und Server mit X.509-Zertifikaten möglich.
Zusätzlich kann Perfect Forward Secrecy durch Einsatz des Diffie-Hellman-Verfahren für den Schlüsselaustausch erreicht werden\cite[Vergleich][Abschnitt \enquote{TLS Mode}]{man:openvpn}.
Außerdem können die zur Verschlüsselung des Datenkanals ausgehandelten Schlüssel während der Sitzung mehrfach erneuert werden.
Im \enquote{Static Key Mode} wird beiden Prozessen beim Start ein zuvor geteiltes gemeinsames Geheimnis als Parameter gegeben, mit dem der Datenkanal zwischen den beiden Prozessen symmetrisch verschlüsselt wird\cite[][\texttt{--secret}]{man:openvpn}.