Begin refactoring after receiving feedback
This commit is contained in:
parent
92defe97d7
commit
e6b14eab9a
|
@ -14,6 +14,7 @@ Damit ist die Voraussetzung gegeben, um Netzwerkgeräte für IPv6 zu konfigurier
|
||||||
|
|
||||||
Mitarbeitern und Studenten der Abteilung Informatik steht ein VPN-Dienst zur Ver\-fü\-gung, um Zugang in das Netz der Abteilung aus dem Internet heraus zu erhalten.
|
Mitarbeitern und Studenten der Abteilung Informatik steht ein VPN-Dienst zur Ver\-fü\-gung, um Zugang in das Netz der Abteilung aus dem Internet heraus zu erhalten.
|
||||||
Bisher ist dieser Dienst nur über IPv4 erreichbar und ermöglicht den Zugang in das Abteilungsnetz ausschließlich über IPv4.
|
Bisher ist dieser Dienst nur über IPv4 erreichbar und ermöglicht den Zugang in das Abteilungsnetz ausschließlich über IPv4.
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
Im Rahmen dieser Masterarbeit soll ein neuer, IPv6-fähiger VPN-Dienst konzipiert werden, der die Idee des bisherigen IPv4-VPN-Dienst aufgreift.
|
Im Rahmen dieser Masterarbeit soll ein neuer, IPv6-fähiger VPN-Dienst konzipiert werden, der die Idee des bisherigen IPv4-VPN-Dienst aufgreift.
|
||||||
Dafür wird zunächst die zukünftige Umgebung des VPN-Dienstes, die Netzarchitektur der Abteilung Informatik, inklusive ihrem Firewallkonzept vorgestellt.
|
Dafür wird zunächst die zukünftige Umgebung des VPN-Dienstes, die Netzarchitektur der Abteilung Informatik, inklusive ihrem Firewallkonzept vorgestellt.
|
||||||
|
@ -24,6 +25,10 @@ Anschließend wird ein Konzept zur Verwaltung der VPN-Benutzer erschaffen und di
|
||||||
Die im Rahmen dieser Arbeit erzeugten Dokumente sind dem Anhang beigefügt.
|
Die im Rahmen dieser Arbeit erzeugten Dokumente sind dem Anhang beigefügt.
|
||||||
|
|
||||||
|
|
||||||
|
\chapter{Arbeitsauftrag} \label{cpt:the_task}
|
||||||
|
\todo{Die Abteilung Informatik benötigt einen neuen VPN-Dienst, der IPv6 gleichermaßen wie IPv4 unterstützt.}
|
||||||
|
|
||||||
|
|
||||||
\chapter{Netzarchitektur der Abteilung Informatik} \label{cpt:netarchitecture}
|
\chapter{Netzarchitektur der Abteilung Informatik} \label{cpt:netarchitecture}
|
||||||
Das Netz der Abteilung Informatik wird durch eine Firewall vom Netz der Hochschule Hannover und dem Internet getrennt.
|
Das Netz der Abteilung Informatik wird durch eine Firewall vom Netz der Hochschule Hannover und dem Internet getrennt.
|
||||||
An der Firewall sind zwei lokale Netze angeschlossen: Die \textit{Demilitarisierte Zone} (DMZ) und das interne Abteilungsnetz, welches durch einen zentralen Switch in mehrere \textit{virtuelle Netze} (VLANs) unterteilt wird.
|
An der Firewall sind zwei lokale Netze angeschlossen: Die \textit{Demilitarisierte Zone} (DMZ) und das interne Abteilungsnetz, welches durch einen zentralen Switch in mehrere \textit{virtuelle Netze} (VLANs) unterteilt wird.
|
||||||
|
@ -37,8 +42,7 @@ Eine Skizze der Netztopologie mit den für diese Arbeit relevanten Teilen ist in
|
||||||
\label{fig:topology_simple}
|
\label{fig:topology_simple}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
\paragraph{Firewallkonzept} \label{par:firewall}
|
||||||
\section{Firewallkonzept} \label{sct:firewall}
|
|
||||||
Die im Netz der Abteilung Informatik verwendeten LANs und VLANs werden im Firewallkonzept als verschiedene Sicherheitszonen betrachtet.
|
Die im Netz der Abteilung Informatik verwendeten LANs und VLANs werden im Firewallkonzept als verschiedene Sicherheitszonen betrachtet.
|
||||||
Im Rahmen dieser Arbeit sind die folgenden Zonen relevant:
|
Im Rahmen dieser Arbeit sind die folgenden Zonen relevant:
|
||||||
|
|
||||||
|
@ -91,11 +95,8 @@ Labor-Netze & erlaubt & erlaubt & erlaubt & erlaubt & --- \\
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
|
||||||
\chapter{Auswahl der VPN-Software} \label{cpt:choosing_vpn_software}
|
\chapter{Konzeption des neuen VPN-Dienst} \label{cpt:concept_vpn_service}
|
||||||
Das Umfeld, in dem der VPN-Dienst errichtet werden soll, wurde im vorherigen Kapitel bereits vorgestellt.
|
\todo{Wir schauen mal, was so gebraucht wird und wie es aussehen soll.}
|
||||||
In diesem Kapitel wird die Software ausgesucht, mit der der VPN-Dienst umgesetzt werden soll.
|
|
||||||
Dazu werden zunächst die Anforderungen ermittelt und analysiert.
|
|
||||||
Im Anschluss werden dann passende Softwarekandidaten vorgestellt und für die Auswahl der in dieser Arbeit zu verwendenden Software gegenübergestellt.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Anforderungsanalyse} \label{sct:requirements}
|
\section{Anforderungsanalyse} \label{sct:requirements}
|
||||||
|
@ -116,7 +117,7 @@ Darunter fallen Microsoft Windows 10 (Version~1709 oder höher), Apple MAC OS (a
|
||||||
\item \label{req:finance} \textbf{Finanzieller Rahmen:} Es stehen keine finanziellen Mittel für den Erwerb einer VPN-Lösung zur Verfügung.
|
\item \label{req:finance} \textbf{Finanzieller Rahmen:} Es stehen keine finanziellen Mittel für den Erwerb einer VPN-Lösung zur Verfügung.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
Anhand der Anforderungen~\ref{req:dualstack} bis \ref{req:finance} werden vorhandene Programme ermittelt, die sich als Kandidat zur Umsetzung des VPN-Dienstes eignen.
|
Anhand der Anforderungen~\ref{req:dualstack} bis \ref{req:finance} aus Abschnitt~\ref{sct:requirements} werden vorhandene Programme ermittelt, die sich als Kandidat zur Umsetzung des VPN-Dienstes eignen.
|
||||||
Aufgrund des finanziellen Rahmens (\ref{req:finance}) kommt nur kostenfreie Software in Frage, deren Serverkomponente mit aktuellem Debian (\ref{req:serveros}) kompatibel ist.
|
Aufgrund des finanziellen Rahmens (\ref{req:finance}) kommt nur kostenfreie Software in Frage, deren Serverkomponente mit aktuellem Debian (\ref{req:serveros}) kompatibel ist.
|
||||||
Die Clientkomponenten der gesuchten Software müssen unter den aktuellen Betriebssystemen lauffähig sein (\ref{req:clientos}).
|
Die Clientkomponenten der gesuchten Software müssen unter den aktuellen Betriebssystemen lauffähig sein (\ref{req:clientos}).
|
||||||
|
|
||||||
|
@ -129,6 +130,16 @@ Das wirkt sich auch auf Reaktionszeiten der Software-Distributoren aus: Entsprec
|
||||||
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{Konzeption des neuen VPN-Dienst} \label{sct:concept_vpn_service}
|
||||||
|
\todo{Aufgrund der Anforderungen ergibt sich, dass der VPN-Dienst in Client-Server-Architektur aufgesetzt wird, über Dualstack erreichbar ist, eigene IPv4- und IPv6-Adressen an VPN-Clients austeilt, Routen für die relevanten Informatik-Netzt auf den Clients einrichtet, verschlüsselt kommuniziert und Benutzer erst nach Authentisierung zulässt.}
|
||||||
|
|
||||||
|
|
||||||
|
\chapter{Auswahl der VPN-Software} \label{cpt:choosing_vpn_software}
|
||||||
|
Das Umfeld, in dem der VPN-Dienst errichtet werden soll, wurde im vorherigen Kapitel bereits vorgestellt.
|
||||||
|
In diesem Kapitel wird die Software ausgesucht, mit der der VPN-Dienst umgesetzt werden soll.
|
||||||
|
Dazu werden zunächst die Anforderungen ermittelt und analysiert.
|
||||||
|
Im Anschluss werden dann passende Softwarekandidaten vorgestellt und für die Auswahl der in dieser Arbeit zu verwendenden Software gegenübergestellt.
|
||||||
|
|
||||||
\section{Kandidaten für VPN-Serversoftware} \label{sct:software_candidates}
|
\section{Kandidaten für VPN-Serversoftware} \label{sct:software_candidates}
|
||||||
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.
|
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.
|
||||||
|
@ -388,14 +399,14 @@ Außerdem ist die Angriffsfläche beim Einsatz von Zertifikaten geringer, da kei
|
||||||
Unter Abwägung dieser Vor- und Nachteile werden im Rahmen dieser Arbeit Zertifikate zur Authentisierung von Benutzern verwendet.
|
Unter Abwägung dieser Vor- und Nachteile werden im Rahmen dieser Arbeit Zertifikate zur Authentisierung von Benutzern verwendet.
|
||||||
|
|
||||||
|
|
||||||
\section{Zertifikatgestützte Benutzerauthentisierung} \label{sct:ca_concept}
|
\chapter{Zertifikatgestützte Benutzerauthentisierung} \label{cpt:ca_concept}
|
||||||
Die VPN-Software OpenVPN bringt OpenSSL als Abhängigkeit mit.
|
Die VPN-Software OpenVPN bringt OpenSSL als Abhängigkeit mit.
|
||||||
OpenSSL stellt eine Menge von Funktionen als Kommandozeilenwerkzeug zur Verfügung, mit denen alle Basisfunktionen einer Zertifizierungsstelle wie zum Beispiel die Erzeugung von Schlüssel\-paaren und Zertifikatsanträgen, sowie das Ausstellen von Zertifikaten auf Basis von Zertifikatsanträgen möglich ist.
|
OpenSSL stellt eine Menge von Funktionen als Kommandozeilenwerkzeug zur Verfügung, mit denen alle Basisfunktionen einer Zertifizierungsstelle wie zum Beispiel die Erzeugung von Schlüssel\-paaren und Zertifikatsanträgen, sowie das Ausstellen von Zertifikaten auf Basis von Zertifikatsanträgen möglich ist.
|
||||||
Im Prinzip ist es möglich, durch manuelle Bedienung von OpenSSL eine \textit{Zertifizierungsstelle} (CA) zu betreiben.
|
Im Prinzip ist es möglich, durch manuelle Bedienung von OpenSSL eine \textit{Zertifizierungsstelle} (CA) zu betreiben.
|
||||||
Diese Vorgehensweise verlangt jedoch Fachwissen und Sorgfalt von den Betreibern der CA und eignet sich aufgrund des hohen Aufwands nur für die Verwaltung weniger Benutzer oder zu Zwecken der Lehre.
|
Diese Vorgehensweise verlangt jedoch Fachwissen und Sorgfalt von den Betreibern der CA und eignet sich aufgrund des hohen Aufwands nur für die Verwaltung weniger Benutzer oder zu Zwecken der Lehre.
|
||||||
|
|
||||||
|
|
||||||
\subsection{Zertifizierungsstelle mit EasyRSA} \label{ssct:easyrsa_intro}
|
\section{Zertifizierungsstelle mit EasyRSA} \label{sct:easyrsa_intro}
|
||||||
Mit der Installation von OpenVPN wird die Installation der Software \enquote{EasyRSA} durch den Debian-Paketmanager empfohlen, welches ebenfalls von den OpenVPN-Entwicklern geschrieben wurde.
|
Mit der Installation von OpenVPN wird die Installation der Software \enquote{EasyRSA} durch den Debian-Paketmanager empfohlen, welches ebenfalls von den OpenVPN-Entwicklern geschrieben wurde.
|
||||||
Dieses Paket enthält eine Sammlung von Shellskripten, welche die Funktionalität von OpenSSL kapseln um damit einen erleichterten Betrieb einer CA zu ermöglichen.
|
Dieses Paket enthält eine Sammlung von Shellskripten, welche die Funktionalität von OpenSSL kapseln um damit einen erleichterten Betrieb einer CA zu ermöglichen.
|
||||||
Die enthaltenen Skripte abstrahieren allgemeine Aufgaben für den Betrieb einer CA.
|
Die enthaltenen Skripte abstrahieren allgemeine Aufgaben für den Betrieb einer CA.
|
||||||
|
@ -416,7 +427,7 @@ Eine auf diese Weise eingerichtete CA kann aus diesem Grund nicht durch den Debi
|
||||||
Aufgrund des Installationsprozess und den in EasyRSA Version~3.0.5 enthaltenen Vorteilen wird entschieden, dass EasyRSA Version~3.0.5 zum Aufbau der CA für den VPN-Dienst eingesetzt wird.
|
Aufgrund des Installationsprozess und den in EasyRSA Version~3.0.5 enthaltenen Vorteilen wird entschieden, dass EasyRSA Version~3.0.5 zum Aufbau der CA für den VPN-Dienst eingesetzt wird.
|
||||||
|
|
||||||
|
|
||||||
\subsection{Konfiguration von EasyRSA} \label{ssct:easyrsa_config}
|
\section{Konfiguration von EasyRSA} \label{sct:easyrsa_config}
|
||||||
Bevor mit EasyRSA~3.0.5 eine CA aufgebaut werden kann, muss die Konfiguration von EasyRSA an die Bedürfnisse der CA angepasst werden.
|
Bevor mit EasyRSA~3.0.5 eine CA aufgebaut werden kann, muss die Konfiguration von EasyRSA an die Bedürfnisse der CA angepasst werden.
|
||||||
Die anzupassenden Parameter werden in diesem Abschnitt beschrieben und die dazu getroffenen Entscheidungen erläutert.
|
Die anzupassenden Parameter werden in diesem Abschnitt beschrieben und die dazu getroffenen Entscheidungen erläutert.
|
||||||
|
|
||||||
|
@ -523,6 +534,9 @@ Details zur Benutzung der CA sind in dem Dokument \enquote{Dokumentation der Zer
|
||||||
In diesem Kapitel wird gezeigt, wie der Server für den VPN-Dienst installiert und konfiguriert wird. Wie in Abschnitt~\ref{sct:requirements} bereits geklärt, wird laut Anforderung \ref{req:serveros} Debian~9 als Betriebssystem verwendet.
|
In diesem Kapitel wird gezeigt, wie der Server für den VPN-Dienst installiert und konfiguriert wird. Wie in Abschnitt~\ref{sct:requirements} bereits geklärt, wird laut Anforderung \ref{req:serveros} Debian~9 als Betriebssystem verwendet.
|
||||||
Die Konfiguration des Betriebssystems erfolgt dabei nach den Vorgaben des IT-Teams, damit der Dienst ohne zusätzliche Arbeiten als Produktivsystem übernommen werden kann.
|
Die Konfiguration des Betriebssystems erfolgt dabei nach den Vorgaben des IT-Teams, damit der Dienst ohne zusätzliche Arbeiten als Produktivsystem übernommen werden kann.
|
||||||
|
|
||||||
|
|
||||||
|
\section{} \label{sct:}
|
||||||
|
|
||||||
OpenVPN unterstützt den Aufbau eines VPN-Tunnels auf OSI-Layer~2 und OSI-Layer~3.
|
OpenVPN unterstützt den Aufbau eines VPN-Tunnels auf OSI-Layer~2 und OSI-Layer~3.
|
||||||
Im Prinzip könnten beide Tunnelvarianten für den Anwendungsfall dieser Arbeit verwendet werden.
|
Im Prinzip könnten beide Tunnelvarianten für den Anwendungsfall dieser Arbeit verwendet werden.
|
||||||
Da im Rahmen dieser Arbeit nur die Erreichbarkeit über IPv4 und IPv6 relevant ist, wird ein VPN-Tunnel auf OSI-Layer~2 nicht benötigt.
|
Da im Rahmen dieser Arbeit nur die Erreichbarkeit über IPv4 und IPv6 relevant ist, wird ein VPN-Tunnel auf OSI-Layer~2 nicht benötigt.
|
||||||
|
@ -570,7 +584,7 @@ Jeglicher weiterer Datenverkehr aus dem VPN-Netz heraus ist gestattet.
|
||||||
Alle Details zu Installation und Betrieb des VPN-Servers sind in dem Dokument \enquote{IPv6-VPN Serverdokumentation} im Anhang dieser Arbeit zu finden.
|
Alle Details zu Installation und Betrieb des VPN-Servers sind in dem Dokument \enquote{IPv6-VPN Serverdokumentation} im Anhang dieser Arbeit zu finden.
|
||||||
|
|
||||||
|
|
||||||
\section{Konfiguration von OpenVPN}
|
\section{Entwurf der OpenVPN-Konfiguration} \label{sct:openvpn_config}
|
||||||
Nach 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.
|
Nähere Informationen zu den verwendeten Optionen können in \cite[][]{man:openvpn} nachgeschlagen werden.
|
||||||
|
|
||||||
|
@ -813,8 +827,6 @@ Die Verwaltung von VPN-Benutzern kann dabei unter anderem über X.509-Public-Key
|
||||||
Die Installation und Konfiguration des VPN-Dienst konnte ohne Komplikationen durchgeführt werden und erfüllt alle gegebenen Anforderungen.
|
Die Installation und Konfiguration des VPN-Dienst konnte ohne Komplikationen durchgeführt werden und erfüllt alle gegebenen Anforderungen.
|
||||||
Da die Konzeption in enger Absprache mit dem IT-Team der Abteilung Informatik stattgefunden hat und alle im IT-Team gängigen Vorgehensweisen berücksichtigt wurden, steht dem langfristigen Betrieb des in dieser Arbeit erschaffenen VPN-Servers und der dazugehörigen VPN-CA nichts im Weg.
|
Da die Konzeption in enger Absprache mit dem IT-Team der Abteilung Informatik stattgefunden hat und alle im IT-Team gängigen Vorgehensweisen berücksichtigt wurden, steht dem langfristigen Betrieb des in dieser Arbeit erschaffenen VPN-Servers und der dazugehörigen VPN-CA nichts im Weg.
|
||||||
|
|
||||||
|
|
||||||
\section{Ausblick}
|
|
||||||
Mit der in dieser Arbeit erschaffenen VPN-Lösung ist der Bedarf der Abteilung Informatik an VPN-Diensten erst einmal gedeckt worden.
|
Mit der in dieser Arbeit erschaffenen VPN-Lösung ist der Bedarf der Abteilung Informatik an VPN-Diensten erst einmal gedeckt worden.
|
||||||
Allerdings bedeutet die erfolgreiche Inbetriebnahme eines neuen Produktivsystems keinesfalls, dass nun nichts mehr zu tun sei.
|
Allerdings bedeutet die erfolgreiche Inbetriebnahme eines neuen Produktivsystems keinesfalls, dass nun nichts mehr zu tun sei.
|
||||||
Es lohnt sich jederzeit, die Aktualisierung und Weiterentwicklung eines Dienstes im Auge zu behalten.
|
Es lohnt sich jederzeit, die Aktualisierung und Weiterentwicklung eines Dienstes im Auge zu behalten.
|
||||||
|
|
Loading…
Reference in New Issue