mastercolloquium/MA-KO-Inhalt.tex

207 lines
6.8 KiB
TeX
Raw Normal View History

2018-11-21 13:59:24 +01:00
\section{Einleitung}
\begin{frame}{Situation von IPv4 und IPv6}
2018-11-21 15:00:03 +01:00
Allgemein:
2018-11-21 13:59:24 +01:00
\begin{itemize}
2018-11-21 15:00:03 +01:00
\item Öffentliche IPv4-Adressen sind fast vollständig erschöpft
2018-11-21 13:59:24 +01:00
\begin{itemize}
2018-11-21 15:00:03 +01:00
\item Internetanbieter setzen stellenweise auf Carrier-grade NAT
2018-11-21 13:59:24 +01:00
\end{itemize}
2018-11-21 15:00:03 +01:00
\item Immer mehr Internetanschlüsse werden auch mit IPv6 versorgt
2018-11-21 13:59:24 +01:00
\end{itemize}
2018-11-21 15:00:03 +01:00
In der Abteilung Informatik:
2018-11-21 13:59:24 +01:00
\begin{itemize}
2018-11-21 15:00:03 +01:00
\item IPv6 wird seit wenigen Jahren erprobt
\item Seit Anfang 2018 über natives IPv6-Routing versorgt
2018-11-22 22:47:18 +01:00
\item Existierende Dienste werden um IPv6 erweitert
2018-11-21 13:59:24 +01:00
\end{itemize}
2018-11-21 15:13:38 +01:00
\ \newline
$\rightarrow$ Ein IPv6-fähiger VPN-Dienst soll den existierenden IPv4-VPN-Dienst ablösen.
2018-11-21 13:59:24 +01:00
\end{frame}
2018-11-21 15:13:38 +01:00
\begin{frame}{Definition: \textit{Virtual Private Network} (VPN)}
2018-11-20 15:56:38 +01:00
\begin{itemize}
2018-11-21 16:04:07 +01:00
\item \textit{Virtual}: Es existiert nur logisch, nicht physisch
\item \textit{Private}: Nur die VPN-Teilnehmer wissen davon
\item \textit{Network}: VPN-Teilnehmer werden direkt über das Netzwerk verbunden
2018-11-20 15:56:38 +01:00
\end{itemize}
2018-11-21 15:13:38 +01:00
2018-11-21 15:23:54 +01:00
\begin{block}{\textbf{Beispiel} Pen-\&-Paper-Rollenspiel}
2018-11-21 15:21:22 +01:00
Spielteilnehmer tauschen Informationen über Zettel aus, als säßen sie gemeinsam an einem Tisch. \\
2018-11-21 20:42:26 +01:00
Die Zettel werden aber im Umschlag per Post zwischen den Teilnehmern transportiert.
2018-11-21 15:21:22 +01:00
\end{block}
2018-11-20 15:56:38 +01:00
\end{frame}
\begin{frame}{Wie funktioniert ein VPN?}
\begin{figure}[ht]
\centering
2018-11-21 14:30:12 +01:00
\includegraphics[trim=75 610 135 75,clip,width=\textwidth]{img/VPN-Skizze.pdf}
2018-11-21 12:36:54 +01:00
\caption{Beispielszenario: VPN-Verbindung zwischen Alice und Bob}
\end{figure}
\end{frame}
2018-11-21 13:59:24 +01:00
\section{Arbeitsauftrag}
2018-11-20 14:44:31 +01:00
\begin{frame}{Arbeitsauftrag}
2018-11-22 15:32:54 +01:00
Ein IPv6-fähiger VPN-Dienst soll konzipiert und umgesetzt werden, um den existierenden IPv4-VPN-Dienst abzulösen.
2018-11-20 14:44:31 +01:00
\end{frame}
2018-11-22 14:55:19 +01:00
\begin{frame}{Anforderungen (1/3)}
2018-11-22 14:48:41 +01:00
\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}
2018-11-22 14:55:19 +01:00
\begin{frame}{Anforderungen (2/3)}
2018-11-22 14:48:41 +01:00
\begin{itemize}
2018-11-22 14:55:19 +01:00
\item \textbf{Benutzer}: Beschäftigte und Studierende der Abteilung Informatik, Kapazität für 50-500 Benutzer
2018-11-22 14:48:41 +01:00
\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
2018-11-22 14:55:19 +01:00
\end{itemize}
\end{frame}
\begin{frame}{Anforderungen (3/3)}
\begin{itemize}
2018-11-22 14:51:17 +01:00
\item \textbf{Betriebsprotokoll}: VPN-Dienst soll im Regelbetrieb DSGVO-konform protokollieren
2018-11-22 15:01:39 +01:00
\item \textbf{Finanzieller Rahmen}: Es steht kein Geld zur Verfügung
\end{itemize}
\end{frame}
2018-11-21 16:03:10 +01:00
\begin{frame}{Überblick: Netzwerk der Abteilung Informatik}
2018-11-21 15:59:35 +01:00
\begin{figure}[ht]
\centering
\includegraphics[width=\textwidth]{img/Netzwerktopologie_simpelv2_with_addresses.pdf}
2018-11-21 16:00:45 +01:00
\caption{Topologie des Abteilungsnetzes (vereinfachte Skizze)}
2018-11-21 15:59:35 +01:00
\end{figure}
\end{frame}
\section{Konzept}
2018-11-24 22:45:28 +01:00
\begin{frame}{Entwurf der Architektur (1/2)}
\begin{itemize}
\item VPN-Server wird in DMZ-Netz platziert
2018-11-25 17:05:34 +01:00
\item VPN-Tunnel auf OSI-Schicht~3, transportiert IP-Pakete
2018-11-24 22:45:28 +01:00
\item IP-Adressen für VPN-Clients
\begin{itemize}
2018-11-25 17:05:34 +01:00
\item Private Adressen mit NAT für IPv4
2018-11-24 22:45:28 +01:00
\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}
2018-11-20 14:44:31 +01:00
\end{frame}
2018-11-24 22:55:48 +01:00
\begin{frame}{Überblick: Geplante Architektur}
2018-11-20 14:28:53 +01:00
\begin{figure}[ht]
\centering
2018-11-21 14:30:12 +01:00
\includegraphics[width=\textwidth]{img/VPN-Service-Concept.pdf}
2018-11-25 17:05:34 +01:00
\caption{Konzept zur Installation des VPN-Dienstes}
2018-11-20 14:28:53 +01:00
\end{figure}
\end{frame}
2018-11-24 22:55:48 +01:00
\section{Auswahl der VPN-Software}
2018-11-24 22:55:48 +01:00
\begin{frame}{Auswahl der VPN-Software}
2018-11-22 15:38:34 +01:00
Als Serverbetriebssystem wurde Debian~9 (oder höher) vorgegeben. \\
$\rightarrow$ Debian-Paketquellen werden bevorzugt. \\
\ \\
2018-11-25 17:16:32 +01:00
Folgende Kandidaten wurden näher betrachtet:
2018-11-22 15:38:34 +01:00
\begin{itemize}
\item OpenVPN
2018-11-25 17:16:32 +01:00
\item StrongSwan (für IPsec-VPN)
2018-11-22 16:34:09 +01:00
\item Wireguard (zur Zeit experimentell, mehr dazu im Ausblick)
2018-11-22 15:38:34 +01:00
\end{itemize}
\end{frame}
2018-11-20 14:44:31 +01:00
\begin{frame}{OpenVPN}
2018-11-24 22:55:48 +01:00
OpenVPN \dots
\begin{itemize}
\item \dots läuft komplett im Benutzerkontext
\item \dots benutzt OpenSSL für kryptografische Operationen
\item \dots stellt VPN über virtuelle Netzwerkkarte zur
Verfügung
\item \dots ist vollständig quelloffen
2018-11-25 17:18:41 +01:00
\item \dots VPN-Clients für alle drei Betriebssysteme kompiliert verfügbar
2018-11-25 17:16:32 +01:00
\item \dots für Einsteiger leicht verständliche Konfiguration
2018-11-24 22:55:48 +01:00
\end{itemize}
\end{frame}
2018-11-20 14:44:31 +01:00
2018-11-24 22:55:48 +01:00
\begin{frame}{StrongSwan}
StrongSwan \dots
\begin{itemize}
\item \dots ermöglicht ein VPN auf Basis von IPsec
\item \dots Installation und Einrichtung je nach Plattform
2018-11-25 17:18:41 +01:00
\item \dots ist \textbf{nicht} vollständig quelloffen, da IPsec im Kernel stattfindet
\item \dots Zu viel Komplexität ermöglicht unsichere Konfigurationen
2018-11-24 22:55:48 +01:00
\end{itemize}
2018-11-20 14:44:31 +01:00
\end{frame}
2018-11-22 15:20:56 +01:00
\begin{frame}{Warum OpenVPN? (Warum EasyRSA?)}
2018-11-22 15:17:53 +01:00
\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}
2018-11-22 22:47:18 +01:00
\section{Installation und Konfiguration}
2018-11-22 15:32:54 +01:00
\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}
2018-11-20 14:44:31 +01:00
\begin{frame}{VPN-Installationsplan}
\begin{figure}[ht]
\centering
2018-11-21 14:30:12 +01:00
\includegraphics[width=\textwidth]{img/OpenVPN-Deployment.pdf}
2018-11-20 14:44:31 +01:00
\caption{Installation des IPv6-VPN mit OpenVPN und EasyRSA}
\label{fig:vpn_service_concept}
\end{figure}
\end{frame}
\section{Fazit/Ausblick}
2018-11-22 15:20:56 +01:00
\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}
2018-11-22 15:21:46 +01:00
\begin{frame}{Ausblick}
2018-11-22 15:20:56 +01:00
\begin{itemize}
2018-11-22 22:47:18 +01:00
\item OpenVPN~3 ist in Entwicklung
2018-11-22 15:20:56 +01:00
\item Mit Wireguard kann man sehr viel Spaß haben
\end{itemize}
\end{frame}
2018-11-22 16:32:46 +01:00
\begin{frame}{Kurzer Überblick zum Schluss: Wireguard}
2018-11-22 16:27:07 +01:00
Noch experimentell, aber klares Design, wenig Code, einfache Benutzung.
Könnte die Zukunft sein. (Mehr dazu als Ausblick hinten dran)
\end{frame}
% The end.