Crowdsec Installation und Handling: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 1: Zeile 1:
=Installation=
+
= CrowdSec =
==Curl installieren==
 
*apt install curl
 
==Eintragen der Repositories und Update==
 
*curl -s https://install.crowdsec.net | sudo sh
 
==Installation von Crowdsec==
 
*apt install crowdsec -y
 
==Installation einiger Bouncers==
 
*apt install crowdsec-firewall-bouncer-nftables crowdsec-nginx-bouncer -y
 
  
==Aktivieren von Sqlite WAL==
+
== Installation ==
*echo -e "db_config:\n  use_wal: true" > /etc/crowdsec/config.yaml.local
 
*systemctl restart crowdsec.service
 
  
= Bash Completion aktivieren =
+
=== CrowdSec installieren ===
== Bash Completion für cscli dauerhaft einrichten ==
+
Curl wird benötigt, um das Installations-Script herunterzuladen.
*cscli completion bash >> ~/.bashrc
+
* apt install curl
*source ~/.bashrc
 
  
== Automatische Vervollständigung testen ==
+
Das offizielle CrowdSec-Repository wird eingerichtet und die Paketquellen aktualisiert.
*cscli <TAB><TAB>
+
* curl -s https://install.crowdsec.net | sudo sh
  
= Verwendung der CrowdSec CLI =
+
Installiert die CrowdSec Security Engine.
 +
* apt install crowdsec -y
  
== Übersicht anzeigen ==
+
=== SQLite WAL aktivieren ===
*cscli -h
+
Der Write-Ahead-Log-Modus verbessert die Schreibperformance der internen Datenbank.
 +
* echo -e "db_config:\n  use_wal: true" > /etc/crowdsec/config.yaml.local
 +
* systemctl restart crowdsec.service
  
== Syntax der Befehle ==
+
=== Whitelist für das Labor anpassen ===
*cscli <befehl> <unterbefehl>
+
Im Laborbetrieb sollte die Whitelist angepasst werden, damit private IP-Adressen erkannt und geblockt werden können.
 +
* vi /etc/crowdsec/parsers/s02-enrich/whitelists.yaml
  
== Hilfe zu einzelnen Befehlen anzeigen ==
+
<pre>
*cscli <befehl> <unterbefehl> -h
+
name: crowdsecurity/whitelists
 +
description: "Whitelist events from private ipv4 addresses"
 +
whitelist:
 +
  reason: "private ipv4/ipv6 ip/ranges"
 +
  ip:
 +
    - "::1"
 +
    - "192.168.178.1"
 +
  cidr:
 +
  # - "127.0.0.0/8"
 +
  # - "192.168.0.0/16"
 +
  # - "10.0.0.0/8"
 +
  # - "172.16.0.0/12"
 +
</pre>
 +
 
 +
Anschließend CrowdSec neu starten.
 +
* systemctl restart crowdsec
  
= Arbeiten mit Parsern =
+
== Bash Completion ==
  
== Lokale Parser anzeigen ==
+
=== Dauerhaft einrichten ===
*cscli parsers list
+
Die Autovervollständigung wird dauerhaft in die Shell-Konfiguration eingetragen.
 +
* cscli completion bash >> ~/.bashrc
 +
* source ~/.bashrc
  
== Hilfe zu Parserbefehlen anzeigen ==
+
=== Testen ===
*cscli parsers list -h
+
Doppeltes Tab zeigt alle verfügbaren cscli-Befehle an.
 +
* cscli <TAB><TAB>
  
= Arbeiten mit Sammlungen (Collections) =
+
== Verwendung der CrowdSec CLI ==
  
== Installierte Sammlungen anzeigen ==
+
=== Übersicht anzeigen ===
*cscli collections list
+
Zeigt alle verfügbaren Befehle und Optionen der CLI.
 +
* cscli -h
  
== Alle verfügbaren Sammlungen anzeigen ==
+
=== Syntax der Befehle ===
*cscli collections list -a
+
Alle cscli-Befehle folgen diesem Schema.
 +
* cscli <befehl> <unterbefehl>
  
== Sammlung installieren ==
+
=== Hilfe zu einzelnen Befehlen anzeigen ===
*cscli collections install crowdsecurity/iptables
+
Gibt kontextbezogene Hilfe zu einem bestimmten Unterbefehl aus.
 +
* cscli <befehl> <unterbefehl> -h
  
== Sammlung aktualisieren ==
+
== Arbeiten mit Parsern ==
*cscli collections upgrade crowdsecurity/iptables
 
  
== Alle installierten Sammlungen aktualisieren ==
+
=== Lokale Parser anzeigen ===
*cscli collections upgrade -a
+
Listet alle installierten Parser auf, die Logzeilen verarbeiten.
 +
