215 lines
7.2 KiB
TeX
215 lines
7.2 KiB
TeX
\section{Einleitung}
|
|
|
|
\subsection{Situation von IPv4 und IPv6}
|
|
\begin{frame}{Situation von IPv4 und IPv6}
|
|
Allgemein:
|
|
\begin{itemize}
|
|
\item Öffentliche IPv4-Adressen sind fast vollständig erschöpft
|
|
\begin{itemize}
|
|
\item Internetanbieter setzen stellenweise auf Carrier-grade NAT
|
|
\end{itemize}
|
|
\item Immer mehr Internetanschlüsse werden auch mit IPv6 versorgt
|
|
\end{itemize}
|
|
In der Abteilung Informatik:
|
|
\begin{itemize}
|
|
\item IPv6 wird seit wenigen Jahren erprobt
|
|
\item Seit Anfang 2018 über natives IPv6-Routing versorgt
|
|
\item Existierende Dienste werden um IPv6 erweitert
|
|
\end{itemize}
|
|
\ \newline
|
|
$\rightarrow$ IPv6-fähiger VPN-Dienst soll bisherigen IPv4-VPN-Dienst ablösen
|
|
\end{frame}
|
|
|
|
\subsection{Definition: \textit{Virtual Private Network} (VPN)}
|
|
\begin{frame}{Definition: \textit{Virtual Private Network} (VPN)}
|
|
|
|
\begin{itemize}
|
|
\item \textit{Virtual}: Es existiert nur logisch, nicht physisch
|
|
\item \textit{Private}: Nur die VPN-Teilnehmer wissen davon
|
|
\item \textit{Network}: VPN-Teilnehmer können über VPN Nachrichten versenden und empfangen
|
|
\end{itemize}
|
|
|
|
\begin{block}{\textbf{Beispiel} Pen-\&-Paper-Rollenspiel}
|
|
Spielteilnehmer tauschen Informationen über Zettel aus, als säßen sie gemeinsam an einem Tisch. \\
|
|
Die Zettel werden aber im Umschlag per Post zwischen den Teilnehmern transportiert.
|
|
\end{block}
|
|
\end{frame}
|
|
|
|
\subsection{Beispiel: Funktionsweise eines VPNs}
|
|
\begin{frame}{Beispiel: Funktionsweise eines VPNs}
|
|
\begin{figure}[ht]
|
|
\centering
|
|
\includegraphics[trim=75 610 135 75,clip,width=\textwidth]{img/VPN-Skizze.pdf}
|
|
\caption{Beispielszenario: VPN-Verbindung zwischen Alice und Bob}
|
|
\end{figure}
|
|
\end{frame}
|
|
|
|
|
|
\section{Arbeitsauftrag}
|
|
|
|
\subsection{Arbeitsauftrag}
|
|
\begin{frame}{Arbeitsauftrag}
|
|
Ein IPv6-fähiger VPN-Dienst soll konzipiert und umgesetzt werden, um den existierenden IPv4-VPN-Dienst abzulösen.
|
|
\end{frame}
|
|
|
|
\subsection{Anforderungen}
|
|
\begin{frame}{Anforderungen (1/3)}
|
|
\begin{itemize}
|
|
\item \textbf{Dual-Stack-Betrieb}: Erreichbar über IPv6 und IPv4, Unterstützung von IPv6 und IPv4 innerhalb des VPNs
|
|
\item \textbf{VPN-interner Datenverkehr}: Interne Abteilungsnetze sollen über VPN erreichbar sein, VPN-Clients dürfen nicht mit anderen VPN-Clients kommunizieren
|
|
\item \textbf{VPN-externer Datenverkehr}: Authentisierte, vertrauliche Kommunikation zwischen VPN-Clients und -Server
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Anforderungen (2/3)}
|
|
\begin{itemize}
|
|
\item \textbf{Benutzer}: Beschäftigte und Studierende der Abteilung Informatik, Kapazität für 50-500 Benutzer
|
|
\item \textbf{Betrieb des VPN-Servers}: Debian~9 (oder höher) wird als Serverbetriebssystem vorgegeben
|
|
\item \textbf{Betrieb der VPN-Clients}: Moderne Versionen von Linux, MacOS und Windows sollen unterstützt werden
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Anforderungen (3/3)}
|
|
\begin{itemize}
|
|
\item \textbf{Betriebsprotokoll}: VPN-Dienst soll im Regelbetrieb DSGVO-konform protokollieren
|
|
\item \textbf{Finanzieller Rahmen}: Es steht kein Geld zur Verfügung
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\subsection{Überblick: Netzwerk der Abteilung Informatik}
|
|
\begin{frame}{Überblick: Netzwerk der Abteilung Informatik}
|
|
\begin{figure}[ht]
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/Netzwerktopologie_simpelv2_with_addresses.pdf}
|
|
\caption{Topologie des Abteilungsnetzes (vereinfachte Skizze)}
|
|
\end{figure}
|
|
\end{frame}
|
|
|
|
|
|
\section{Konzept}
|
|
|
|
\subsection{Entwurf der Architektur}
|
|
\begin{frame}{Entwurf der Architektur (1/2)}
|
|
\begin{itemize}
|
|
\item VPN-Server wird in DMZ-Netz platziert
|
|
\item VPN-Tunnel auf OSI-Schicht~3, transportiert IP-Pakete
|
|
\item IP-Adressen für VPN-Clients
|
|
\begin{itemize}
|
|
\item Private Adressen mit NAT für IPv4
|
|
\item Öffentliches Netz für IPv6
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Entwurf der Architektur (2/2)}
|
|
\begin{itemize}
|
|
\item VPN-Server und -Benutzer authentisieren sich mit Zertifikaten
|
|
\item PKI für Zertifikate wird auf separatem Server eingerichtet
|
|
\item VPN-Server blockiert gesperrte Benutzer mit Hilfe der CRL\footnote{\textit{Certificate Revocation List} (CRL)} der PKI
|
|
\item PKI-Server wird in Mitarbeiter-Netz platziert
|
|
\item PKI-Server stellt CRL über Webserver zur Verfügung
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\subsection{Überblick: Geplante Architektur}
|
|
\begin{frame}{Überblick: Geplante Architektur}
|
|
\begin{figure}[ht]
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/VPN-Service-Concept.pdf}
|
|
\caption{Konzept zur Installation des VPN-Dienstes}
|
|
\end{figure}
|
|
\end{frame}
|
|
|
|
|
|
\section{Auswahl der VPN-Software}
|
|
|
|
\subsection{Betrachtete Kandidaten}
|
|
\begin{frame}{Auswahl der VPN-Software}
|
|
Als Serverbetriebssystem wurde Debian~9 vorgegeben. \\
|
|
$\rightarrow$ Debian-Paketquellen sind erste Anlaufstelle. \\
|
|
\ \\
|
|
Folgende Kandidaten wurden näher betrachtet:
|
|
\begin{itemize}
|
|
\item OpenVPN
|
|
\item StrongSwan (für IPsec-VPN)
|
|
\item Wireguard (zur Zeit experimentell, mehr dazu im Ausblick)
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{OpenVPN}
|
|
\begin{itemize}
|
|
\item Läuft komplett im Benutzerkontext
|
|
\item Benutzt OpenSSL für kryptografische Operationen
|
|
\item Stellt VPN über virtuelle Netzwerkkarte zur
|
|
Verfügung
|
|
\item ist vollständig quelloffen
|
|
\item VPN-Clients für alle drei Betriebssysteme kompiliert verfügbar
|
|
\item Für Einsteiger leicht verständliche Konfiguration
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{StrongSwan}
|
|
\begin{itemize}
|
|
\item Ermöglicht ein VPN auf Basis von IPsec
|
|
\item Installation und Einrichtung je nach Plattform
|
|
\item Ist \textbf{nicht} vollständig quelloffen, da IPsec im Kernel stattfindet
|
|
\item Zu viel Komplexität ermöglicht unsichere Konfigurationen
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\subsection{Auswahl der VPN-Software}
|
|
\begin{frame}{Warum OpenVPN? (Warum EasyRSA?)}
|
|
\begin{itemize}
|
|
\item Im Vergleich zu IPsec einfacher zu konfigurieren
|
|
\item Vollständig quelloffen
|
|
\item Plattformübergreifend identische Konfiguration und Usability (CLI)
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
\section{Installation und Konfiguration}
|
|
|
|
|
|
\begin{frame}{Mehr \dots}
|
|
\begin{itemize}
|
|
\item Fest vorgegebene Kryptografie, um weniger Komplexität und Fehleranfälligkeit zu erhalten
|
|
\item Nur korrekte Konfiguration führt zu einer dann auch vertraulichen Sitzung
|
|
\item Kontrollkanal und Datenkanal müssen gleichermaßen geschützt werden, um Vertraulichkeit zu gewährleisten
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\subsection{Überblick: Konkrete Architektur mit OpenVPN}
|
|
\begin{frame}{Überblick: Konkrete Architektur mit OpenVPN}
|
|
\begin{figure}[ht]
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/OpenVPN-Deployment.pdf}
|
|
\caption{Installation des IPv6-VPN mit OpenVPN und EasyRSA}
|
|
\label{fig:vpn_service_concept}
|
|
\end{figure}
|
|
\end{frame}
|
|
|
|
|
|
\section{Fazit/Ausblick}
|
|
|
|
\begin{frame}{Fazit}
|
|
\begin{itemize}
|
|
\item Neuer IPv6-VPN-Dienst steht und kann benutzt werden
|
|
\item Sollte lange genug halten, bis neue Technik kommt
|
|
\item Erweiterbarkeit in Hinblick auf lokale Firewall, Routing neuer Netze möglich
|
|
\item Bei kaputter Krypto einmal alles austauschen, sollte aber sehr unwahrscheinlich sein.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Ausblick}
|
|
\begin{itemize}
|
|
\item OpenVPN~3 ist in Entwicklung
|
|
\item Mit Wireguard kann man sehr viel Spaß haben
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Kurzer Überblick zum Schluss: Wireguard}
|
|
Noch experimentell, aber klares Design, wenig Code, einfache Benutzung.
|
|
Könnte die Zukunft sein. (Mehr dazu als Ausblick hinten dran)
|
|
\end{frame}
|
|
|
|
% The end. |