Crowdsec Grundsätzliches: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= CrowdSec - Open-Source Schutzsystem =
 
= CrowdSec - Open-Source Schutzsystem =
  
CrowdSec ist ein Open-Source Intrusion-Prevention-System (IPS), das auf Community-Intelligenz basiert. Es analysiert Logdateien, erkennt verdächtige Aktivitäten und kann automatisiert auf Angriffe reagieren. Dabei teilt es erkannte Bedrohungen mit der globalen CrowdSec-Community, um kollektiv Angreifer zu blockieren.
+
CrowdSec ist ein quelloffenes Intrusion Prevention System (IPS), das moderne Erkennungsmethoden mit einer gemeinschaftlichen Verteidigungsstrategie kombiniert. Es eignet sich für Server, Dienste und Anwendungen aller Art, die Angriffen ausgesetzt sein können.
  
= Funktionsweise =
+
== Zielsetzung von CrowdSec ==
  
CrowdSec analysiert verschiedene Logdateien von Servern und Anwendungen mithilfe von sogenannten "Parsers". Angriffsversuche werden anhand von vordefinierten "Scenarios" erkannt, und basierend darauf kann CrowdSec eine Entscheidung treffen ("Decision"), um beispielsweise eine IP-Adresse temporär oder dauerhaft zu sperren.
+
*'''Schutz vor automatisierten Angriffen''' – CrowdSec erkennt typische Angriffsarten wie Brute-Force, Port-Scanning oder auffällige HTTP-Zugriffe.
 +
*'''Analyse von Logdateien''' – Die Grundlage der Erkennung sind Logdaten verschiedenster Systeme und Anwendungen.
 +
*'''Automatisierte Reaktion''' – Bei Erkennung eines Angriffs kann eine automatisierte Blockierung eingeleitet werden.
 +
*'''Kollaborative Verteidigung''' – Erkannte Bedrohungen können anonymisiert an die CrowdSec-Community gemeldet werden.
 +
*'''Skalierbarkeit''' – Sowohl kleine als auch große Umgebungen können von CrowdSec profitieren.
  
= Grundlagen zu CrowdSec =
+
== Architektur und Aufbau ==
CrowdSec besteht aus mehreren Komponenten, die zusammenarbeiten, um Angriffe zu erkennen und abzuwehren.
 
  
== Was ist ein Bouncer? == 
+
*'''CrowdSec-Agent''' – Dieser analysiert Logdateien mithilfe von Parsern und erkennt sicherheitsrelevante Muster.
Ein Bouncer ist eine Komponente, die erkannte bösartige IPs aktiv blockiert. Er setzt die Entscheidungen (Decisions) in der Firewall, im Reverse Proxy oder in anderen Systemen um. Bouncer gibt es für verschiedene Technologien, z. B.
+
*'''Parser''' – Parser wandeln rohe Logzeilen in strukturierte Daten um, um sie analysierbar zu machen.
* iptables/nftables (Firewall-Bouncer) 
+
*'''Szenarien''' – Regeln beschreiben, welches Verhalten als verdächtig oder gefährlich gilt.
* Nginx/Apache (Webserver-Bouncer) 
+
*'''Entscheidungen (Decisions)''' – Sobald ein Szenario greift, wird eine Entscheidung über das weitere Vorgehen getroffen.
* Cloudflare, Traefik, HAProxy usw.
+
*'''Bouncer''' – Externe Module setzen Entscheidungen technisch um, z. B. durch das Blockieren von IP-Adressen auf der Firewall oder im Webserver.
  
== Was ist ein Alert? ==
+
== Arbeitsweise ==
Ein Alert wird erzeugt, wenn eine verdächtige Aktivität erkannt wird. Er enthält Informationen wie: 
 
* Die erkannte Bedrohung (z. B. Brute-Force-Angriff auf SSH) 
 
* Die betroffene IP-Adresse 
 
* Den Zeitpunkt des Angriffs 
 
  
Alerts führen nicht automatisch zu einer Blockierung, sondern geben an, dass ein Angriff identifiziert wurde.
+
*'''Beobachtung''' – Der Agent liest kontinuierlich Logs aus definierten Quellen ein.
 +
*'''Bewertung''' – Anhand definierter Szenarien wird geprüft, ob ein Verhalten auffällig ist.
 +
*'''Aktion''' – Bei Bedarf wird eine Reaktion ausgelöst, z. B. eine IP-Sperre.
 +
*'''Rückmeldung''' – Optional wird eine anonymisierte Information zur beobachteten Aktivität an die zentrale CrowdSec-API gesendet.
 +
*'''Verbundschutz''' – Durch das Teilen von Informationen entsteht ein globaler Schutzmechanismus, von dem alle Teilnehmer profitieren.
  
== Was ist eine Decision? ==
+
== Vorteile von CrowdSec ==
Eine Decision ist eine Entscheidung, die CrowdSec trifft, um eine erkannte Bedrohung zu blockieren. Sie kann beinhalten: 
 
* Eine IP-Adresse für eine bestimmte Zeit zu bannen 
 
* Eine IP global (z. B. über CAPI) zu blockieren 
 
* Nur bestimmte Dienste zu sperren 
 
  
Decisions werden von den Bouncern umgesetzt, z. B. durch das Hinzufügen der IP zu einer Firewall-Regel oder einer Sperrliste im Webserver.
+
*'''Open-Source und transparent''' – Der Quellcode ist offen und nachvollziehbar.
 
