General

Ein VPN ermöglicht kurz gesagt das Tunneln von Datenpaketen.

Gründe für VPN

  • Privatsphäre
    • Maskierung der öffentlichen IP Adresse
    • Somit sind auch der IP-Standort, der ISP, usw. auch maskiert
    • Fingerprinting & Tracking wird etwas erschwert (aber nicht unmöglich)
  • Verbindung bzw. Zugang in ein Netzwerk
    • Standorte miteinander verbinden (site-to-site VPN)
    • Workstation mit Heim-/Firmennetzwerk verbinden (point-to-site VPN)
  • Zugriffskontrollen & Integrität (je nach Tunneling Protokoll)
      • Dienste (z.B. SSH) nur via Heimnetz / VPN erreichbar machen
      • Nur bestimmten Nutzern Traffic auf ein gewisses System erlauben
  • Vertraulichkeit
    • Die Kommunikation erfolgt je nach Tunneling Protokoll verschlüsselt

Die gewöhnlichsten Tunneling Protokolle

  • GRE (Generic Routing Encapsulation), GIF (Generic Tunnel Interface):
    • unverschlüsselter point-to-point tunnel, wird oft für IPv6 Tunneling via IPv4 genutzt
  • IPSec (IP Security):
    • Weiterentwicklung der IP Protokolle zur verschlüsselungsbasierten Sicherheit auf Netzwerkebene
  • Wireguard:
    • verschlüsselungsbasierte schnelle Verbindungen durch Kernel-Integration. Benötigt eine feste IP Adresse auch für den Client
  • OpenVPN:
    • eines der ältesten & stabilsten verschlüsselten Tunneling Protokolle

VPN Verbindungstypen

Point-to-Point VPN

Client-A1 <- -> VPN Tunnel <- -> Client-B1
  • Verbindet zwei Hosts direkt miteinander (Ende zu Ende)
  • Ggf. höherer MTU und somit mehr Payload einsetzbar
  • Anwendungsbeispiele:
    • IPSec im Transportmodus
    • GRE Tunnel zwischen 2 BGP Routern für eine BGP-Session ohne direkte physische Anbindung (bspw. route64)

Point-to-Site VPN

                                                     <- -> Client-B1
Client-A1 <- ->     VPN Tunnel     <- ->  Gateway-B
                                                      <- -> Client-B2
  • Verbindet ein Endpoint mit einem Netzwerk
  • Bspw. persönliche VPN-Verbindung ins Firmennetzwerk

Site-to-Site VPN

Client-A1 <- ->                                                        <- -> Client-B1
                    Gateway-A  <- ->   VPN Tunnel   <- ->   Gateway-B
Client-A2 <- ->                                                         <- -> Client-B2
  • Verbindet zwei Netze miteinander
  • Bspw. um zwei Firmenstandorte miteinander zu verbinden
  • Bspw. IPSec im Tunnelmodus