Ein vollständiges Setup für sicheres Torrenting hinter VPN, inklusive ClamAV, YARA, AppArmor, Fail2Ban, Watchtower, Leak-Checks, Firewall, NFS-Mount, System-Härtung und automatischer Reinigung infizierter Downloads.
- Debian/Ubuntu-basiertes System (getestet mit Debian 13)
- Proxmox VM (fals eine VM in Proxmox verwendet wird, soll zuerst HOST-Seitig IPv6 deaktiviert werden und die Firewall mit
wie untenergänzt werden)
- Proxmox VM (fals eine VM in Proxmox verwendet wird, soll zuerst HOST-Seitig IPv6 deaktiviert werden und die Firewall mit
- Root-Zugriff (
sudo) - Internetverbindung
- SSH-Zugriff (für Fernwartung empfohlen)
- WireGuard-Konfigurationsdatei für Gluetun (→
wg0.conf) - SMTP-Zugangsdaten (z. B. Gmail) für E-Mail-Benachrichtigungen
| Feld | Wert | Bedeutung |
|---|---|---|
| Richtung | IN |
Eingehende Verbindungen werden geprüft |
| Aktion | DROP |
Verbindungen werden verworfen |
| Interface | (leer) | Gilt für alle Netzwerkschnittstellen |
| Quelle | (leer) | Gilt für alle Quellen (also ::/0 bei IPv6) |
| Ziel | (leer) | Gilt für alle Ziele (dieses System) |
| Protokoll | IPv6 |
Betrifft nur IPv6-Traffic |
| Quell-Port / Ziel-Port | (leer) | Nicht eingeschränkt auf Ports |
| Makro | (leer) | Keine vordefinierte Regel (korrekt hier) |
| Aktivieren | ✅ Ja | Regel ist aktiv |
Das Repository wird nach /opt/ geklont und enthält folgende Struktur:
/opt/media-stack/
├── skript/ # Setup- & Sicherheits-Skripte
├── watchdog/ # VPN-Watchdog
├── config/gluetun/wireguard/ → wg0.conf
├── .env # Konfigurationdatei
└── install.sh # Hauptinstallationsskript-
Repository klonen nach
/opt:cd /opt/sudo git clone https://github.com/sonnytricky/media-stack.git
-
WireGuard-Konfiguration ablegen:
Benenne die
/opt/media-stack/config/gluetun/wireguard/wg0.example.confinwg0.confum und füll es mit deinen Daten ausmv /opt/media-stack/config/gluetun/wireguard/wg0.example.conf /opt/media-stack/config/gluetun/wireguard/wg0.conf
-
.envDatei konfigurieren:Benenne
/opt/media-stack/.env.examplezu/opt/media-stack/.envum und füll es mit deinen Daten ausmv /opt/media-stack/.env.example /opt/media-stack/.env
-
Berechtigungen anpassen:
sudo chrown deinBenutzername:deineGruppe .env sudo chmod 600 .env sudo chown deinBenutzername:deineGruppe wg0.conf sudo chmod 600 wg0.conf
Dieses Setup muss mit Root-Rechten ausgeführt werden, dies wird im Skript überprüft und bricht sonst ab.
sudo ./install.shDas Skript erledigt u.a.:
- Paketinstallation (ClamAV, Rootkit-Scanner, YARA, AppArmor, etc.)
- Verzeichnisstruktur anlegen
- Firewall & Kernel-Härtung
- Sicherheits-Skripte installieren
- Systemd einrichten
- Docker Compose erzeugen
- Leak-Check & Watchdog aktivieren
Nach dem Setup kannst du den Medienstack starten:
cd /opt/media-stack
docker compose up -d| Maßnahme | Beschreibung |
|---|---|
| VPN + Firewall | Internetzugriff nur durch Gluetun-VPN |
| IPv6 blockiert | Kein IPv6-Leak möglich |
| Firewall.sh | Enthält iptables schützt via systemd |
| ClamAV + YARA | Malware-Scanner mit Community-Regeln |
| Fail2Ban | Schutz gegen Brute-Force-Angriffe |
| AppArmor | Aktivierung & Durchsetzung von Profilen |
| Rootkit-Scanner | Schützt gegen Rookits |
| Systemd | Automatischer Download-Scan & Reinigung |
| Watchtower | Automatisierte Container-Updates mit Mail |
| VPN-Watchdog | Beendet Stack bei VPN-Verlust |
| Aufgabe | Frequenz | Methode |
|---|---|---|
| Signaturen-Update | täglich 3 Uhr | clamav-unofficial-sigs |
| Leak-Check | täglich 6 Uhr | leak-check.sh |
| Quarantäne-Scan | stündlich | scan_quarantine.sh |
| Download-Reinigung | alle 30 Minuten | sanitize_downloads.sh |
| VPN-Watchdog | immer aktiv | watchdog.sh |
Nach der Installation:
sudo rebootDann prüfen:
curl -s https://ifconfig.meWenn keine IP erscheint oder 100.64.x.x, ist der VPN aktiv.
| Befehl | Erwartung |
|---|---|
ping -c1 1.1.1.1 |
❌ keine Antwort |
curl ifconfig.me |
❌ schlägt fehl |
docker exec gluetun curl ifconfig.me |
✅ zeigt VPN-IP |
docker exec sonarr curl ifconfig.me |
❌ schlägt fehl |
| media-stack-checkliste.md durchführen | ✅ 100% abgeschlossen |
| Neustart der VM | ✅ Firewall bleibt aktiv |
- Setup bricht ab mit
Fehlende Datei→ Prüfe, ob.envoderwg0.confkorrekt vorliegen - E-Mail geht nicht raus? → Prüfe
msmtp.log:/var/log/msmtp.log - VPN-Container offline? → Schaue in
docker logs vpn - msmtp: Protokollinformation kann nicht in /var/log/msmtp.log geschrieben werden: kann nicht geöffnet werden: Keine Berechtigung → Schaue in
sudo nano /etc/apparmor.d/usr.bin.msmtpsuche nach der Zeile /var/log/msmtp wk, und ändere sie auf/var/log/msmtp.log rwk,-> danachsudo apparmor_parser -r /etc/apparmor.d/usr.bin.msmtpjetzt sollten die Logs geschrieben werden können.