+
*'''Anpassbar''' – Eigene Parser und Szenarien können leicht erstellt oder angepasst werden.
== Wie arbeiten diese Komponenten zusammen? == 
+
*'''Community-getrieben''' – Die Qualität der Erkennung steigt durch die Teilnahme vieler Nutzer.
1. Der CrowdSec Agent analysiert die Logs von verschiedenen Diensten.
+
*'''Modular''' – Durch den Einsatz verschiedener Bouncer ist die Integration flexibel.
2. Wenn eine verdächtige Aktivität erkannt wird, erzeugt er einen Alert. 
+
*'''Zukunftssicher''' – CrowdSec unterstützt moderne Sicherheitsarchitekturen und ist aktiv in Entwicklung.
3. Falls die erkannte Aktivität eine bestimmte Schwelle überschreitet (z. B. mehrere fehlgeschlagene Login-Versuche in kurzer Zeit), erzeugt CrowdSec eine Decision. 
 
4. Der Bouncer setzt diese Decision um, z. B. indem er die angreifende IP blockiert.
 
 
 
== Status der aktuellen Entscheidungen prüfen == 
 
* sudo cscli decisions list
 
 
 
= Installation von CrowdSec aus den Originalquellen = 
 
== GPG-Schlüssel hinzufügen == 
 
* curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash 
 
 
 
== CrowdSec installieren == 
 
* sudo apt install crowdsec -y 
 
 
 
== Status prüfen == 
 
* sudo systemctl status crowdsec
 
= Whitelisten für das Labor anpassen =
 
== Datei bearbeiten == 
 
* sudo vi /etc/crowdsec/parsers/s02-enrich/whitelists.yaml 
 
 
 
== Folgende Einträge auskommentieren oder entfernen == 
 
<pre>
 
whitelist:
 
  reason: "private ipv4/ipv6 ip/ranges"
 
  ip:
 
    - "127.0.0.1"
 
    - "::1"
 
  cidr:
 
    - "192.168.0.0/16"
 
    - "10.0.0.0/8"
 
    - "172.16.0.0/12"
 
</pre>
 
 
 
== CrowdSec neu starten == 
 
* sudo systemctl restart crowdsec
 

Aktuelle Version vom 7. April 2025, 09:05 Uhr

CrowdSec - Open-Source Schutzsystem

CrowdSec ist ein quelloffenes Intrusion Prevention System (IPS), das moderne Erkennungsmethoden mit einer gemeinschaftlichen Verteidigungsstrategie kombiniert. Es eignet sich für Server, Dienste und Anwendungen aller Art, die Angriffen ausgesetzt sein können.

Zielsetzung von CrowdSec

  • Schutz vor automatisierten Angriffen – CrowdSec erkennt typische Angriffsarten wie Brute-Force, Port-Scanning oder auffällige HTTP-Zugriffe.
  • Analyse von Logdateien – Die Grundlage der Erkennung sind Logdaten verschiedenster Systeme und Anwendungen.
  • Automatisierte Reaktion – Bei Erkennung eines Angriffs kann eine automatisierte Blockierung eingeleitet werden.
  • Kollaborative Verteidigung – Erkannte Bedrohungen können anonymisiert an die CrowdSec-Community gemeldet werden.
  • Skalierbarkeit – Sowohl kleine als auch große Umgebungen können von CrowdSec profitieren.

Architektur und Aufbau

  • CrowdSec-Agent – Dieser analysiert Logdateien mithilfe von Parsern und erkennt sicherheitsrelevante Muster.
  • Parser – Parser wandeln rohe Logzeilen in strukturierte Daten um, um sie analysierbar zu machen.
  • Szenarien – Regeln beschreiben, welches Verhalten als verdächtig oder gefährlich gilt.
  • Entscheidungen (Decisions) – Sobald ein Szenario greift, wird eine Entscheidung über das weitere Vorgehen getroffen.
  • Bouncer – Externe Module setzen Entscheidungen technisch um, z. B. durch das Blockieren von IP-Adressen auf der Firewall oder im Webserver.

Arbeitsweise

  • Beobachtung – Der Agent liest kontinuierlich Logs aus definierten Quellen ein.
  • Bewertung – Anhand definierter Szenarien wird geprüft, ob ein Verhalten auffällig ist.
  • Aktion – Bei Bedarf wird eine Reaktion ausgelöst, z. B. eine IP-Sperre.
  • Rückmeldung – Optional wird eine anonymisierte Information zur beobachteten Aktivität an die zentrale CrowdSec-API gesendet.
  • Verbundschutz – Durch das Teilen von Informationen entsteht ein globaler Schutzmechanismus, von dem alle Teilnehmer profitieren.

Vorteile von CrowdSec

  • Open-Source und transparent – Der Quellcode ist offen und nachvollziehbar.
  • Anpassbar – Eigene Parser und Szenarien können leicht erstellt oder angepasst werden.
  • Community-getrieben – Die Qualität der Erkennung steigt durch die Teilnahme vieler Nutzer.
  • Modular – Durch den Einsatz verschiedener Bouncer ist die Integration flexibel.
  • Zukunftssicher – CrowdSec unterstützt moderne Sicherheitsarchitekturen und ist aktiv in Entwicklung.