* cscli parsers list
  
= Arbeiten mit Entscheidungen (Decisions) =
+
=== Hilfe zu Parserbefehlen anzeigen ===
 +
Zeigt alle verfügbaren Optionen des Parser-Befehls.
 +
* cscli parsers list -h
  
== Manuelle Entscheidung hinzufügen ==
+
== Arbeiten mit Collections ==
*cscli decisions add --ip 1.2.3.4
 
  
== Aktive Entscheidungen anzeigen ==
+
=== Installierte Collections anzeigen ===
*cscli decisions list
+
Listet alle lokal installierten Collections auf.
 +
* cscli collections list
  
== Entscheidung anhand ID löschen ==
+
=== Alle verfügbaren Collections anzeigen ===
*cscli decisions delete --id <ID>
+
Zeigt zusätzlich alle im Hub verfügbaren, noch nicht installierten Collections.
 +
* cscli collections list -a
  
== Entscheidung anhand IP löschen ==
+
=== Collection installieren ===
*cscli decisions delete --ip 1.2.3.4
+
Installiert eine Collection inklusive aller zugehörigen Parser und Szenarien.
=Crowdsec Process Cold Logs=
+
* cscli collections install crowdsecurity/iptables
Crowdsec kann „kalte“ Protokolle verarbeiten.  
 
  
Im Zusammenhang mit CrowdSec bezeichnet man als "kalte Protokolle" (cold logs) jene Logdateien, die bereits vor der Installation oder Aktivierung von CrowdSec entstanden sind und somit nicht in Echtzeit erfasst oder analysiert werden.  
+
=== Collection aktualisieren ===
 +
Aktualisiert eine einzelne installierte Collection auf die neueste Version.
 +
* cscli collections upgrade crowdsecurity/iptables
  
 +
=== Alle installierten Collections aktualisieren ===
 +
Aktualisiert alle installierten Collections in einem Schritt.
 +
* cscli collections upgrade -a
  
 +
== Arbeiten mit Decisions ==
  
 +
=== Manuelle Entscheidung hinzufügen ===
 +
Fügt eine IP-Adresse manuell zur Sperrliste hinzu.
 +
* cscli decisions add --ip 1.2.3.4
  
Dies kann nützlich sein, wenn Sie wissen möchten, was Crowdsec im Moment erkannt hat, oder um IP-Adressen zu identifizieren, die untersucht werden sollen, wenn Sie zur Untersuchung eines Verstoßes hinzugezogen werden.
+
=== Aktive Entscheidungen anzeigen ===
==Beispiel==
+
Zeigt alle aktuell aktiven Sperrentscheidungen an.
*crowdsec -dsn file:///var/log/nginx/access.log --type nginx -no-api
+
* cscli decisions list
<pre>
+
 
INFO[2025-04-07T11:37:10+02:00] Loading yaml file: '/etc/crowdsec/config.yaml' with additional values from '/etc/crowdsec/config.yaml.local'
+
=== Entscheidung anhand ID löschen ===
INFO[2025-04-07T11:37:10+02:00] single file mode : log_media=stdout daemonize=false
+
Entfernt eine bestimmte Entscheidung anhand ihrer ID.
INFO[2025-04-07T11:37:10+02:00] Enabled feature flags: none                 
+
* cscli decisions delete --id <ID>
INFO[2025-04-07T11:37:10+02:00] Crowdsec v1.6.8-debian-pragmatic-amd64-f209766e
+
 
INFO[2025-04-07T11:37:10+02:00] Loading prometheus collectors               
+
=== Entscheidung anhand IP löschen ===
WARN[2025-04-07T11:37:10+02:00] Exprhelpers loaded without database client. 
+
Entfernt alle aktiven Entscheidungen für eine bestimmte IP-Adresse.
INFO[2025-04-07T11:37:10+02:00] Loading grok library /etc/crowdsec/patterns 
+
* cscli decisions delete --ip 1.2.3.4
INFO[2025-04-07T11:37:10+02:00] Loading enrich plugins                     
 
INFO[2025-04-07T11:37:10+02:00] Successfully registered enricher 'GeoIpCity'
 
INFO[2025-04-07T11:37:10+02:00] Successfully registered enricher 'GeoIpASN' 
 
INFO[2025-04-07T11:37:10+02:00] Successfully registered enricher 'IpToRange'
 
INFO[2025-04-07T11:37:10+02:00] Successfully registered enricher 'reverse_dns'
 
INFO[2025-04-07T11:37:10+02:00] Successfully registered enricher 'ParseDate'
 
INFO[2025-04-07T11:37:10+02:00] Successfully registered enricher 'UnmarshalJSON'
 
