This commit is contained in:
Jan Philipp Timme 2018-10-10 15:07:57 +02:00
parent db6cea9028
commit 5fa44397f9
1 changed files with 7 additions and 6 deletions

View File

@ -515,12 +515,12 @@ Jeglicher weiterer Datenverkehr aus dem VPN-Netz heraus ist gestattet.
\section{Konfiguration von OpenVPN}
Nach der Einrichtung des Servers wird in diesem Schritt die Konfiguration des OpenVPN-Servers im Detail erläutert.
Nach Einrichtung des Servers wird in diesem Schritt die Konfiguration des OpenVPN-Servers im Detail erläutert.
Nähere Informationen zu den verwendeten Optionen können in \cite[][]{man:openvpn} nachgeschlagen werden.
\paragraph{Erreichbarkeit des Dienstes}
Laut Anforderung~\ref{req:dualstack} aus Abschnitt~\ref{sct:requirements} soll der VPN-Dienst über IPv4 und IPv6 aus dem Internet erreichbar sein.
Als Ausgangspunkt dafür wird der DNS-Name des VPN-Dienst verwendet, der auf die IPv4- und IPv6-Dienstadresse zeigt.
Als Ausgangspunkt dafür wird der DNS-Name des VPN-Dienst verwendet, der auf die IPv4- und IPv6-Dienst\-adresse zeigt.
In der \textbf{Serverkonfiguration} reichen die ersten drei Zeilen aus, um über IPv4 und IPv6 auf UDP-Port~1194 den VPN-Dienst anzubieten:
\begin{lstlisting}
@ -529,7 +529,7 @@ proto udp
proto udp6
multihome
\end{lstlisting}
OpenVPN beantwortet damit Anfragen für alle auf dem Server konfigurierten IP-Adressen.
OpenVPN beantwortet damit Anfragen für alle auf dem Server konfigurierten IP-Adres\-sen.
Da auf dem Server neben den Dienstadressen auch die Maschinenadressen existieren, wird OpenVPN mit \texttt{multihome} angewiesen, eingehende Pakete mit der IP-Adresse zu beantworten, an die diese Pakete gerichtet waren.
In der \textbf{Clientkonfiguration} wird OpenVPN mit \texttt{nobind} angewiesen, den Clientsocket nicht an eine lokale Adresse zu binden. Die Angaben \texttt{port} und \texttt{proto} legen fest, wie der VPN-Server zu erreichen ist.
@ -547,7 +547,7 @@ Bei Interesse kann eine detaillierte Analyse der Probleme der TCP-in-TCP-Situati
\paragraph{IP-Adressen im VPN-Tunnel}
Die vom IT-Team vergebenen IP-Adressbereiche für VPN-Clients werden durch den OpenVPN-Server an die Clients vergeben.
In der Clientkonfiguration sind keine Anweisungen notwendig.
In der Konfiguration des Clients sind keine Anweisungen notwendig.
Die \textbf{Serverkonfiguration} enthält diese Anweisungen:
\begin{lstlisting}
topology subnet
@ -590,7 +590,7 @@ Am 03.06.2018 wurden Hinweise in der Manpage von OpenVPN eingefügt\footnote{\ur
Diese Hinweise sind in der Manpage von OpenVPN in Version~2.4.6 noch nicht enthalten, da diese Version von den Entwicklern bereits am 19.04.2018\footnote{\url{https://github.com/OpenVPN/openvpn/releases/tag/v2.4.6}} freigegeben wurde.
Zusätzlich wird in der \enquote{Best Current Practice} RFC~7525 zur Deaktivierung der Kompression von TLS geraten\cite[Vergleich][Kapitel 3.3]{RFC7525}.
Auf der DEFCON~26 wurde mit \enquote{VORACLE} ein in diesem Kontext relevanter Angriff auf OpenVPN vorgestellt\footnote{\url{https://media.defcon.org/DEF\%20CON\%2026/DEF\%20CON\%2026\%20presentations/Nafeez/DEFCON-26-Nafeez-Compression-Oracle-attacks-on-VPN-Networks.pdf}}, der die Verwendung von Kompression ausnutzt.
Auf der DEFCON~26 wurde mit \enquote{VORACLE} ein in diesem Kontext relevanter Angriff auf OpenVPN vorgestellt\footnote{\url{https://media.defcon.org/DEF\%20CON\%2026/DEF\%20CON\%2026\%20presentations/Nafeez/DEFCON-26-Nafeez-Compression-Oracle-attacks-on-VPN-Networks.pdf}}, der auf aktivierter Kompression aufbaut.
\paragraph{Zertifikatgestützte Authentisierung}
Um die in Kapitel~\ref{cpt:user_concept} konzipierte Zertifizierungsstelle zur Benutzerauthentisierung zu verwenden und die VPN-Kommunikation nach Anforderung~\ref{req:traffic} aus Abschnitt~\ref{sct:requirements} abzusichern, wird OpenVPN im TLS-Modus betrieben.
@ -634,7 +634,8 @@ Diese Chiffre wird für die Absicherung des Kontrollkanals verwendet.
\begin{lstlisting}
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
\end{lstlisting}
Die Verwendung einer verwandten Chiffre, die anstelle des Diffie-Hellman-Schlüssel\-aus\-tausch ein Diffie-Hellman-Verfahren auf Basis von elliptischen Kurven verwendet, kann aufgrund von bestehenden Kompatibilitätsproblemen zwischen OpenVPN-Clients und OpenSSL~1.1.x nicht eingesetzt werden\footnote{Es existiert ein Problem in Kombination mit OpenSSL~1.1.x. Siehe \url{https://community.openvpn.net/openvpn/ticket/963}}.
\textbf{Anmerkung}: TLS-Chiffren mit Diffie-Hellman-Verfahren auf Basis von elliptischen Kurven können nicht verwendet werden.
Grund dafür sind Kompatibilitätsproblemen zwischen OpenVPN und OpenSSL~1.1.x auf der Clientseite\footnote{Siehe \url{https://community.openvpn.net/openvpn/ticket/963}}.
OpenVPN verwendet eine HMAC-Funktion mit einem zuvor ausgetauschen, gemeinsamen Geheimnis um für Daten- und Kontrollkanal eingehende Datenpakete vor ihrer Verarbeitung zu authentisieren.
Die in der HMAC-Funktion verwendete Hashfunktion wird auf SHA-256 festgelegt.