Sem: Erklärung, was ein VPN ist hinzugefügt

This commit is contained in:
2scholz 2014-12-08 10:17:00 +01:00
parent 792aa66985
commit c88e1268fd
1 changed files with 18 additions and 3 deletions

View File

@ -57,15 +57,29 @@ Betreuer: Hannes Federrath \par
\section{Vorbemerkung}
Problem: VPN (Virtual Private Network) aufsetzen
Relevanz: sichere Kommunikation zwischen zwei privaten Netzwerken
\section{Grundlagen}
Was sind VPNs? Warum braucht man sie? Wozu werden sie verwendet?
Was ist das OSI-Referenzmodell? Wie ist es aufgebaut?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
\subsection{Begrifferklärung: VPN}
VPN ist eine Abkürzung für Virtual Private Network. Was ein private network, also ein privates Netwerk ist, sollte klar sein. Man kann kontrollieren wer auf dieses Netzwerk einen Zugriff haben soll und die Anzahl der Menschen die Zugriff haben ist außerdem örtlich begrenzt. Das heißt also der Vorteil eines privaten Netzwerkes ist, dass man einfach kontrollieren kann wer Zugriff haben soll, und dass der Datenaustausch nicht nach außen dringt.
Nun gibt es aber Fälle in denen man Zugriff auf ein privates Netzwerk und dessen Ressourcen haben möchte, obwohl man nicht vor Ort ist. Ein gutes Beispiel ist hier der Zugriff auf das Netzwerk vom Arbeitsplatz, da dies häufig benötigt wird, wenn man von zu Hause aus arbeiten möchte.
Ein VPN kann nun genau dafür verwendet werden. Um das ganze noch einmal zu verbildlichen, kann man sich das nun als ein sehr langes LAN-Kabel vorstellen. Es wird also eine Verbindung über das Internet mit dem privaten Netzwerk hergestellt. Verschiedene Aspekte eines privaten Netzwerkes können dabei unterschiedlich erreicht werden. Die Kontrolle wer auf das Netzwerk Zugriff hat kann z.B. erreicht werden, indem man die Identität beim Verbinden überprüft und unerwünschten Menschen den Zutritt verwehrt. So kann der Nutzer identifiziert werden und Fremde werden ausgeschlossen. Da die Daten nun über das Internet ausgetauscht werden, ist die Vertraulichkeit der Daten natürlich bedroht, was aber durch die Verschlüsselung dieser verhindert werden kann.
Durch dieses verschiedenen Maßnahmen hat man also die Vorteile eines privaten Netzwerkes Orts-unabhängig.
Es gibt aber noch viel mehr Einsatzmöglichkeiten.
VPN werden oft benutzt, um den eigenen Traffic im Internet zu verschleiern. Ist man mit einem VPN verbunden, so können die Daten, die man aus dem Internet bezieht zunächst zum privaten Netzwerk geleitet werden und dann erst zum eigentlichen Ziel. So erreicht man, dass für die Außenwelt nur IP-Adresse des privaten Netzwerks sichtbar ist, nicht aber die eigene.
Diesen Umstand kann man beispielsweise auch für Services nutzen, die nur in bestimmten Ländern verfügbar sind, z.B. verschiedene Musik- und Video-Streamingdienste. Eine VPN-Verbindung in das entsprechende Land, kann diese Sperre umgehen.
IPSec und OpenVPN sind zwei Lösungen, um ein solches Netzwerk zu errichten. Im Folgenden werden wir näher darauf eingehen, wie dies jeweils technisch umgesetzt ist.
\section{IPSec}
\subsection{Entstehungsgeschichte}
IPSec ist unter der Aufsicht eines Komitees entstanden. Diese Vorgehensweise wurde dabei gezwungenermaßen auferlegt und erschwerte nach Ansicht vieler Mitwirkender die Arbeit erheblich.\cite{Ferguson2000}
Die Entstehungsweise führte dazu, dass IPSec unnötig kompliziert wurde. Die einen Mitglieder wollten die eine Lösung implementieren und andere plädierten für eine andere Lösung, was dazu führte, dass beide Lösungen implementiert wurden. Dies geht jedoch zu Lasten der Nutzbarkeit. Zu viele Optionen führen nicht nur zur Verwirrung und Komplizierung der Implementation von IPSec bei den Nutzern, es kann vor allem auch zu Sicherheitslücken führen. Experten bemängelten diese Komplexität.
Die Entstehungsweise führte dazu, dass IPSec unnötig kompliziert wurde. Die einen Mitglieder wollten die eine Lösung implementieren und andere plädierten für eine andere Lösung, was dazu führte, dass beide Lösungen implementiert wurden. Dies geht jedoch zu Lasten der Nutzbarkeit. Zu viele Optionen führen nicht nur zur Verwirrung und Komplizierung der Implementation von IPSec, es kann vor allem auch zu Sicherheitslücken führen. Experten bemängelten diese Komplexität.
Die erste Version von IPSec ist 1995 spezifiziert worden. Doch über die Jahre ist der Standard immer weiter entwickelt worden und so gibt es eine zweite Version aus 1998 und eine dritte aus 2005. Diese gelten zwar allgemein als V2 und V3, jedoch sind verschiedene Aspekte von IPSec in verschiedenen sogenannten ``Request for Comments"', kurz RFC, spezifiziert. So gibt es beispielsweise ein RFC, dass sich allgemein auf IPSec bezieht, aktuell RFC 4301 aus 2005, und es gibt beispielsweise ein RFC, dass sich auf die zu verwendenden Verschlüsselungsalgorithmen bezieht, aktuell RFC 7321 bereits aus 2014. So ist gewährleistet, dass IPSec weiterhin auf dem neuesten Stand gehalten werden kann, ohne dass man jedes mal die komplette Spezifikation überarbeiten muss.
@ -79,7 +93,7 @@ Die folgenden RFCs sind für IPSec relevant:
\item RFC 4307: Gibt vor welche Algorithmen für IKEv2 verwendet werden sollten
\item RFC 4308: Gibt Empfehlungen für Sammlungen von Algorithmen, die verwendet werden können
\end{itemize}
Es gibt noch viel mehr RFCs die man IPSec zuordnen kann, doch dies sind die wichtigsten. Im folgenden Abschnitt werden wir näher auf die technischen Aspekte von IPSec eingehen und die Themen der einzelnen RFCs näher betrachten.
Es gibt noch weitere RFCs, die man IPSec zuordnen kann, doch dies sind die Wichtigsten. Im folgenden Abschnitt werden wir näher auf die technischen Aspekte von IPSec eingehen und die Themen der einzelnen RFCs näher betrachten.
\subsection{Technischer Aufbau}
\subsubsection{Tunnel Modus und Transport Modus}
@ -88,6 +102,7 @@ IPSec kann in zwei verschiedenen Modi betrieben werden: Transport Modus oder Tun
Beim Tunnel Modus werden die IP-Pakete in neue Pakete verpackt mit einem neuen Header. Dabei werden die Pakete jedoch von den einzelnen Gateways bearbeitet. Das heißt im Endeffekt, dass die Sicherheit nur von Gateway zu Gateway gewährleistet wird und nicht vom einem Ende zum anderen. Der Vorteil ist, dass der Endnutzer die Anwendung nicht merkt, da zum Beispiel der Router dies übernehmen kann.
Im Transport Modus ist die Sicherheit vom einen zum anderen Ende gewährleistet. Dabei werden die eigentlichen IP-Pakete beibehalten und einige sicherheitsrelevante Felder hinzugefügt.
\subsubsection{Authentication Header}
Der Authentication Header, kurz AH, kann dazu verwendet werden, um die Authentizität und Integrität von Daten zu gewährleisten, und außerdem um Replay-Angriffe abzuwehren. Er muss im Gegensatz zur Alternative "`Encapsulating Security Payload"' jedoch nicht von IPSec Implementationen unterstützt werden.\footnote{RFC 4301 3.2. How IPsec Works} Der Grund hierfür ist, dass ESP neben dem, was der AH leistet, zusätzlich noch die Vertraulichkeit der Pakete sicherstellt. Der Authentication Header wird dabei an die IP-Pakete angehängt und sieht wie folgt aus: