feat: Progressive Sperren (Recidive) – Wiederholungstäter werden stufenweise länger gesperrt
- Neues Recidive-System: Sperrdauer steigt exponentiell bei wiederholten Verstößen (wie fail2ban) - Konfigurierbar: Multiplikator, Max-Stufe mit permanenter Sperre, Zähler-Reset-Zeit - Offense-Tracking via *.offenses State-Dateien - Permanente Sperren werden nicht automatisch aufgehoben - Neuer Befehl: reset-offenses [IP] zum Zurücksetzen der Offense-Zähler - Status-Anzeige zeigt Stufe, Dauer und Wiederholungstäter-Übersicht - Benachrichtigungen enthalten Stufe und progressive Sperrdauer - unban-expired.sh berücksichtigt permanente Sperren - Dokumentation vollständig aktualisiert (Konfig, Befehle, Architektur, Troubleshooting, README)
This commit is contained in:
@@ -5,10 +5,10 @@
|
||||
|
||||
# --- AdGuard Home API Einstellungen ---
|
||||
# URL der AdGuard Home Web-Oberfläche (ohne trailing slash)
|
||||
ADGUARD_URL="https://dns1.techniverse.net"
|
||||
ADGUARD_URL="https://dns1.domain.com"
|
||||
|
||||
# AdGuard Home Zugangsdaten (Web-UI Login)
|
||||
ADGUARD_USER="adg-admin"
|
||||
ADGUARD_USER="admin"
|
||||
ADGUARD_PASS='changeme'
|
||||
|
||||
# --- Rate-Limit Einstellungen ---
|
||||
@@ -28,13 +28,11 @@ BAN_DURATION=3600
|
||||
# iptables Chain-Name für die Sperren
|
||||
IPTABLES_CHAIN="ADGUARD_SHIELD"
|
||||
|
||||
# Welche Ports gesperrt werden sollen (DNS, DoT, DoH, DNSv5/QUIC)
|
||||
# Welche Ports gesperrt werden sollen (IPv4 + IPv6)
|
||||
# Port 53 = DNS (UDP + TCP)
|
||||
# Port 443 = DNS-over-HTTPS (DoH)
|
||||
# Port 853 = DNS-over-TLS (DoT) / DNS-over-QUIC
|
||||
# Port 784 = DNS-over-QUIC (alternativ)
|
||||
# Port 8853 = DNS-over-QUIC (alternativ)
|
||||
BLOCKED_PORTS="53 443 853 784 8853"
|
||||
# Port 853 = DNS-over-TLS (tls://...:853) / DNS-over-QUIC (quic://...:853)
|
||||
BLOCKED_PORTS="53 443 853"
|
||||
|
||||
# --- Whitelist ---
|
||||
# IP-Adressen die NIEMALS gesperrt werden (kommagetrennt)
|
||||
@@ -55,17 +53,17 @@ LOG_MAX_SIZE_MB=50
|
||||
BAN_HISTORY_FILE="/var/log/adguard-shield-bans.log"
|
||||
|
||||
# --- Benachrichtigungen (optional) ---
|
||||
# Aktiviert Benachrichtigungen bei Sperren
|
||||
# Aktiviert Benachrichtigungen bei Sperren/Entsperrungen
|
||||
NOTIFY_ENABLED=false
|
||||
|
||||
# Webhook-URL für Benachrichtigungen (z.B. Discord, Slack, Gotify)
|
||||
# Benachrichtigungs-Typ: "ntfy", "discord", "slack", "gotify", "generic"
|
||||
NOTIFY_TYPE="ntfy"
|
||||
|
||||
# Webhook-URL (nur für discord, slack, gotify, generic – bei ntfy nicht nötig)
|
||||
# Discord: https://discord.com/api/webhooks/xxx/yyy
|
||||
# Gotify: https://gotify.example.com/message?token=xxx
|
||||
NOTIFY_WEBHOOK_URL=""
|
||||
|
||||
# Benachrichtigungs-Typ: "discord", "slack", "gotify", "ntfy", "generic"
|
||||
NOTIFY_TYPE="generic"
|
||||
|
||||
# --- Ntfy Einstellungen (nur bei NOTIFY_TYPE="ntfy") ---
|
||||
# Server-URL der Ntfy-Instanz (ohne trailing slash)
|
||||
NTFY_SERVER_URL="https://ntfy.sh"
|
||||
@@ -77,7 +75,7 @@ NTFY_TOPIC=""
|
||||
NTFY_TOKEN=""
|
||||
|
||||
# Priorität der Ntfy-Nachrichten (1=min, 3=default, 5=max)
|
||||
NTFY_PRIORITY="1"
|
||||
NTFY_PRIORITY="4"
|
||||
|
||||
# --- Externe Blocklist (optional) ---
|
||||
# Aktiviert den externen Blocklist-Worker
|
||||
@@ -100,6 +98,26 @@ EXTERNAL_BLOCKLIST_AUTO_UNBAN=true
|
||||
# Lokaler Cache-Pfad für die heruntergeladene Blocklist
|
||||
EXTERNAL_BLOCKLIST_CACHE_DIR="/var/lib/adguard-shield/external-blocklist"
|
||||
|
||||
# --- Progressive Sperren (Recidive) ---
|
||||
# Wiederholungstäter werden stufenweise länger gesperrt (wie bei fail2ban)
|
||||
# Aktiviert das progressive Sperrsystem
|
||||
PROGRESSIVE_BAN_ENABLED=true
|
||||
|
||||
# Multiplikator pro Wiederholung (2 = Verdopplung der Sperrdauer)
|
||||
# Stufe 1: BAN_DURATION × 1 (Standard-Sperrdauer)
|
||||
# Stufe 2: BAN_DURATION × 2
|
||||
# Stufe 3: BAN_DURATION × 4
|
||||
# Stufe 4: BAN_DURATION × 8 ... usw.
|
||||
PROGRESSIVE_BAN_MULTIPLIER=2
|
||||
|
||||
# Ab dieser Stufe wird die IP permanent gesperrt (0 = nie permanent sperren)
|
||||
# Beispiel: 5 = nach dem 5. Vergehen wird die IP dauerhaft gesperrt
|
||||
PROGRESSIVE_BAN_MAX_LEVEL=5
|
||||
|
||||
# Nach wie vielen Sekunden ohne erneutes Vergehen wird der Zähler zurückgesetzt
|
||||
# (86400 = 24 Stunden, 604800 = 7 Tage)
|
||||
PROGRESSIVE_BAN_RESET_AFTER=86400
|
||||
|
||||
# --- Erweiterte Einstellungen ---
|
||||
# Pfad zur State-Datei (speichert aktive Sperren)
|
||||
STATE_DIR="/var/lib/adguard-shield"
|
||||
|
||||
Reference in New Issue
Block a user