Skip to content

ToDo #1

@sonnytricky

Description

@sonnytricky

Firewall

  • 1. IP-Leak-Schutz
  • 2. DNS-Leak-Schutz
  • 3. VPN-Ausfallschutz - Healthcheck + Watchdog + Kill-Switch
  • 4. IPv6-Leak-Schutz
  • 5. WebUI-Leak Issues

IPv6 Teste:

  • ip -6 addr show sollte keine globalen IPv6-Adressen auf deinen Interfaces zeigen.

  • ip -6 route show sollte keine Default-Routen über IPv6 haben.

  • sysctl net.ipv6.conf.*.disable_ipv6 sollte überall auf 1 stehen.

  • IPv6 deaktivieren (vorbeugend gegen Leaks)

  • IPv6 komplett blockieren (zusätzlich zu sysctl)

  • IP-Forwarding aktivieren (für VPN-Tunnel)?!?

  • Alte Regeln löschen

  • Default-Policy: alles blockieren

  • Loopback erlauben

  • Lokale Webzugriffe auf die Dienste im LAN erlauben

  • SSH nur von einem bestimmten Host erlauben

  • SSH Bruteforce Schutz

  • NFS

  • VPN-Verkehr über WireGuard (wg0) erlauben

  • DNS nur über VPN (Außer zum Verbinden mit dem mullvad server)

  • HTTP/HTTPS nur über VPN (Ausnahmen, Updates und Mail)

  • Kill-Switch: blockiere alles, was nicht über VPN geht

  • Torrent-Upload blockieren (Download-only)

  • ICMP (Ping) blockieren

  • Verbindungstracking

  • Docker-Bypass absichern, Docker-Traffic absichern – nur via VPN (wg0) rauslassen

    • Failback mode - Bei VPN aktiv: Volle Regeln mit Docker-Only-over-VPN, NAT, etc.
    • Bei VPN nicht aktiv:
      • Kein Docker-Traffic erlaubt.
      • Keine Internetverbindung außer Update-/Mail-/SSH-/NFS-Zielen.
      • Externes Interface vollständig gesperrt. (Killswitch)

Verbesserungen:

  • IPv6 Deaktivieren/blockieren, sonst Leaks möglich
  • Docker Mehrere Netzwerke prüfen, ggf. alle Bridge-Interfaces absichern
  • Loggen Optionale LOG-Regel für debugging (nur bei Bedarf, z. B. für DROP)
  • Paketfilter Könntest optional auch nftables in Erwägung ziehen (moderner als iptables)
  • wenn ein torrent heruntergeladen wird der meine ip-adresse pingen soll zb. zu einem honeybot soll das nicht möglich sein
  • verhindern!!! - Ein Peer kann statt Ping auch versuchen, eine TCP-/UDP‑Verbindung zu einem offenen Torrent‑Port zu öffnen. Wenn auf diesem Port ein Listener existiert und dieser Verbindungsaufbau via EXT_IF zugelassen wird, sieht der Peer deine echte IP (Leak). Issues

install.sh

  • ipset muss installiert werden
  • update_gmail.sh zu den skripts hinzufügen

watchdog.sh

  • an die Firewall anpassen
  • soll auch immer schreien wenn die Firewall nicht läuft oder wenn sie im Failmode ist
  • Issues
  • das watchdog. sh so umbauen dass es bei vpn ausfällen die container stopt
  • kontrollieren ob die docker container wirklich jackett und qbittorrent heißen sonst im skript anpassen

freshclam

  • Issues

check-sicherheit.service

  • Failed to start check-sicherheit.service - Sicherheitsüberprüfung.

chkrootkit.service

  • Failed to start chkrootkit.service - chkrootkit.

NFS mount

  • /opt/media-stack/clean_nfs - Prüfen ob es gemountet ist

Sonstiges

  • Deaktiviere UPnP/NAT‑PMP auf Fritzbox & Host.

  • laufen alle services - systemctl list-unit-files --type=service - die skripte laufen per timer

    • check-sicherheit.sh
    • leak-check.sh
    • sanitize_download.sh
    • scan_quarantine.sh
    • setup_firewall.sh
    • setup_systemd.sh
    • watchdog.sh

  • einen film in ein rar archiv stecken und in incoming stellen und schauen ob alles funktioniert
    • Lege eine .mkv-Datei in /downloads/incoming
    • Starte sanitize_downloads.sh
    • Schau, ob die Datei nach /quarantine verschoben wurde
    • Starte scan_quarantine.sh
    • Schau, ob sie korrekt nach /Filme oder /Serien kommt
    • Öffne Sonarr oder Radarr und prüfe, ob sie auftaucht

  • Docker iptables deaktiviert
  • Docker ip-forward deaktiviert
  • Eigene Firewall gesetzt
  • Kill-Switch aktiv
  • DNS-Leak-Schutz aktiv
    • Issues

schauen ob das internet eth0 ist:

  • 🔄 Fallback zu EXT_IF="eth0" könnte problematisch sein
EXT_IF=$(ip route get 8.8.8.8 | awk '/dev/ {print $5; exit}')
[[ -z "$EXT_IF" ]] && EXT_IF="eth0"

Warum wichtig?
Manche Systeme haben kein eth0 mehr (z. B. enp3s0, ens18, etc.).

Tests, die du unbedingt machen solltest

  • Torrent‑Leak‑Test: https://ipleak.net (Magnet link) → Torrent‑IP muss die VPN‑Exit‑IP zeigen.
  • curl -6 https://ifconfig.me (IPv6 leak)
  • tcpdump -i $EXT_IF port 53 während Startup — keine DNS zu externen Servern außer ggf. Endpoint‑IPs.
  • wg show und docker exec vpn curl -s https://am.i.mullvad.net/json — Exit‑IP prüfen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions