Initialer Import
This commit is contained in:
@@ -0,0 +1,183 @@
|
||||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# CrowdSec Manager - Konfigurationsdatei
|
||||
# ============================================================================
|
||||
# Diese Datei enthält alle konfigurierbaren Parameter für das Script.
|
||||
# Passe die Werte an deine Umgebung an.
|
||||
# ============================================================================
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# CrowdSec Basis-Konfiguration
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Basisbefehl für CrowdSec CLI (cscli)
|
||||
# Beispiele:
|
||||
# Direkt installiert: CSCLI_CMD="cscli"
|
||||
# Docker: CSCLI_CMD="docker exec crowdsec cscli"
|
||||
# Docker Compose: CSCLI_CMD="docker compose exec crowdsec cscli"
|
||||
# Podman: CSCLI_CMD="podman exec crowdsec cscli"
|
||||
CSCLI_CMD="docker exec crowdsec cscli"
|
||||
|
||||
# Name der Allowlist-Decision-Liste in CrowdSec
|
||||
# Diese Liste wird vom Script angelegt und verwaltet
|
||||
ALLOWLIST_NAME="crowdsec-manager"
|
||||
|
||||
# Beschreibung der Allowlist
|
||||
ALLOWLIST_DESCRIPTION="Managed by crowdsec-manager script"
|
||||
|
||||
# Dauer für die Allowlist-Einträge (wie lange ein Eintrag gültig ist)
|
||||
# Format: s=Sekunden, m=Minuten, h=Stunden
|
||||
# Empfehlung: Etwas länger als das Cron-Intervall setzen
|
||||
ALLOWLIST_DURATION="25h"
|
||||
|
||||
# Typ der Allowlist-Einträge
|
||||
# Mögliche Werte: "allow" (Whitelist)
|
||||
ALLOWLIST_REASON="allowlist-manager-auto"
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Domains / DNS / IPs zum Allowlisten
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Liste der Domains, Subdomains und einzelnen IPs
|
||||
# Trenne mehrere Einträge mit Leerzeichen
|
||||
# Unterstützte Formate:
|
||||
# - Domains: example.com
|
||||
# - Subdomains: subdomain.example.com
|
||||
# - IPv4-Adressen: 192.168.1.100
|
||||
# - IPv6-Adressen: 2001:db8::1
|
||||
# - CIDR-Notation: 192.168.1.0/24
|
||||
# - CIDR IPv6: 2001:db8::/32
|
||||
|
||||
ALLOWLIST_ENTRIES=(
|
||||
# === Domains & Subdomains ===
|
||||
"example.com"
|
||||
"subdomain.example.com"
|
||||
|
||||
# === Einzelne IPs ===
|
||||
# "192.168.1.100"
|
||||
# "2001:db8::1"
|
||||
|
||||
# === CIDR-Bereiche ===
|
||||
# "10.0.0.0/8"
|
||||
# "2001:db8::/32"
|
||||
)
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# DNS-Auflösung
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Eigenen DNS-Server verwenden (leer lassen für System-DNS)
|
||||
# Beispiele: "1.1.1.1", "8.8.8.8", "9.9.9.9"
|
||||
DNS_SERVER=""
|
||||
|
||||
# IPv6-Adressen ebenfalls auflösen? (true/false)
|
||||
RESOLVE_IPV6=true
|
||||
|
||||
# DNS-Auflösungs-Timeout in Sekunden
|
||||
DNS_TIMEOUT=5
|
||||
|
||||
# Anzahl DNS-Auflösungsversuche bei Fehler
|
||||
DNS_RETRIES=3
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Logging
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Log-Level: DEBUG, INFO, WARN, ERROR
|
||||
LOG_LEVEL="INFO"
|
||||
|
||||
# Pfad zur Log-Datei (leer = nur stdout)
|
||||
LOG_FILE="/var/log/crowdsec-manager.log"
|
||||
|
||||
# Maximale Größe der Log-Datei in KB bevor rotiert wird (0 = keine Rotation)
|
||||
LOG_MAX_SIZE_KB=5120
|
||||
|
||||
# Anzahl der aufzubewahrenden rotierten Log-Dateien
|
||||
LOG_ROTATE_COUNT=3
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Backup
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Backup vor Änderungen erstellen? (true/false)
|
||||
BACKUP_ENABLED=true
|
||||
|
||||
# Verzeichnis für Backups
|
||||
BACKUP_DIR="/var/backup/crowdsec-manager"
|
||||
|
||||
# Anzahl aufzubewahrende Backups (ältere werden gelöscht)
|
||||
BACKUP_RETAIN_COUNT=7
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Lock-File (verhindert parallele Ausführung)
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Lock-File aktivieren? (true/false)
|
||||
LOCK_ENABLED=true
|
||||
|
||||
# Pfad zum Lock-File
|
||||
LOCK_FILE="/tmp/crowdsec-manager.lock"
|
||||
|
||||
# Timeout für Lock in Sekunden (0 = sofort abbrechen wenn gesperrt)
|
||||
LOCK_TIMEOUT=300
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Benachrichtigungen
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Benachrichtigungen aktivieren? (true/false)
|
||||
NOTIFY_ENABLED=false
|
||||
|
||||
# Wann benachrichtigen?
|
||||
# "always" - Immer nach Ausführung
|
||||
# "changes" - Nur wenn Änderungen vorgenommen wurden
|
||||
# "errors" - Nur bei Fehlern
|
||||
NOTIFY_ON="changes"
|
||||
|
||||
# --- Notify-Send (Desktop-Benachrichtigungen) ---
|
||||
NOTIFY_DESKTOP_ENABLED=false
|
||||
|
||||
# --- Ntfy (https://ntfy.sh) ---
|
||||
NOTIFY_NTFY_ENABLED=false
|
||||
NOTIFY_NTFY_URL="https://ntfy.sh"
|
||||
NOTIFY_NTFY_TOPIC="crowdsec-manager"
|
||||
NOTIFY_NTFY_PRIORITY="default"
|
||||
NOTIFY_NTFY_TOKEN=""
|
||||
# Tags/Emojis für Ntfy-Nachrichten
|
||||
NOTIFY_NTFY_TAGS="shield,white_check_mark"
|
||||
|
||||
# --- Gotify (https://gotify.net) ---
|
||||
NOTIFY_GOTIFY_ENABLED=false
|
||||
# URL deiner Gotify-Instanz (mit Protokoll, ohne trailing slash)
|
||||
NOTIFY_GOTIFY_URL="https://gotify.example.com"
|
||||
# App-Token aus Gotify (unter Apps -> Token erstellen)
|
||||
NOTIFY_GOTIFY_TOKEN=""
|
||||
# Priorität der Nachricht (1-10, höher = wichtiger)
|
||||
# 1-3: Niedrig, 4-7: Normal, 8-10: Hoch/Kritisch
|
||||
NOTIFY_GOTIFY_PRIORITY=5
|
||||
|
||||
# --- E-Mail ---
|
||||
NOTIFY_EMAIL_ENABLED=false
|
||||
NOTIFY_EMAIL_TO="admin@example.com"
|
||||
NOTIFY_EMAIL_FROM="crowdsec@example.com"
|
||||
NOTIFY_EMAIL_SUBJECT="CrowdSec Manager Report"
|
||||
# SMTP-Server Konfiguration
|
||||
NOTIFY_EMAIL_SMTP_SERVER="smtp.example.com"
|
||||
NOTIFY_EMAIL_SMTP_PORT="587"
|
||||
NOTIFY_EMAIL_SMTP_USER=""
|
||||
NOTIFY_EMAIL_SMTP_PASS=""
|
||||
NOTIFY_EMAIL_SMTP_TLS=true
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Erweiterte Optionen
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Automatische Bereinigung: Entfernt IPs aus der Allowlist, die nicht mehr
|
||||
# zu den konfigurierten Domains/IPs gehören (true/false)
|
||||
AUTO_CLEANUP=true
|
||||
|
||||
# Health-Check vor Ausführung (true/false)
|
||||
HEALTH_CHECK=true
|
||||
|
||||
# Dry-Run Modus als Standard (kann mit --dry-run überschrieben werden)
|
||||
DRY_RUN=false
|
||||
Reference in New Issue
Block a user