Parameter angepasst.
This commit is contained in:
+9
-7
@@ -24,8 +24,10 @@ Das Script arbeitet nach dem **Desired-State-Prinzip**: Du definierst WAS allowg
|
||||
|
||||
3. Synchronisation
|
||||
├── Vergleich: current_ips.txt vs. new_ips.txt
|
||||
├── Bei keinen Änderungen: Frühzeitiger Abbruch (kein Backup, keine Benachrichtigung)
|
||||
├── Neue IPs hinzufügen (in new, nicht in current)
|
||||
├── Veraltete IPs entfernen (in current, nicht in new)
|
||||
├── Backup der vorherigen Liste erstellen
|
||||
└── Statistiken aktualisieren
|
||||
|
||||
4. Abschluss
|
||||
@@ -44,16 +46,16 @@ Das Script arbeitet nach dem **Desired-State-Prinzip**: Du definierst WAS allowg
|
||||
| Aufruf | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `./script.sh` | Startet das **interaktive Menü** (Standard) |
|
||||
| `./script.sh --run` | Führt Allowlist-Sync aus (für **Cron**) |
|
||||
| `./script.sh --sync-allowlist` | Führt Allowlist-Sync aus (für **Cron**) |
|
||||
| `./script.sh --interactive` | Startet das interaktive Menü (explizit) |
|
||||
|
||||
> **Wichtig für Cron:** Ab v0.1.0 muss `--run` angegeben werden, da ohne Parameter das interaktive Menü startet.
|
||||
> **Wichtig für Cron:** Ab v0.2.0 muss `--sync-allowlist` angegeben werden, da ohne Parameter das interaktive Menü startet.
|
||||
|
||||
### Alle Optionen
|
||||
|
||||
| Option | Kurz | Beschreibung |
|
||||
|--------|------|-------------|
|
||||
| `--run` | | Allowlist-Sync ausführen (nicht-interaktiv, für Cron) |
|
||||
| `--sync-allowlist` | | Allowlist-Sync ausführen (nicht-interaktiv, für Cron) |
|
||||
| `--interactive` | `-i` | Interaktives Menü starten |
|
||||
| `--config FILE` | `-c` | Eigene Konfigurationsdatei laden |
|
||||
| `--dry-run` | `-d` | Simuliert alle Aktionen ohne CrowdSec zu ändern |
|
||||
@@ -72,7 +74,7 @@ Das Script arbeitet nach dem **Desired-State-Prinzip**: Du definierst WAS allowg
|
||||
Im Dry-Run Modus werden alle Schritte normal durchgeführt (DNS-Auflösung, Vergleich), aber die CrowdSec-Befehle werden **nicht** ausgeführt:
|
||||
|
||||
```bash
|
||||
./crowdsec-manager.sh --run --dry-run
|
||||
./crowdsec-manager.sh --sync-allowlist --dry-run
|
||||
```
|
||||
|
||||
Ausgabe:
|
||||
@@ -148,7 +150,7 @@ crontab -e
|
||||
Empfohlener Eintrag:
|
||||
```cron
|
||||
# CrowdSec Manager - alle 30 Minuten
|
||||
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --run >> /var/log/crowdsec-manager-cron.log 2>&1
|
||||
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --sync-allowlist >> /var/log/crowdsec-manager-cron.log 2>&1
|
||||
```
|
||||
|
||||
### Cron-spezifisches Verhalten
|
||||
@@ -175,10 +177,10 @@ Du kannst mehrere Konfigurationsdateien für verschiedene Allowlists verwenden:
|
||||
|
||||
```bash
|
||||
# Webserver-Allowlist
|
||||
./crowdsec-manager.sh --run --config config/webserver.conf
|
||||
./crowdsec-manager.sh --sync-allowlist --config config/webserver.conf
|
||||
|
||||
# Monitoring-Allowlist
|
||||
./crowdsec-manager.sh --run --config config/monitoring.conf
|
||||
./crowdsec-manager.sh --sync-allowlist --config config/monitoring.conf
|
||||
```
|
||||
|
||||
Jede Konfiguration sollte einen eigenen `ALLOWLIST_REASON` verwenden:
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
# CrowdSec Manager – Dokumentation
|
||||
|
||||
## Version 0.1.0
|
||||
|
||||
Umfassende Dokumentation für den CrowdSec Manager.
|
||||
|
||||
---
|
||||
@@ -65,7 +63,7 @@ Mindestens setzen:
|
||||
./crowdsec-manager.sh
|
||||
|
||||
# Allowlist-Sync (für Cron)
|
||||
./crowdsec-manager.sh --run
|
||||
./crowdsec-manager.sh --sync-allowlist
|
||||
```
|
||||
|
||||
### 6. Cron einrichten
|
||||
@@ -75,7 +73,7 @@ crontab -e
|
||||
```
|
||||
|
||||
```cron
|
||||
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --run >> /var/log/crowdsec-manager-cron.log 2>&1
|
||||
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --sync-allowlist >> /var/log/crowdsec-manager-cron.log 2>&1
|
||||
```
|
||||
|
||||
---
|
||||
@@ -157,7 +155,7 @@ grep -E "Hinzugefügt|Entfernt" /var/log/crowdsec-manager.log
|
||||
cron:
|
||||
name: "CrowdSec Manager"
|
||||
minute: "*/30"
|
||||
job: "/opt/crowdsec-manager/crowdsec-manager.sh --run >> /var/log/crowdsec-manager-cron.log 2>&1"
|
||||
job: "/opt/crowdsec-manager/crowdsec-manager.sh --sync-allowlist >> /var/log/crowdsec-manager-cron.log 2>&1"
|
||||
```
|
||||
|
||||
### Docker Compose Sidecar
|
||||
@@ -176,7 +174,7 @@ services:
|
||||
command: >
|
||||
sh -c "apk add --no-cache bash bind-tools curl docker-cli &&
|
||||
while true; do
|
||||
/app/crowdsec-manager.sh --run;
|
||||
/app/crowdsec-manager.sh --sync-allowlist;
|
||||
sleep 1800;
|
||||
done"
|
||||
```
|
||||
|
||||
@@ -90,14 +90,14 @@ 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** `--run` angegeben werden:
|
||||
Ab v0.1.0 startet das Script standardmäßig das interaktive Menü. Für den Cron-Betrieb **muss** `--sync-allowlist` angegeben werden:
|
||||
|
||||
```bash
|
||||
# Falsch (startet interaktives Menü):
|
||||
*/30 * * * * /opt/.../crowdsec-manager.sh
|
||||
|
||||
# Richtig:
|
||||
*/30 * * * * /opt/.../crowdsec-manager.sh --run
|
||||
*/30 * * * * /opt/.../crowdsec-manager.sh --sync-allowlist
|
||||
```
|
||||
|
||||
---
|
||||
@@ -129,7 +129,7 @@ A: Kein festes Limit. Die DNS-Auflösung wird linear pro Eintrag durchgeführt.
|
||||
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 (`--run`, `--list`, etc.) ist für automatisierten/Cron-Betrieb gedacht.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user