masterthesis/Masterarbeit.tex

337 lines
14 KiB
TeX

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Setup des Dokuments
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[12pt,a4paper,twoside,parskip=half-,headsepline,headinclude]{scrreprt} % Grundgröße 12pt, zweiseitig
% Packages from template
\usepackage[headsepline,automark]{scrlayer-scrpage} % Seitenköpfe automatisch
\KOMAoptions{headinclude} % Fix
\usepackage[german]{babel} % Sprachpaket für Deutsch (Umlaute, Trennung,deutsche Überschriften)
\usepackage{graphicx,hyperref} % Graphikeinbindung, Hyperref (alles klickbar, Bookmarks)
\usepackage{amssymb} % Math. Symbole aus AmsTeX
\usepackage[utf8]{inputenc} % Umlaute
% Custom packages
\usepackage[autostyle=true,german=quotes]{csquotes} % Anführungszeichen mit \enquote{}
\usepackage{textcomp} % Zusätzliches Package für °C
\usepackage{listings} % Codesnippets
\usepackage{scrhack} % Hack for lstlisting i suspect :-/
\usepackage{xcolor}
\usepackage{float}
\usepackage{soul}
\usepackage{verbatim} % für comment-environment
\usepackage{amsmath}
\usepackage{caption}
\captionsetup[table]{skip=8pt}
% Setup für Codeblocks
\lstset{
% Optionen
breaklines=true,
breakatwhitespace=true,
breakautoindent=true,
frame=single,
%framexleftmargin=19pt,
inputencoding=utf8,
%language=awk,
%numbers=left,
%numbersep=8pt,
showspaces=false,
showstringspaces=false,
tabsize=1,
%xleftmargin=19pt,
captionpos=b,
% Styling
basicstyle=\footnotesize\ttfamily,
commentstyle=\footnotesize,
keywordstyle=\footnotesize\ttfamily,
numberstyle=\footnotesize,
stringstyle=\footnotesize\ttfamily,
}
% Hack für Sonderzeichen in Codeblocks
\lstset{literate=%
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}1
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
{°}{{${^\circ}$}}1
}
% Befehl für TODO-Markierungen
\newcommand{\todo}[1]{\textcolor{blue}{\emph{TODO: #1}}}
% Befehl für Entwürfe und grobe Pläne
%\newenvironment{draft}{\par\color{orange}\begin{center}Entwurf / Konzept\end{center}\hrule}{\hrule\par}
% Broken citation needs broken command
\newcommand\mathplus{+}
% Festlegung Kopf- und Fußzeile
\defpagestyle{meinstil}{%
{\headmark \hfill}
{\hfill \headmark}
{\hfill \headmark\hfill}
(\textwidth,.4pt)
}{%
(\textwidth,.4pt)
{\pagemark\hfill Jan Philipp Timme}
{Version 1.0 vom \today \hfill \pagemark}
{Version 1.0 vom \today \hfill \pagemark}
}
\pagestyle{meinstil}
\raggedbottom
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn des Dokuments (Titelseite und der ganze Krempel)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
% Titelseite
\thispagestyle{empty}
\includegraphics[width=0.2\textwidth]{res/Wortmarke_WI_schwarz.pdf}
{ ~ \sffamily
\vfill
{\Huge\bfseries Konzeption und Umsetzung eines IPv6-VPN für die Abteilung Informatik}
\bigskip
{\Large Jan Philipp Timme
\\[2ex]
Masterarbeit im Studiengang "`Angewandte Informatik"'
\\[5ex]
\today
}
}
\vfill
~ \hfill
\includegraphics[height=0.3\paperheight]{res/H_WI_Pantone1665.pdf}
\vspace*{-3cm}
% Seite mit Personen und Selbstständigkeitserklärung
\newpage \thispagestyle{empty}
\begin{tabular}{ll}
{\bfseries\sffamily Autor} & Jan Philipp Timme \\
& Matrikelnummer 1433117 \\
& Abteilung Informatik, Fakultät IV \\
& Hochschule Hannover \\
& jan.philipp@timme.it \\[5ex]
{\bfseries\sffamily Erstprüfer} & Prof. Dr. Stefan Wohlfeil \\
& Abteilung Informatik, Fakultät IV \\
& Hochschule Hannover \\
& stefan.wohlfeil@hs-hannover.de \\[5ex]
{\bfseries\sffamily Zweitprüfer} & N.N. \\
& Abteilung Informatik, Fakultät IV \\
& Hochschule Hannover \\
& N.N@hs-hannover.de
\end{tabular}
\vfill
% fett und zentriert in der Minipage
\begin{center} \sffamily\bfseries Selbständigkeitserklärung \end{center}
Hiermit erkläre ich, dass ich die eingereichte Masterarbeit
selbständig und ohne fremde Hilfe verfasst, andere als die von mir angegebenen Quellen
und Hilfsmittel nicht benutzt und die den benutzten Werken wörtlich oder
inhaltlich entnommenen Stellen als solche kenntlich gemacht habe.
\vspace*{7ex}
Hannover, den \today \hfill Unterschrift
\pdfbookmark[0]{Inhalt}{contents}
% Inhaltsverzeichnis
\tableofcontents
% Abbildungsverzeichnis
%\listoffigures
% Codeverzeichnis
%\lstlistoflistings
% Tabellenverzeichnis
%\listoftables
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Hier geht es richtig los mit dem Text!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Einleitung}
Die Menge der noch verfügbaren IPv4-Adressen neigt sich dem Ende zu.
Laut Angaben des RIPE NCC\footnote{RIPE Network Coordination Centre} vom Juni 2018 sind ungefähr 8,63 Millionen IPv4-Adressen verfügbar\footnote{\url{https://www.ripe.net/publications/ipv6-info-centre/about-ipv6/ipv4-exhaustion/ipv4-available-pool-graph}, abgerufen am 03.06.2018}.
Das entspricht etwa der Hälfte der nutzbaren Host-Adressen eines \texttt{/8}-Blocks.
Betrachtet man die Vergabegeschwindigkeit von IPv4-Adressen aus den letzten 3 Jahren, so könnte man den Zeitpunkt der Erschöpfung von IPv4-Adressen zwischen 2019 und 2021 vermuten\footnote{\url{https://ipv4.potaroo.net/}, abgerufen am 03.06.2018}.
Vor diesem Hintergrund findet die Verwendung von IPv6 eine zunehmende Verbreitung als Nachfolger von IPv4:
Immer mehr Internetdienste können über IPv6 erreicht werden, und auch die Internetanbieter stellen ihren Kunden IPv6-fähige Internetanschlüsse zur Verfügung.
Der Anteil von Suchanfragen, die über IPv6 an Google gestellt wurden, hat von 5,84\% am 1. Januar 2015 auf 21,11\% am 1. Juni 2018 zugenommen\footnote{\url{https://www.google.com/intl/en/ipv6/statistics.html}, abgerufen am 03.06.2018}.
Am AMS-IX\footnote{Amsterdam Internet Exchange}, dem Internet-Austauschpunkt in Amsterdam, hat sich der Durchfluss von IPv6-Verkehr in den letzten 12 Monaten im Durchschnitt von etwa 55 Gbit/s im August 2017 auf etwa 85 Gbit/s im Mai 2018 gesteigert\footnote{\url{https://ams-ix.net/technical/statistics/sflow-stats/ipv6-traffic}, abgerufen am 03.06.2018}.
Auch das Netz der Abteilung Informatik an der Hochschule Hannover ist Vorreiter in der Erprobung von IPv6: Seit Anfang 2015 ist das Netz schon über IPv6 an das Internet angebunden.
Damit ist die Voraussetzung gegeben, um Netzwerkgeräte für IPV6 zu konfigurieren und bestehende Netzwerkdienste auch über IPv6 anzubieten.
Mitarbeitern der Abteilung Informatik steht ein VPN-Dienst zur Verfü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.
\newpage
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 Netzarchitektur der Abteilung Informatik inklusive dem Firewallkonzept vorgestellt.
Anschließend werden alle Rahmenbedingungen und Anforderungen erfasst, die bei der Konzeption des neuen VPN-Dienst berücksichtigt werden sollen.
In der darauf folgenden Konzeptphase werden zunächst grundlegende, lösungsunabhängige Entscheidungen getroffen, auf Basis derer dann eine technischen Lösung ausgewählt wird.
\todo{Danach geht es weiter mit der Planung der konkreten Lösung, der Installation und der Dokumentation.}
\chapter{Netzarchitektur der Abteilung Informatik}
Das Netz der Abteilung Informatik wird durch eine Firewall vom Netz der Hochschule Hannover und dem Internet getrennt.
An der Firewall angeschlossen sind zwei lokale Netze: Die Demilitarisierte Zone (DMZ) und das interne Abteilungsnetz, welches durch einen zentralen Switch in mehrere virtuelle Netze (VLANs) unterteilt wird.
Zusätzlich sind die Netze des Netzwerklabors und des IT-Sicherheitslabors über je einen eigenen Router an den Switch angeschlossen.
Eine Skizze der Netztopologie mit den für diese Arbeit relevanten Teilen ist in Abbildung~\ref{fig:topology_simple} zu sehen.
\begin{figure}[ht]
\centering
% Trim, da diese Grafik als PDF auf DIN A4 vorliegt.
\frame{\includegraphics[trim=75 499 75 75,clip,width=\textwidth]{img/Netzwerktopologie_simpel.pdf}}
\caption{Skizze der Netztopologie der Abteilung Informatik}
\label{fig:topology_simple}
\end{figure}
In Tabelle~\ref{tab:net_ip_addresses} sind die IPv4- und IPv6-Netzadressen der Netzsegmente aufgeführt.
\todo{Diese Tabelle in Abbildung oben integrieren!}
\begin{table}[ht]
\centering
\caption{IP-Adressbereiche der relevanten Netzsegmente}
\begin{tabular}{ *{3}{|l}| }
\hline
Netzsegment & IPv4 & IPv6 \\
\hline
Internet & --- & --- \\
DMZ & 141.71.38.0/24 & 2001:638:614:1780::/64 \\
Mitarbeiter-Netz & 141.71.30.0/23 & 2001:638:614:1720::/64 \\
Pool-PC-Netz & 192.168.99.0/24 & 2001:638:614:1721::/64 \\
Labor-Netze & 10.3.1.0/24, & 2001:638:614:1742::/64, \\
& 10.0.0.0/24 & 2001:638:614:1741::/64 \\
\hline
\end{tabular}
\label{tab:net_ip_addresses}
\end{table}
\section{Firewallkonzept}
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:
\paragraph{Internet}
Das \enquote{Internet} bezeichnet den Bereich außerhalb des Netzes der Abteilung Informatik.
Diese Zone umfasst neben dem Internet natürlich auch das Netz der Hochschule Hannover.
Verbindungen in das Internet sind aus allen Zonen außer der DMZ erlaubt.
Verbindungen aus dem Internet werden nur zu Diensten in der DMZ (wie zum Beispiel DNS, VPN, \dots), sowie zu dem SSH-Dienst im Mitarbeiter-Netz zugelassen.
\paragraph{DMZ}
Von der Abteilung Informatik betriebene Server stellen in diesem Netz Dienste zur Verfügung, die sowohl innerhalb der Abteilung als auch über das Internet erreichbar sind.
Verbindungen in die DMZ zu Diensten wie DNS oder VPN sind aus allen anderen Zonen heraus erlaubt.
Verbindungen aus der DMZ in alle anderen Zonen sind nur unter besonderen Umständen erlaubt, um im Fall eines Sicherheitsvorfalls das restliche Netz zu schützen.
Ein Beispiel für
\paragraph{Mitarbeiter-Netz}
Die Rechner aller Mitarbeiter der Abteilung Informatik sind an dieses Netz angeschlossen.
Verbindungen in das Mitarbeiter-Netz sind nur in Einzelfällen erlaubt - zum Beispiel für Datenverkehr von authentifizierten Benutzern des bestehenden VPN-Dienst.
Verbindungen aus dem Mitarbeiter-Netz sind in alle anderen Zonen erlaubt.
\paragraph{Pool-PC-Netz}
Enthält die Rechner aus allen Poolräumen.
Verbindungen in das Pool-PC-Netz sind aus dem Mitarbeiter-Netz erlaubt.
Verbindungen aus dem Pool-PC-Netz sind in das Internet und die DMZ erlaubt, sowie in Einzelfällen zu den Routern der beiden Labore.
\paragraph{Labor-Netze}
Das Netzwerklabor und das Labor für IT-Sicherheit werden für diese Arbeit unter der Zone \enquote{Labor-Netze} zusammengefasst.
Verbindungen aus den Labornetzen heraus sind in das Internet und die DMZ erlaubt.
Verbindungen in die Labornetze sind aus dem Mitarbeiter-Netz und in Einzelfällen auch aus dem Pool-PC-Netz heraus erlaubt.
Ein Überblick der erlaubten Verbindungen zwischen den Sicherheitszonen ist in Tabelle~\ref{tab:firewall_zone_access} skizziert.
\begin{table}[ht]
\centering
\caption{Überblick über erlaubte Verbindungen zwischen Sicherheitszonen}
\begin{tabular}{ *{6}{|l}| }
\hline
& \multicolumn{5}{c|}{\dots in die Zone \dots} \\
Aus der Zone \dots & Internet & DMZ & Mitarbeiter-Netz & Pool-PC-Netz & Labor-Netze \\
\hline
Internet & --- & erlaubt & verboten & verboten & verboten \\
DMZ & verboten & --- & verboten & verboten & verboten \\
Mitarbeiter-Netz & erlaubt & erlaubt & --- & erlaubt & erlaubt \\
Pool-PC-Netz & erlaubt & erlaubt & erlaubt & --- & erlaubt \\
Labor-Netze & erlaubt & erlaubt & erlaubt & erlaubt & --- \\
\hline
\end{tabular}
\label{tab:firewall_zone_access}
\end{table}
\chapter{Anforderungsanalyse}
In diesem Abschnitt werden alle Anforderungen betrachtet, die an den zu konzipierenden VPN-Dienst gestellt werden.
\todo{Die Anforderungen sinnvoll präsentieren.}
\begin{itemize}
\item Der VPN-Dienst soll aus dem Internet über IPv4 und IPv6 erreichbar sein
\item Der VPN-Dienst soll die Protokolle IPv4 und IPv6 innerhalb des VPN anbieten
\item Die Serverkomponente des VPN-Dienst soll auf einer aktuellen Version von Debian betrieben werden
\item Für den VPN-Dienst soll Clientsoftware für aktuelle Versionen gängiger Betriebsysteme zur Verfügung stehen
\begin{itemize}
\item Microsoft Windows 10 (Version 1709 oder höher)
\item Apple MAC OS ab Version 10.13
\item Linux-Distributionen ab Kernel Version 3.10
\end{itemize}
\item Es stehen keine finanziellen Mittel für den Erwerb einer Lösung zur Verfügung
\item Nur die internen Netzbereiche der Abteilung Informatik sollen über den VPN-Dienst erreichbar sein
\item Die Kommunikation zwischen VPN-Client und VPN-Dienst soll authentisiert und vertraulich stattfinden
\item Benutzer des VPN-Dienst sind Mitarbeiter und Studenten der Abteilung Informatik
\item Das Benutzerverhalten soll nur im Rahmen der Fehlersuche protokolliert werden
\end{itemize}
\chapter{Konzeption}
Als Lösungen stehen unter anderem OpenVPN und IPsec\cite{RFC4301}[Siehe hier] im Raum.
\chapter*{Anhang}
\addcontentsline{toc}{chapter}{Anhang}
\begin{figure*}[ht]
\centering
\frame{\includegraphics[trim=0 120 0 20,clip,width=\textwidth]{img/Abt-I-Architektur-2018.pdf}}
\caption{Dokumentation Netzarchitektur der Abteilung Informatik}
\label{fig:topology_provided_full}
\end{figure*}
%%% Ende inhaltlicher Inhalt! %%%
% Literaturverzeichnis
\clearpage
% Schlüssel als Buchstaben
\bibliographystyle{alpha}
\bibliography{Literaturverweise}
% Und JETZT zum Inhaltsverzeichnis hinzufügen. Geil!
\addcontentsline{toc}{chapter}{Literaturverweise}
\end{document}
% Nothing beyond this line!
% Referenz auf Bibtex mit Kommentar
% \cite{robbins:gawk}[Siehe ab S.95]
% Einbinden von Tex-Files
%\input{abkuerz.tex}
%\input{einfuehrung.tex}
% Einbinden von größeren Tex-Files, z.B. Kapiteln
%\include{normen}
%\include{aufbau}
%\include{zitieren}
%\include{form}
%\include{allgtips}