diff --git a/MA-Inhalt.tex b/MA-Inhalt.tex index 3e0b3d4..e0fab83 100644 --- a/MA-Inhalt.tex +++ b/MA-Inhalt.tex @@ -231,7 +231,7 @@ Eine Trennung zwischen Kontrollnachrichten und Datenübertragung erfolgt innerha Strongswan kommuniziert mit kompatiblen Gegenstellen über das IKEv2-Protokoll, welches über UDP auf Port~500 (bei stattfindender Network Address Translation (NAT) auf Port~4500) übertragen wird. Der durch IPsec geschützte Datenverkehr lässt sich daran erkennen, dass in den übertragenen IPv4- beziehungsweise IPv6-Paketen das Protokoll AH oder ESP enthalten ist. -Für die Freigabe von IPsec-Datenverkehr in einer Firewall sind somit mehrere Regeln notwendig, während die Freigabe von OpenVPN-Verkehr über UDP-Port~1194 deutlich übersichtlicher ausfällt. +Für die Freigabe von IPsec-Datenverkehr in einer Firewall sind somit mehrere Regeln notwendig, während die Freigabe von OpenVPN-Verkehr über UDP-Port~1194 übersichtlicher ausfällt. \paragraph{Benutzerfreundlichkeit} OpenVPN steht für Linux/Unix und Windows bereits kompiliert zur Verfügung. @@ -249,12 +249,6 @@ Unter Linux kann NetworkManager als grafische Oberfläche für Strongswan verwen In der Kategorie Benutzerfreundlichkeit schneidet OpenVPN durch die Bereitstellung von vorkompilierter Software und die Verfügbarkeit grafischer Oberflächen besser als Strongswan ab. -\paragraph{Komplexität} -\todo{!} -Funktionsumfang/Flexibilität -OpenVPN eher simpel und nachvollziehbar selbst für Einsteiger -IPsec eher weniger. Strongswan abstrahiert einiges, dennoch viele Möglichkeiten, die man nicht haben möchte? - \paragraph{Verfügbarkeit des Quellcode} Der Quellcode von OpenVPN ist inklusive der durch OpenVPN verwendeten Bibliotheken, wie zum Beispiel OpenSSL, öffentlich verfügbar. Auch der Quellcode von Strongswan ist einschließlich des Quellcode aller durch Strongswan eingesetzten Bibliotheken öffentlich verfügbar. @@ -270,7 +264,7 @@ Sollten Sicherheitslücken innerhalb von beiden Softwareprojekten bekannt werden Bei einem auf OpenVPN gestützten VPN ist es möglich, TLS-Chiffren, Hashfunktionen und Verschlüsselungsalgorithmen vorzugeben, die unabhängig vom eingesetzten Betriebssystem durch OpenVPN verwendet werden. -Für ein VPN mit Strongswan auf Basis von IPsec sieht die Situation anders aus. +Für ein VPN mit Strongswan auf Basis von IPsec sieht die Situation anders aus: Wie bereits im vorherigen Abschnitt erläutert wurde, ist Strongswan nicht die einzige VPN-Software, die an der Umsetzung des VPN beteiligt ist. Auch der Kernel des eingesetzten Betriebssystems wird zur Umsetzung eines solchen VPN benötigt. Die in \ref{req:clientos} und \ref{req:serveros} genannten Betriebssysteme enthalten unterschiedliche Kernel, die jeweils eine individuelle Implementierung von IPsec enthalten. @@ -279,9 +273,23 @@ Ebenso sind unterschiedliche Reaktionszeiten auf auftretende Sicherheitslücken Insgesamt kann für VPN auf Basis von IPsec nicht garantiert werden, dass ein einheitliches Sicherheitsniveau über die verschiedenen Betriebssysteme aufrecht erhalten werden kann. Erschwerend kommt hinzu, dass Strongswan auf Windows keine Unterstützung für die Einrichtung virtueller IP-Adressen bietet, welche bei IPsec-VPNs im Tunnelmodus zum Einsatz kommen \cite[][Abschnitt \enquote{Important notes}]{strongswan:onwindows}. +\paragraph{Komplexität} +Im Betrieb besteht OpenVPN aus einem laufenden Programm, das über eine Konfigurationsdatei alle für den Betrieb notwendigen Informationen erhält. +Eine Konfigurationsdatei für OpenVPN besteht aus einer zeilenweisen Auflistung von Optionen, die das OpenVPN-Programm als Argumente akzeptiert. +Alle Optionen werden in der Manpage von OpenVPN (nach Meinung des Autors) ausführlich und leicht verständlich erklärt und sollten für Einsteiger mit Grundkenntnissen in Bezug auf Netzwerke und Linux kein Hindernis darstellen. + +Strong\-swan ist modular aus einer Sammlung von Programmen aufgebaut, die abhängig von einer Sammlung von Konfigurationsdateien (vorgegebene Beispielszenarien enthalten typischerweise Inhalte für vier verschiedene Konfigurationsdateien) zum Einsatz kommen. +Zusätzlich ist beim Einsatz von Strongswan immer der Kernel des Betriebssystems involviert, da die Verarbeitung des IPsec-Datenverkehrs im Kernel durchgeführt wird. +Die Konfigurationsdateien bestehen aus zeilenweisen Auflistungen aus Name-Wert-Paaren. +Zusätzlich enthalten die Konfigurationsdateien durch Schweifklammern abgegrenzte Abschnitte, in denen Konfigurationen für bestimmte Kontexte hinterlegt werden. +Durch diese Konstrukte ist es beispielsweise möglich, Standardwerte für eine logische IPsec-Verbindung zu definieren, diese später als Grundlage für eine andere IPsec-Verbindung zu verwenden und bei Bedarf Teile der zuvor definierten Parameter zu überschreiben. +Die verschiedenen Konfigurationsdateien werden in ihren eigenen Manpages detailliert und technisch erläutert, wobei das zusätzlich notwendige Fachwissen für IPsec für einen Einsteiger (nach Meinung des Autors) ein unbequemes Hindernis darstellen kann. + +\paragraph{Zusammenfassung und Auswahl} In diesem Abschnitt wurden OpenVPN und Strongswan als Lösungen für die Umsetzung eines VPN gegenübergestellt. -Dabei hat sich gezeigt, dass OpenVPN in vielen Kategorien deutlich besser schlägt als Strongswan. -Deshalb wird OpenVPN im Rahmen dieser Masterarbeit als VPN-Software eingesetzt. +Dabei hat sich gezeigt, dass OpenVPN in den Kategorien Plattformabhängigkeit, Verfügbarkeit des Quellcode, Komplexität und Benutzerfreundlichkeit im Vergleich zu Strongswan besser abschneidet. +Dadurch ist OpenVPN besser für die Umsetzung eines VPN-Dienst geeignet, der die in Abschnitt~\ref{sct:requirements} genannten Anforderungen erfüllt. +Somit wird OpenVPN als VPN-Software zur Umsetzung des VPN-Dienst gewählt. \chapter{Konzeption der Benutzerverwaltung} \label{cpt:user_concept}