VPN Proxy Dashboard

Token eingeben um fortzufahren

Falscher Token

VPN Proxy Dashboard

Auto-Refresh: 10s
Worker
Traffic
IP-Whitelist
Sicherheit
Audit-Log

VPN Worker

Traffic-Übersicht

Top Hosts

Zeit Worker Host URL Methode Bytes

IP-Whitelist

Nur diese IP-Adressen dürfen auf die Proxy-Ports (2222-2333) zugreifen. Änderungen werden innerhalb von 5 Sekunden vom Gateway übernommen.

IPBezeichnungErstellt

Sicherheitsarchitektur

Kill-Switch (nftables)

Jeder VPN-Worker hat einen nftables-basierten Kill-Switch, der sämtlichen Netzwerkverkehr ohne aktiven VPN-Tunnel blockiert.

  • Default Policy: DROP — Alles wird blockiert, was nicht explizit erlaubt ist
  • Erlaubt: DNS nur zu 8.8.8.8, 8.8.4.4, 9.9.9.9, 1.1.1.1
  • Erlaubt: Ausgehend nur zum aktuellen VPN-Server (1 IP-Adresse)
  • Erlaubt: Alles über tun0 (der VPN-Tunnel)
  • Erlaubt: Eingehend auf Port 8888 (TinyProxy, nur Docker-intern)
  • Erlaubt: Ausgehend zu MariaDB Port 3306 (Docker-intern)
  • Alles andere wird verworfen — kein Traffic kann ohne VPN nach außen

Wenn das VPN ausfällt, gibt es keinen Fallback über die echte IP. Der Container ist dann komplett offline — genau so gewollt.

IP-Whitelist (iptables im Gateway)

Das Gateway ist der einzige Container mit exponierten Ports (2222-2333). Es erlaubt nur Verbindungen von IPs die in der Whitelist stehen.

  • Jeder Port bekommt eine eigene iptables-Regel
  • Nicht-gelistete IPs werden sofort gedroppt (kein REJECT, kein Feedback)
  • Die Whitelist wird alle 5 Sekunden aus der DB nachgeladen
  • Änderungen über das Dashboard wirken innerhalb von 5 Sekunden

Netzwerk-Isolation (Docker)

  • VPN-Worker sind nur im backend-Netzwerk (172.19.0.0/16, Docker-intern)
  • Kein Worker hat exponierte Ports — Zugriff nur über das Gateway
  • Jeder Worker hat NET_ADMIN + /dev/net/tun für OpenVPN
  • Das Gateway hat privileged-Modus für iptables
  • Die API ist nur über Traefik (HTTPS) erreichbar

DNS-Leak-Schutz

  • DNS-Anfragen sind per nftables auf 4 Server beschränkt
  • Über den VPN-Tunnel wird der DNS des VPN-Providers genutzt
  • IPv6 wird komplett ignoriert (pull-filter ignore route-ipv6)

Automatische Sicherheitstests

Jeder Worker führt regelmäßig Selbsttests durch und meldet die Ergebnisse:

  • eth0-Leak-Test: Versucht über eth0 (ohne VPN) eine externe IP zu erreichen — muss fehlschlagen
  • tun0-Test: Prüft ob der VPN-Tunnel aktiv ist
  • nftables-Test: Prüft ob die Firewall-Regeln geladen sind
  • IP-Vergleich: Prüft ob die VPN-Exit-IP sich von der Server-IP unterscheidet

Ergebnisse im Audit-Log und als Status hier:

Audit-Log