Files
crowdsec-manager/docs/TROUBLESHOOTING.md
2026-03-16 10:14:12 +01:00

3.6 KiB
Raw Permalink Blame History

Troubleshooting & FAQ

Hilfe bei häufigen Problemen und Antworten auf oft gestellte Fragen.


Häufige Probleme

"dig: command not found"

# Debian/Ubuntu
sudo apt install dnsutils

# RHEL/CentOS/Fedora
sudo dnf install bind-utils

# Alpine
apk add --no-cache bind-tools

# Arch Linux
sudo pacman -S bind

"CrowdSec ist nicht erreichbar"

  1. Prüfe ob CrowdSec läuft:

    docker ps | grep crowdsec
    # oder
    systemctl status crowdsec
    
  2. Teste den Befehl manuell:

    docker exec crowdsec cscli version
    
  3. Prüfe Docker-Berechtigungen:

    groups $(whoami) | grep docker
    

"Lock-File existiert bereits"

  1. Prüfe ob noch ein Prozess läuft:

    cat /tmp/crowdsec-manager.lock
    ps aux | grep crowdsec-manager
    
  2. Wenn kein Prozess läuft, Lock manuell entfernen:

    rm /tmp/crowdsec-manager.lock
    

Domain wird nicht aufgelöst

  1. Manuell testen:

    dig +short A example.com
    dig +short @8.8.8.8 A example.com
    
  2. DNS-Server in der Config setzen:

    DNS_SERVER="8.8.8.8"
    
  3. Timeout erhöhen:

    DNS_TIMEOUT=10
    DNS_RETRIES=5
    

Berechtigungs-Fehler

# Script ausführbar machen
chmod +x crowdsec-manager.sh

# Log-Datei
sudo touch /var/log/crowdsec-manager.log
sudo chown $(whoami) /var/log/crowdsec-manager.log

# Backup-Verzeichnis
sudo mkdir -p /var/backup/crowdsec-manager
sudo chown $(whoami) /var/backup/crowdsec-manager

Interaktives Menü startet statt Cron-Sync

Ab v0.1.0 startet das Script standardmäßig das interaktive Menü. Für den Cron-Betrieb muss --sync-allowlist angegeben werden:

# Falsch (startet interaktives Menü):
*/30 * * * * /opt/.../crowdsec-manager.sh

# Richtig:
*/30 * * * * /opt/.../crowdsec-manager.sh --sync-allowlist

FAQ

F: Werden manuell erstellte CrowdSec-Decisions beeinflusst? A: Nein. Das Script verwaltet nur Decisions mit dem konfigurierten ALLOWLIST_REASON. Alle manuell erstellten Einträge bleiben unberührt.

F: Was passiert wenn CrowdSec nicht erreichbar ist? A: Das Script bricht mit Exit-Code 1 ab. Beim nächsten Cron-Lauf wird erneut versucht. Die bestehende Allowlist bleibt unverändert.

F: Was passiert wenn eine Domain nicht aufgelöst werden kann? A: Die Domain wird übersprungen und eine Warnung geloggt. Alle anderen Domains werden normal verarbeitet. Bestehende Einträge in der Allowlist bleiben erhalten, da sie persistent sind.

F: Kann ich das Script auf einem anderen Server als CrowdSec laufen lassen? A: Ja, über CSCLI_CMD z.B. via SSH:

CSCLI_CMD="ssh user@crowdsec-server cscli"

F: Unterstützt das Script Wildcard-Domains? A: Nein, Wildcard-Domains (z.B. *.example.com) werden nicht unterstützt. Jede Subdomain muss einzeln eingetragen werden.

F: Wie viele Einträge kann das Script verwalten? A: Kein festes Limit. Die DNS-Auflösung wird linear pro Eintrag durchgeführt. Bei hunderten Domains kann die Laufzeit einige Minuten betragen.

F: Kann ich das Script unter macOS verwenden? A: Ja, solange dig und Bash 4+ verfügbar sind. macOS liefert standardmäßig Bash 3.2 installiere Bash 4+ z.B. via Homebrew.

F: Was ist der Unterschied zwischen dem interaktiven Menü und dem CLI? A: Das interaktive Menü (Standard) bietet eine grafische Auswahl aller Funktionen. Der CLI-Modus (--sync-allowlist, --list, etc.) ist für automatisierten/Cron-Betrieb gedacht.

F: Können im interaktiven Menü auch direkte cscli-Befehle ausgeführt werden? A: Ja, Menüpunkt 40 ermöglicht die Ausführung beliebiger cscli-Befehle über den konfigurierten Basisbefehl.