Hackerangriffe nehmen ständig zu, Ransomware verbreitet sich rasant. Unternehmen müssen daher ständig ihre Sicherheitsstrategien modernisieren. Ein Ansatz ist Crowd Security. Dabei bilden Organisationen eine Gemeinschaft, die konzentriert gegen Cyberattacken vorgeht, indem alle untereinander Angriffsdaten teilen. Bedrohungen lassen sich so schon früh erkennen und abwehren. Wir erklären, wie das mit dem Clouddienst CrowdSec funktioniert und wie Sie per Kommandozeile und Webkonsole Linux- und Windows-Server anbinden.
Gemeinsam kämpft es sich besser gegen Aggressoren als allein. Dieses Motto hat sich CrowdSec [1] auf die Fahnen geschrieben. Bei dem Clouddienst handelt es sich um ein quelloffenes und partizipatives IPS, das in der Lage ist, das Verhalten von Systemen zu analysieren und eine angepasste Antwort auf Angriffe zu geben. Das Werkzeug verfolgt den Ansatz, dass eine Gemeinschaft Angriffsinformationen austauscht und zusammen gegen Cyberkriminelle kämpft. Ein Unternehmen schützt daher seine Server nicht nur durch selbst gewonnene Informationen, sondern durch die Daten der kompletten Community.
Bei den Quellen handelt es sich zum Beispiel um syslog, cloudtrails, SIEM und andere Informationen, zum Beispiel von Firewalls oder der Ereignisanzeige von Windows-Servern. Die Mitglieder der Community erhalten Informationen der ausgewerteten Daten und können dadurch ihr eigenes Intrusion Detection System (IDS) aufbauen. Das Senden und Empfangen von Informationen lässt sich auch komplett automatisieren. Nach der ersten Einrichtung läuft das System autonom und Sie können in der Webkonsole des Clouddiensts überprüfen, ob Ihre Server angegriffen wurden und ob Sie eine Aktion durchführen müssen.
Die Software, die in einem CrowdSec-Netzwerk zum Einsatz kommt, arbeitet lokal, kann aber auf die Daten der Gemeinschaft aus dem Internet zugreifen. Dadurch sind IP-Adressen von Angreifern schnell identifizierbar, indem der Softwareagent Informationen der Community im lokalen Rechenzentrum nutzt. Sammelt er selbst neue IP-Adressen von Angreifern, kann er diese wiederum in die Cloud hochladen. Nach einer Verifizierung werden diese neuen Adressen ebenfalls der Community zur Verfügung gestellt.
Gemeinsam kämpft es sich besser gegen Aggressoren als allein. Dieses Motto hat sich CrowdSec [1] auf die Fahnen geschrieben. Bei dem Clouddienst handelt es sich um ein quelloffenes und partizipatives IPS, das in der Lage ist, das Verhalten von Systemen zu analysieren und eine angepasste Antwort auf Angriffe zu geben. Das Werkzeug verfolgt den Ansatz, dass eine Gemeinschaft Angriffsinformationen austauscht und zusammen gegen Cyberkriminelle kämpft. Ein Unternehmen schützt daher seine Server nicht nur durch selbst gewonnene Informationen, sondern durch die Daten der kompletten Community.
Bei den Quellen handelt es sich zum Beispiel um syslog, cloudtrails, SIEM und andere Informationen, zum Beispiel von Firewalls oder der Ereignisanzeige von Windows-Servern. Die Mitglieder der Community erhalten Informationen der ausgewerteten Daten und können dadurch ihr eigenes Intrusion Detection System (IDS) aufbauen. Das Senden und Empfangen von Informationen lässt sich auch komplett automatisieren. Nach der ersten Einrichtung läuft das System autonom und Sie können in der Webkonsole des Clouddiensts überprüfen, ob Ihre Server angegriffen wurden und ob Sie eine Aktion durchführen müssen.
Die Software, die in einem CrowdSec-Netzwerk zum Einsatz kommt, arbeitet lokal, kann aber auf die Daten der Gemeinschaft aus dem Internet zugreifen. Dadurch sind IP-Adressen von Angreifern schnell identifizierbar, indem der Softwareagent Informationen der Community im lokalen Rechenzentrum nutzt. Sammelt er selbst neue IP-Adressen von Angreifern, kann er diese wiederum in die Cloud hochladen. Nach einer Verifizierung werden diese neuen Adressen ebenfalls der Community zur Verfügung gestellt.
Agenten-basiert und flexibel einsetzbar
Unternehmen müssen bei der Nutzung von CrowdSec nicht ihre komplette Security ersetzen. Ebenso wenig ist der Betrieb von eigenen Servern notwendig, da die eigentliche Funktionalität in der Cloud liegt. Es ist lediglich die Installation eines Agenten auf einzelnen Servern notwendig. Die Einsatzgebiete von CrowdSec lassen sich in verschiedene Szenarien unterteilen. Ein solches kann zum Beispiel das Ausnutzen der Log4j-Schwachstelle sein.
Das Hinzufügen eigener Szenarien stellt kein Problem dar. Organisationen können so selbst bestimmen, welche potenziellen Angriffe sie durch CrowdSec abwehren und welche eigenen Informationen sie für den gemeinsamen Kampf der Community beisteuern wollen. Die Szenarien werden oft als YAML-Datei definiert und lassen sich leicht in die eigene Umgebung integrieren. CrowdSec arbeitet parallel mit Honeypots, um Angreifer anzulocken. Die dabei erstellten Reputationsdatenbanken stehen ebenfalls der Allgemeinheit zur Verfügung.
Werkzeuge zur Crowd Security haben nicht zuletzt Erfolge in der Abwehr der Log4j-Schwachstelle erzielt. Viele Anwendungen und Server-Betriebssysteme enthalten Komponenten aus der Java-Bibliothek, die jedoch nicht dokumentiert sind. Infolgedessen sind fast alle Netzwerke gefährdet. An dieser Stelle kann CrowdSec eine große Hilfe sein. Aufgrund der riesigen Datenmenge, die zur Analyse zur Verfügung steht, erkennt das System, wo Exploits auftreten – wenn andere Mitglieder der Community das gleiche Produkt verwenden, ist der Exploit wahrscheinlich auch hier vorhanden.
Agent auf Linux und Windows aufspielen
Die Installation von CrowdSec besteht aus drei Schritten: Zunächst richten Sie die Webkonsole ein, indem Sie ein Konto beim Anbieter erstellen. Das funktioniert auch kostenlos. Danach installieren Sie den Agenten auf den Servern, die Sie einbeziehen wollen, und binden danach den Server über den Agenten an die Konsole an. Im Anschluss können Sie über sogenannte "Bouncers" Angriffe aktiv verhindern, indem das System bestimmte IP-Adressen blockiert.
Die Installation von CrowdSec unter Linux läuft normalerweise über die Paketverwaltung. Bei Debian-Systemen kommen hierbei folgende Befehle zum Einsatz:
Der Agent von CrowdSec ist eine leichtgewichtige Open-Source-Software, die Peers mit aggressivem Verhalten aufspürt, um sie am Zugriff auf Ihre Systeme zu hindern. Sie können auch Windows-Server mit einem eigenen Agenten an CrowdSec anbinden – der passende steht auf GitHub zur Verfügung [2]. Allerdings ist der Linux-Client wesentlich ausgereifter. Nach dem Download der etwa 40 MByte großen MSI-Datei erfolgt die Installation des Agenten auf Windows. Die Installation erfolgt ohne Konfiguration und ist daher problemlos automatisierbar.
CrowdSec arbeitet zur Abwehr von Gefahren mit sogenannten Sammlungen (Collections). Für Windows-Server gibt es eine solche Sammlung, die der Installationsassistent automatisch auf den Systemen aufbringt. Auch der dazugehörige Systemdienst landet durch den Installer auf dem Windows-Gerät. Die so angebundenen Server lassen sich in der Webkonsole verwalten. Diese ist über die URL "https://app.crowdsec.net" erreichbar.
CrowdSec konfigurieren
Im Gegensatz zu Linux unterstützt CrowdSec unter Windows noch nicht die automatische Konfiguration zum Zeitpunkt der Installation. Sie sollten nach dem Aufspielen des Agenten also noch nacharbeiten. Die Standardkonfiguration fängt Brute-Force-Angriffe gegen RDP und SMB oder jede Art von Remote-Authentifizierung ab, die Windows verwendet. Das bringt schon einigen Schutz. Nach jeder Aktualisierung oder Anpassung des Dienstes müssen Sie den CrowdSec-Dienst in Windows neu starten. Das lässt sich in der PowerShell über restart-service crowdsec erledigen.
Die Installation der notwendigen Dateien und Funktionen erfolgt in Windows im Verzeichnis "C:\Programme\CrowdSec". Hier sind auch die ausführbaren Dateien des Agenten (crowdsec.exe) und der CLI (cscli.exe) zu finden. Die verschiedenen Konfigurationsdateien sind im Verzeichnis "config" abgelegt und die internen Protokolldateien von CrowdSec speichert der Dienst im Ordner "logs".
Die erweiterte Konfiguration erfolgt über den Shell-Befehl cscli.exe. Über die gleichnamige Datei konfigurieren Sie CrowdSec. Der Installationsassistent bindet die ausführbaren Dateien des Agenten auch in den Windows-Pfad ein, sodass Sie die Kommandos von jedem Ort, aus der PowerShell, dem Windows-Terminal oder aus der Eingabeaufforderung, starten können.
Darüber installieren Sie weitere Sammlungen auf einem Windows-Server, zum Beispiel die bereits erwähnte Collection für Windows. Dazu verwenden Sie den Befehl cscli collections install crowdsecurity/windows. Für den Schutz von SQL-Servern steht eine weitere Sammlung zur Verfügung. Diese spielen Sie mit cscli collections install crowdsecurity/mssql auf. Die Collection erkennt Angriffsversuche auf die Authentifizierung von SQL-Servern. Für die Überwachung von SQL-Servern müssen Sie allerdings noch die Datei "C:\ProgramData\CrowdSec\config\acquis.yaml" anpassen. Tragen Sie hier die folgenden Informationen ein:
source: wineventlog
event_channel: Application
event_ids:
- 18456
event_level: information
labels:
type: eventlog
Um einen Webserver auf IIS-Basis mit CrowdSec zu schützen, steht eine eigene Sammlung zur Verfügung. Diese installieren Sie mit cscli collections install crowdsecurity/iis. Auch hier müssen Sie die genannte Datei anpassen, also "C:\ProgramData\CrowdSec\config\acquis.yaml". Tragen Sie folgende Zeilen ein:
use_time_machine: true
filenames:
- C:\\inetpub\\logs\\LogFiles\\*\\*.log
labels:
type: iis
Um die Einträge des IIS in den Ereignisanzeigen von Windows in CrowdSec einzubinden, verwenden Sie
source: wineventlog
event_channel:
Microsoft-IIS-Logging/Logs
event_ids:
- 6200
event_level: information
labels:
type: iis
Die Überwachung der Windows-Firewall lässt sich über cscli collections install crowdsecurity/windows-firewall aktivieren. Auch hier gibt es nötige Änderungen in der bereits bekannten YAML-Datei:
Nach dem Einbinden der genannten Collections für Windows führt CrowdSec also folgende Schutzmechanismen aus:
- RDP/SMB: Brute-Force-Erkennung
- IIS: HTTP-Angriffe
- SQL-Server: Brute-Force-Erkennung
- Windows-Firewall: Netzwerk-Scan-Erkennung
Die Windows-Sammlungen umfassen also vor allem Analysen der Windows-Protokolldateien und verschiedene Szenarien für den Schutz gegen Passwortangriffe.
Nach der Installation von CrowdSec auf einem Server und der Integration der gewünschten Collections müssen Sie jeden Server noch als Instanz bei CrowdSec registrieren – dazu später mehr.
Die Verwaltung erfolgt anschließend über die beschriebene Weboberfläche. Die Einstellungen auf dem aktuellen Server rufen Sie mit cscli collections list ab.
Instanz anbinden und Bouncer einrichten
Wenn die lokale CrowdSec-Instanz konfiguriert ist, können Sie diese etwa mit dem Befehl cscli console enroll cl5zgf4qs00 030wjqmvrt7s30 an den Dienst anbinden. Dazu muss auf dem Rechner die Webkonsole geöffnet sein und Sie müssen sich authentifiziert haben. Danach sehen Sie die Instanz bei "Instances" in der Weboberfläche. Mit "Accept" flanschen Sie sie an die Oberfläche an. Sie sehen ab diesem Moment den Status des Servers. Sicherheitsinformationen zum angebundenen Server erhalten Sie über "Alerts". Außerdem sind bei "Activity" die letzten Aktionen ersichtlich, die Sie in CrowdSec durchgeführt haben. So erkennen Sie zum Beispiel, welche Server Sie angebunden haben.
Das Blockieren der von CrowedSec aufgespürten Angriffe läuft über "Bouncers". Diese müssen Sie auf dem Server installieren. Bei Windows kann hier zum Beispiel der Bouncer für die Windows-Firewall zum Einsatz kommen, der Regeln zum Blockieren verdächtiger IP-Adressen verwaltet und automatisch pflegt. Für Windows ist dazu auch das .NET6-Framework notwendig. Sie können die kompletten Installationsdateien auf der GitHub-Seite [3] herunterladen. Die Konfiguration des Bouncers ist unter [4] genauer ausgeführt.
Fazit
Cyberkriminelle treten häufig als Gruppe auf. Eine Chance für die erfolgreiche Bekämpfung der Angreifer besteht darin, ebenfalls als Gemeinschaft aufzutreten und die gesammelten Informationen aller Teilnehmer zu nutzen. Systeme wie CrowdSec unterstützten die meisten Linux-Distributionen, aber auch Windows. Wie wir gezeigt haben, ist es hier allerdings nötig, händisch nachzukonfigurieren.