INFO[2025-04-07T11:37:10+02:00] Loading parsers from 6 files               
 
INFO[2025-04-07T11:37:10+02:00] Loaded 2 parser nodes                        file=/etc/crowdsec/parsers/s00-raw/syslog-logs.yaml stage=s00-raw
 
INFO[2025-04-07T11:37:10+02:00] Loaded 1 parser nodes                        file=/etc/crowdsec/parsers/s01-parse/iptables-logs.yaml stage=s01-parse
 
INFO[2025-04-07T11:37:10+02:00] Loaded 1 parser nodes                        file=/etc/crowdsec/parsers/s01-parse/sshd-logs.yaml stage=s01-parse
 
INFO[2025-04-07T11:37:10+02:00] Loaded 1 parser nodes 
 
</pre>
 

Aktuelle Version vom 24. Mai 2026, 08:56 Uhr

CrowdSec

Installation

CrowdSec installieren

Curl wird benötigt, um das Installations-Script herunterzuladen.

  • apt install curl

Das offizielle CrowdSec-Repository wird eingerichtet und die Paketquellen aktualisiert.

Installiert die CrowdSec Security Engine.

  • apt install crowdsec -y

SQLite WAL aktivieren

Der Write-Ahead-Log-Modus verbessert die Schreibperformance der internen Datenbank.

  • echo -e "db_config:\n use_wal: true" > /etc/crowdsec/config.yaml.local
  • systemctl restart crowdsec.service

Whitelist für das Labor anpassen

Im Laborbetrieb sollte die Whitelist angepasst werden, damit private IP-Adressen erkannt und geblockt werden können.

  • vi /etc/crowdsec/parsers/s02-enrich/whitelists.yaml
name: crowdsecurity/whitelists
description: "Whitelist events from private ipv4 addresses"
whitelist:
  reason: "private ipv4/ipv6 ip/ranges"
  ip:
    - "::1"
    - "192.168.178.1"
  cidr:
   # - "127.0.0.0/8"
   # - "192.168.0.0/16"
   # - "10.0.0.0/8"
   # - "172.16.0.0/12"

Anschließend CrowdSec neu starten.

  • systemctl restart crowdsec

Bash Completion

Dauerhaft einrichten

Die Autovervollständigung wird dauerhaft in die Shell-Konfiguration eingetragen.

  • cscli completion bash >> ~/.bashrc
  • source ~/.bashrc

Testen

Doppeltes Tab zeigt alle verfügbaren cscli-Befehle an.

  • cscli <TAB><TAB>

Verwendung der CrowdSec CLI

Übersicht anzeigen

Zeigt alle verfügbaren Befehle und Optionen der CLI.

  • cscli -h

Syntax der Befehle

Alle cscli-Befehle folgen diesem Schema.

  • cscli <befehl> <unterbefehl>

Hilfe zu einzelnen Befehlen anzeigen

Gibt kontextbezogene Hilfe zu einem bestimmten Unterbefehl aus.

  • cscli <befehl> <unterbefehl> -h

Arbeiten mit Parsern

Lokale Parser anzeigen

Listet alle installierten Parser auf, die Logzeilen verarbeiten.

  • cscli parsers list

Hilfe zu Parserbefehlen anzeigen

Zeigt alle verfügbaren Optionen des Parser-Befehls.

  • cscli parsers list -h

Arbeiten mit Collections

Installierte Collections anzeigen

Listet alle lokal installierten Collections auf.

  • cscli collections list

Alle verfügbaren Collections anzeigen

Zeigt zusätzlich alle im Hub verfügbaren, noch nicht installierten Collections.

  • cscli collections list -a

Collection installieren

Installiert eine Collection inklusive aller zugehörigen Parser und Szenarien.

  • cscli collections install crowdsecurity/iptables

Collection aktualisieren

Aktualisiert eine einzelne installierte Collection auf die neueste Version.

  • cscli collections upgrade crowdsecurity/iptables

Alle installierten Collections aktualisieren

Aktualisiert alle installierten Collections in einem Schritt.

  • cscli collections upgrade -a

Arbeiten mit Decisions

Manuelle Entscheidung hinzufügen

Fügt eine IP-Adresse manuell zur Sperrliste hinzu.

  • cscli decisions add --ip 1.2.3.4

Aktive Entscheidungen anzeigen

Zeigt alle aktuell aktiven Sperrentscheidungen an.

  • cscli decisions list

Entscheidung anhand ID löschen

Entfernt eine bestimmte Entscheidung anhand ihrer ID.

  • cscli decisions delete --id <ID>

Entscheidung anhand IP löschen

Entfernt alle aktiven Entscheidungen für eine bestimmte IP-Adresse.

  • cscli decisions delete --ip 1.2.3.4