Multi-Server-Umgebung mit Crowdsec
Mit diesem unverdaulichen Titel, Versuchen wir zu erklären, was Crowdsec zu einem braunen Biest macht… da es üblich sein wird, den Crowdsec-Agenten auf jedem unserer Computer in der Organisation zu haben, Wir werden es ihnen ermöglichen, miteinander zu kommunizieren, um Angriffe zu verhindern.
Das ist, als wenn ein Windows- oder Linux-Computer angegriffen wird, Der Rest der Computer des Unternehmens kann von dem Angriff erfahren und die IP-Adresse des Angreifers blockieren, bevor er überhaupt an seine Tür klopfen kann. Nehmen wir an, dass Crowdsec standardmäßig lokal arbeitet, Jeder Crowdsec-Agent kommuniziert mit seinem eigenen lokalen API-Server, was wir tun werden, ist, dass sie alle mit demselben LAPI-Server kommunizieren.
Lokaler API-Server,
Gestartet, erste, Auf dem Computer möchten wir als API-Server für den Rest der Agenten fungieren. Also aktivieren wir es in Ihrer Konfigurationsdatei ‘ /etc/crowdsec/config.yaml', Wir geben die IP-Adresse an, von der aus es abhört, und den Port:
API: ... Server: ... listen_uri: 192.168.2.10:8080 ...
In '/etc/crowdsec/local_api_credentials.yaml’ nur die gleiche IP-Adresse:
URL (Englisch): HTTP (Englisch)://192.168.2.10:8080 ...
Wir starten neu, um die Änderungen zu übernehmen:
sudo systemctl restart crowdsec
Crowdsec-Agenten,
Jetzt, Der Rest der Computer mit Crowdsec muss bei der lokalen API des Servers registriert sein., und wir werden auch die LAPI jedes Crowdsec-Rechners deaktivieren, da sie nicht verwendet wird.
Um es offtopic zu machen, wenn Sie Crowdsec nicht auf dem zu schützenden Zielcomputer installiert haben, Es ist an der Zeit 😉, dass Sie in früheren Beiträgen wissen, wie Sie ein Windows schützen können., Linux (Englisch)…
Brunnen, Kommen, geht, Wir registrieren uns für den LAPI-Server von jedem Agenten mit:
Sudo cscli lapi register -u HTTP://192.168.2.10:8080 INFO[14-11-2022 10:14:08 NACHMITTAGS] Erfolgreiche Registrierung bei der lokalen API (LAPI) INFO[14-11-2022 10:14:08 NACHMITTAGS] Local API credentials dumped to '/etc/crowdsec/local_api_credentials.yaml' WARN[14-11-2022 10:14:08 NACHMITTAGS] Run 'sudo systemctl reload crowdsec' for the new configuration to be effective.
Wir stoppen unseren eigenen API-Server, da wir ihn nicht verwenden werden:
sudo cp /lib/systemd/system/crowdsec.service /etc/systemd/system/crowdsec.service
Und wir fügen '-no-api hinzu’ in der Crowdsec-Konfigurationsdatei '/etc/systemd/system/crowdsec.service’
... ExecStart=/usr/bin/crowdsec -c /etc/crowdsec/config.yaml -no-api ...
Schließlich laden wir die Dienste neu, um diese neue Konfiguration zu verwenden:
sudo systemctl daemon-reload sudo systemctl restart crowdsec
Wenn wir nun zum LAPI-Server gehen, Wir können sehen, dass es ausstehende Verbindungsanfragen mit dem Befehl 'sudo cscli machines list' gibt.:
--------------------------------------------------------------------------------------------------------- NAME IP-ADRESSE STATUS DER LETZTEN AKTUALISIERUNG VERSION AUTH-TYP LETZTER HEARTBEAT --------------------------------------------------------------------------------------------------------- b91d17c64c4e4a2 192.168.x.xxx 2022-11-14T22:18:00Z ✔️ v1.4.1-debian Passwort 19s 9c70ab3970dd4cc 192.168.x.xxx 2022-11-14T22:14:08Z-Passwort 🚫 ⚠️ 4m11s ---------------------------------------------------------------------------------------------------------
Wir validieren die Maschinen, indem wir 'sudo cscli machines validate 9c70ab3970dd4cc ausführen’
sudo cscli Maschinen validieren 9c70ab3970dd4cc INFO[14-11-2022 10:19:35 NACHMITTAGS] machine '9c70ab3970dd4cc' validated successfully
Und wir überprüfen erneut 'sudo cscli machines list':
--------------------------------------------------------------------------------------------------------- NAME IP-ADRESSE STATUS DER LETZTEN AKTUALISIERUNG VERSION AUTH-TYP LETZTER HEARTBEAT --------------------------------------------------------------------------------------------------------- B91D17C64C4E4A 192.168.x.xxx 14.11.2022T22:19:00Z ✔️ v1.4.1-debian password 40s 9c70ab3970dd4cc 192.168.x.xxx 2022-11-14T22:19:35Z-Passwort ✔️ 5s ---------------------------------------------------------------------------------------------------------
Vergessen Sie nicht, Crowdsec in jedem Agenten aufzuladen, sobald wir es validiert haben, mit:
sudo systemctl restart crowdsec
Schutzmaßnahmen,
Jetzt, zur Abschwächung, um Maßnahmen zu ergreifen, die es uns ermöglichen, das Risiko einer Anfälligkeit für bestimmte Bedrohungen zu verringern, Wir müssen die Türsteher benutzen. Erste, Vom API-Server aus erstellen wir die Token, die die Agent-Türsteher benötigen. Wir werden es mit jedem Türsteher tun, den wir in jedem Agenten brauchen, Beispiel 'sudo cscli bouncers add OS-JITSI-05-Fw’
Api key for 'OS-JITSI-05-fw': xxxxxxxxxxxxx Bitte bewahren Sie diesen Schlüssel auf, da Sie ihn nicht abrufen können!
In jedem Crowdsec-Agenten müssen wir den Bouncer installieren, den wir benötigen, In diesem Fall werden wir uns auf Firewall-artige Türsteher verlassen, für jedes Betriebssystem, Es gibt einen kompatiblen Türsteher: Windows-Firewall, iptables, Unbekannt, ipset, Pf… Wenn wir iptables haben:
sudo apt install crowdsec-firewall-bouncer-iptables -y
Und wir bearbeiten die Konfigurationsdatei für den Firewall-Bouncer ‘ /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml’ Angabe der IP-Adresse unseres LAPI-Servers und des Tokens, das wir gerade dafür generiert haben:
... api_url: HTTP (Englisch)://192.168.2.10:8080/ api_key: xxxxxxxxxxxx ...
Wir starten den Firewall-Bouncer-Dienst neu:
sudo SystemCTL Neustart CrowdSEC-Firewall-Bouncer sudo SystemCTL Status CrowdSEC-Firewall-Bouncer
Und das ist es! Diese Maschine wird fertig sein, Sie können Einträge zur OS-Firewall hinzufügen, indem Sie den Zugriff auf bestimmte IP-Adressen verweigern, die Ihnen vom API-Server mitgeteilt wurden.
Podremos desde el servidor LAPI verificar el estado de los bouncers con 'sudo cscli bouncers list':
----------------------------------------------------------------------------------------------------------------------- NAME IP-ADRESSE GÜLTIG LETZTE API PULL-TYP VERSION AUTHENTIFIZIERUNGSTYP ----------------------------------------------------------------------------------------------------------------------- OS-JITSI-05-fw 192.168.x.xxx ✔️ 2023-02-02T16:40:16Z crowdsec-firewall-bouncer v0.0.24-debian api-key OS-ELK-03-fw 192.168.x.xxx ✔️ 2023-02-02T16:40:11Z crowdsec-firewall-bouncer v0.0.24-debian api-key OS-GRA-04-fw 192.168.x.xxx ✔️ 2023-02-02T16:40:11Z crowdsec-firewall-bouncer v0.0.24-debian api-key OS-NGINX-01-fw 192.168.x.xxx ✔️ 2023-02-02T16:40:10Z crowdsec-firewall-bouncer v0.0.24-debian api-key OS-NGINX-01-Spiegel 192.168.x.xxx 2023-02-02T16 ✔️:40:18Z crowdsec-blocklist-mirror v0.0.1-9-g86d6 api-key OS-OTRS-01-fw 192.168.x.xxx ✔️ 2023-02-02T16:40:16Z crowdsec-firewall-bouncer v0.0.24-debian api-key ... ------------------------------------------------------------------------------------------------------------------------
Und das ist es! Damit wird das Netz geschlossen! Alle unsere Crowdsec-Mitarbeiter in der Organisation werden über einen einzigen API-Server angesprochen, So sind alle gleichermaßen geschützt, Freigeben einer einzigen schwarzen IP-Adressliste, Blockieren der IPs von Angreifern in ihren jeweiligen FWs…
Umarmungen! Möge es SEHR gut 😉 gehen