Lazy commit to save changes
This commit is contained in:
parent
6b534fe5b9
commit
85e6f25a53
|
@ -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
|
|
@ -155,7 +155,6 @@ Hannover, den \today \hfill Unterschrift
|
||||||
%\listoftables
|
%\listoftables
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
%%% Hier geht es richtig los mit dem Text!
|
%%% 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.
|
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.
|
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}
|
\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.
|
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.
|
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.
|
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}
|
\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.
|
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.
|
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.
|
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-Datenverkehrs über die Protokolle ESP oder AH wird über den IPsec-Stack im Kernel abgewickelt.
|
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}
|
\paragraph{OpenVPN}
|
||||||
Bei OpenVPN handelt es sich um ein eigenständiges Programm, dass
|
Hier wird OpenVPN beschrieben.
|
||||||
\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}
|
|
||||||
|
|
||||||
|
|
||||||
\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}
|
\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.
|
Vorzüge von OpenVPN und IPsec im Vergleich.
|
||||||
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?
|
|
||||||
|
Begründung der Auswahl.
|
||||||
|
|
||||||
|
|
||||||
\paragraph{Erstellung eines Betriebskonzept}
|
\paragraph{Erstellung eines Betriebskonzept}
|
||||||
|
|
||||||
\paragraph{Erstellung eines Konzepts für die Benutzerverwaltung}
|
\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}
|
\chapter*{Anhang}
|
||||||
|
|
Loading…
Reference in New Issue