From 85e6f25a5364952c5f5bd23162f7d392563b8fa0 Mon Sep 17 00:00:00 2001 From: Jan Philipp Timme Date: Thu, 30 Aug 2018 21:42:43 +0200 Subject: [PATCH] Lazy commit to save changes --- Dokumentation CA | 19 +++++++++++++++ Masterarbeit.tex | 61 +++++++++++++++++++++++++++--------------------- 2 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 Dokumentation CA diff --git a/Dokumentation CA b/Dokumentation CA new file mode 100644 index 0000000..300b249 --- /dev/null +++ b/Dokumentation CA @@ -0,0 +1,19 @@ +* Installation von easy-rsa +TODO: Version 2 oder Version 3? + +ggf. openssl in den Pfad legen, falls Windows + +* Verifikation der Authentizität + +* Erzeugen der CA + + +* Erzeugen eines CSR + +* Signieren eines CSR + + +* Erzeugen des Serverzertifikats + + +* Erzeugen des Clientzertifikats \ No newline at end of file diff --git a/Masterarbeit.tex b/Masterarbeit.tex index e390e34..c720103 100644 --- a/Masterarbeit.tex +++ b/Masterarbeit.tex @@ -155,7 +155,6 @@ Hannover, den \today \hfill Unterschrift %\listoftables \newpage - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Hier geht es richtig los mit dem Text! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -300,8 +299,9 @@ 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. 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. + \section{Suche nach VPN-Serversoftware} -Ausgangspunkt für die Suche nach passender VPN-Software ist die Serverkomponente: Sie soll quelloffen sein und auf einem Server mit aktuellem Debian eingesetzt werden können. +Ausgangspunkt für die Suche nach passender VPN-Software ist die Wahl der Serverkomponente: Sie soll quelloffen sein und auf einem Server mit aktuellem Debian eingesetzt werden können. Deshalb sind die Debian-Paketquellen die erste Anlaufstelle für die Suche. Durch die Nutzung der Paketquellen ist das Installieren von Sicherheitsaktualisierungen über den Debian-Paketmanager möglich. Arbeitsschritte wie das Patchen und Kompilieren des Quellcodes, sowie Tests und das Paketieren der Software werden von den Verwaltern der Debian-Pakete ausgeführt. @@ -314,41 +314,48 @@ Im Folgenden werden mögliche Software-Kandidaten aus den Debian-Paketquellen vo \paragraph{Strongswan} Strongswan\footnote{\url{https://wiki.strongswan.org/projects/strongswan/wiki/IntroductionTostrongSwan},\\zuletzt abgerufen am 18.07.2018} ist eine modular aufgebaute Software, die unter den in \ref{req:serveros} und \ref{req:clientos} genannten Betriebsystemen lauffähig ist. +Sie kann verwendet werden, um in Kombination mit einem IPsec-fähigen Betriebsystem-Kernel ein VPN auf Basis von IPsec einzurichten. + +IPsec \cite{RFC4301} % + + Sie kann über IKEv2\footnote{Internet Key Exchange Protokoll Version 2, definiert in \cite{RFC7296}} authentisiert und verschlüsselt mit einer Gegenstelle kommunizieren. -Dabei werden mit der Gegenstelle Parameter ausgetauscht, die anschließend zur Konfiguration einer IPsec-Verbindung an den Betriebsystem-Kernel weitergeben werden. -Die Verarbeitung des IPsec-Datenverkehrs über die Protokolle ESP oder AH wird über den IPsec-Stack im Kernel abgewickelt. +Dabei werden mit der Gegenstelle Schlüssel und Konfigurationsparameter ausgehandelt beziehungsweise ausgetauscht, anhand derer im Betriebsystem-Kernel IPsec-Verbindungen konfiguriert werden. +Die Verarbeitung des IPsec-Da\-ten\-ver\-kehrs über die Protokolle AH oder ESP wird über den IPsec-Stack im Kernel abgewickelt. + +Transportmodus vs Tunnelmodus? + +* Vertraulichkeit, Integrität übertragener Daten, Zugriffskontrolle und Authentisierung +* Security Policy Database (stateless) enthält "grundsätzliche" Konfiguration +* Security Association Database (stateful) enthält die einzelnen Security Associations (SA), quasi die einzelnen Verbindungen + + +Das Protokoll \enquote{IP Authentication Header} (AH) wird in \cite{RFC4302} definiert und ermöglicht den Versand von authentisierbaren Paketen an eine Gegenstelle. +Bestimmte Felder ... werden dabei signiert und können so nach Empfang authentisiert werden. + +Das Protokoll \enquote{IP Encapsulating Security Payload} (ESP) wird in \cite{RFC4303} definiert und ermöglicht den Versand von vertraulichen +Paketen an eine Gegenstelle. +Nach Empfang werden die Pakete entschlüsselt. + \paragraph{OpenVPN} -Bei OpenVPN handelt es sich um ein eigenständiges Programm, dass -\begin{itemize} -\item Eigenständiges Programm, Client-Server-Architektur -\item Strebt an viele der Schlüsselfeatures von IPsec anzubieten, aber dabei leichtgewichtiger zu sein -\item Lizenz ist GPLv2 -\item Verwenden TUN/TAP-Schnittstelle zur Bereitstellung einer virtuellen Netzwerkkarte (Treiber für Linux, Windows, Mac und mehr verfügbar) -\item Unterstützt Kompression des Datenverkehrs -\item Transportverschlüsselung über pre-shared secret (static key mode) oder mit Client- und Server-Zertifikaten (SSL/TLS mode) -\item Unterstützt neben AES auch Camellia und SEED\footnote{\texttt{openvpn --show-ciphers} (run on Debian 9)} -\end{itemize} +Hier wird OpenVPN beschrieben. -\paragraph{TODO} -TODO - -\todo{Da mehr als $n$ brauchbare Kandidaten gefunden wurden, werden unbequemere Softwarequellen nicht weiter betrachtet. Sorry.} - - -\section*{TODO} - -\paragraph{Vorstellung der gefundenen Kandidaten} -Name, Lizenz, Aktivität des Projekts, verwendete Technologie, \dots? - \paragraph{Auswahl einer VPN-Software} -Anhand von klaren Kriterien soll eine der verfügbaren Lösungen für die Verwendung in dieser Arbeit ausgewählt werden. -Mögliche Kriterien sind: Softwarearchitektur, Wo wird das Projekt bereits ohne Probleme eingesetzt?, Wie sieht es mit Sicherheitsaktualisierungen und Weiterentwicklung aus?, Welche Aspekte der Vertraulichkeit und Authentizität sind einstellbar, welche Konfigurationsmöglichkeiten bieten sich in Bezug auf Autorisierung? +Vorzüge von OpenVPN und IPsec im Vergleich. + +Begründung der Auswahl. + \paragraph{Erstellung eines Betriebskonzept} \paragraph{Erstellung eines Konzepts für die Benutzerverwaltung} +Möglichkeiten: User+Passwort oder SSL-Zertifikate + + +\paragraph{Einrichtung einer SSL-CA mit EasyRSA} +EasyRSA2.2.3 aus Debian vs EasyRSA3.x direkt von Github - Vorteile/Nachteile \chapter*{Anhang}