This commit is contained in:
Jan Philipp Timme 2018-09-26 10:39:50 +02:00
parent 87ea064839
commit f79acb55f8
1 changed files with 5 additions and 8 deletions

View File

@ -137,7 +137,7 @@ Im Folgenden werden mögliche Software-Kandidaten aus den Debian-Paketquellen vo
\subsection{Strongswan} \label{ssct:strongswan} \subsection{Strongswan} \label{ssct:strongswan}
Strongswan\footnote{\url{https://wiki.strongswan.org/projects/strongswan/wiki/IntroductionTostrongSwan},\\zuletzt abgerufen am 18.07.2018} ist eine quelloffene, modular aufgebaute Software, die unter den in \ref{req:serveros} und \ref{req:clientos} genannten Betriebssystemen lauffähig ist. Strongswan\footnote{\url{https://wiki.strongswan.org/projects/strongswan/wiki/IntroductionTostrongSwan},\\zuletzt abgerufen am 18.07.2018} ist eine quelloffene, modular aufgebaute Software, die unter den in \ref{req:serveros} und \ref{req:clientos} genannten Betriebssystemen lauffähig ist.
Sie kann verwendet werden, um in Kombination mit IPsec-fähigen Betriebssystem-Kerneln geschützte Verbindungen zwischen zwei oder mehr Computern einzurichten. Sie kann verwendet werden, um in Kombination mit IPsec-fähigen Betriebssystem-Kerneln geschützte Verbindungen zwischen zwei oder mehr Computern einzurichten.
Strongswan wird unter der Lizenz GPLv2 verbreitet\footnote{\url{https://wiki.strongswan.org/projects/strongswan/wiki/Contributions},\\ zuletzt abgerufen am 04.09.2018}. Strongswan wird unter quelloffen der Lizenz GPLv2 verbreitet\footnote{\url{https://wiki.strongswan.org/projects/strongswan/wiki/Contributions},\\ zuletzt abgerufen am 04.09.2018}.
IPsec ist ein Internetstandard, der kryptografische Sicherheit für IPv4 und IPv6 (sowie darüber übertragenen Daten) bieten soll. IPsec ist ein Internetstandard, der kryptografische Sicherheit für IPv4 und IPv6 (sowie darüber übertragenen Daten) bieten soll.
Das beinhaltet unter anderem Vertraulichkeit übertragener Daten durch den Einsatz von Verschlüsselung, Authentisierung von Paketen durch Prüfung von Prüfsummen, und Schutz vor Replay-Angriffen\cite[Vergleich][Kapitel 2.1]{RFC4301}. Das beinhaltet unter anderem Vertraulichkeit übertragener Daten durch den Einsatz von Verschlüsselung, Authentisierung von Paketen durch Prüfung von Prüfsummen, und Schutz vor Replay-Angriffen\cite[Vergleich][Kapitel 2.1]{RFC4301}.
@ -178,8 +178,9 @@ Dadurch ist der Einsatz von IPsec für lokal ausgeführte Programme transparent.
\subsection{OpenVPN} \label{ssct:openvpn} \subsection{OpenVPN} \label{ssct:openvpn}
OpenVPN ist eine quelloffene Software zur Einrichtung von VPNs in Peer-to-Peer oder Client-Server-Architektur\cite[][Abschnitt \enquote{Server Mode}]{man:openvpn}. OpenVPN ist eine quelloffene Software zur Einrichtung von VPNs in Peer-to-Peer oder Client-Server-Architektur\cite[][Abschnitt \enquote{Server Mode}]{man:openvpn}.
Sie ist unter den in \ref{req:serveros} und \ref{req:clientos} genannten Betriebssystemen lauffähig und wird unter der GPLv2-Lizenz verbreitet. Sie ist unter den in \ref{req:serveros} und \ref{req:clientos} genannten Betriebssystemen lauffähig und wird quelloffen unter der GPLv2-Lizenz verbreitet.
OpenVPN ist unterstützt IPv4 und IPv6 sowohl innerhalb eines VPN als auch zur Kommunikation zwischen OpenVPN-Prozessen. OpenVPN ist unterstützt IPv4 und IPv6 sowohl innerhalb eines VPN als auch zur Kommunikation zwischen OpenVPN-Prozessen.
Als Transportprotokoll kommt UDP zum Einsatz. 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. 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. 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.
@ -194,19 +195,15 @@ Der Kontrollkanal wird zur Kommunikation zwischen zwei OpenVPN-Prozessen verwend
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. 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. 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}. 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 Options}]{man:openvpn}.
Außerdem können die zur Verschlüsselung des Datenkanals ausgehandelten Schlüssel während der Sitzung mehrfach erneuert werden. 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}. 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}.
Alle kryptografische Operationen zur Verarbeitung des VPN-Datenverkehrs, sowie zur Authentisierung werden nur in OpenVPN durchgeführt, welches diese zu großen Teilen an die quelloffene Bibliothek openssl auslagert\cite[][Abschnitt \enquote{Introduction}]{man:openvpn}. Alle kryptografische Operationen zur Verarbeitung des VPN-Datenverkehrs, sowie zur Authentisierung werden nur in OpenVPN durchgeführt, welches diese zu großen Teilen an die quelloffene Bibliothek openssl auslagert\cite[][Abschnitt \enquote{Introduction}]{man:openvpn}.
\begin{comment} \begin{comment}
\subsection{Wireguard} \subsection{Wireguard}
\todo{Genauer betrachten, könnte als zukünftige Alternative auftreten - Kompatibilität mit Mac und Windows vorausgesetzt.} \todo{Genauer betrachten, könnte als zukünftige Alternative auftreten - Kompatibilität mit Mac und Windows vorausgesetzt.}
@ -215,9 +212,9 @@ Alle kryptografische Operationen zur Verarbeitung des VPN-Datenverkehrs, sowie z
\subsection{OpenSSH} \subsection{OpenSSH}
\todo{Wenn Zeit übrig ist; TCP in TCP ist ein Problem wegen ECN, könnte unter Window nicht funktionieren?} \todo{Wenn Zeit übrig ist; TCP in TCP ist ein Problem wegen ECN, könnte unter Window nicht funktionieren?}
\end{comment} \end{comment}
\section{Auswahl einer VPN-Software} \section{Auswahl einer VPN-Software}
Vorzüge von OpenVPN und IPsec im Vergleich. Vorzüge von OpenVPN und IPsec im Vergleich.
Begründung der Auswahl. Begründung der Auswahl.