
Distribuzione centralizzata di Crowdsec
Come vola il tempo… sono passati due anni da quando abbiamo parlato per la prima volta di Crowdsec… Ho intenzione di fare alcuni documenti aggiornati sulle possibilità del suo dispiegamento, poiché è un prodotto molto interessante per proteggere le nostre organizzazioni dalle minacce e ci offre molte possibilità interessanti.
Nei post precedenti, forse più dettagliati, abbiamo già descritto le possibilità di Crowdsec, ma per fare una presentazione per chi non lo conosce, Si tratta di un software che può essere installato su diversi tipi di macchine, con sistema operativo Windows, Linux… E l'obiettivo è proteggere quella macchina (o la tua rete), Leggendo i log della macchina prenderai delle decisioni, come il ban dell'IP che è stato effettuato da un tentativo di attacco, o qualcuno si è convalidato male, and so on…
Ci sono diversi componenti, dispone di un agente che elabora i log della macchina, dei servizi che gestisce, come il visualizzatore eventi, di un IIS, Nginx, Apache, MariaDB, Sostituzione, Successivocloud, SMB, RDP… confronta i log con i diversi scenari e invia gli avvisi al servizio LAPI (API locale); che riceve gli avvisi e li trasforma in decisioni (in base alle protezioni che abbiamo predisposto). E poi abbiamo il buttafuori (o Componente di correzione), che consulta le decisioni del LAPI e le attua; Ad esempio il Firewall Bouncer, che creerà regole nel FW del sistema operativo negando l'accesso all'indirizzo IP che ha generato un attacco.
In linea di principio, anche se può sembrare il contrario, è molto semplice, tutti i componenti vengono installati insieme durante l'installazione dell'agente Crowdsec (o Motore). Quando Crowdsec è installato su Windows o Linux, rileverà i servizi che la macchina sta eseguendo, e quindi saranno già protetti, se è un Linux e ha (Per esempio) un Nginx leggerà ed elaborerà già i log del sistema operativo, così come quelli dello stesso Nginx, Ricerca di modelli che rilevino i tentativi di abuso da parte delle vulnerabilità, Scansioni, Accesso improprio… Inoltre, possono essere aggiunti altri tipi di collezioni’ per leggere altri tipi di log, nel caso in cui un Nextcloud venga eseguito in quel Nginx, e vogliamo che Crowdsec elabori anche i log di Nextcloud…
Cosa ho detto, È semplice, È nuovo se non lo sai, ma è molto ben pianificato, se lo installiamo su un server Windows, idem, rileverà se, ad esempio, abbiamo installato un IIS, o un SQL Server… e mentre installiamo l'agente Crowdsec, rileverà modelli nei registri del visualizzatore eventi per proteggerci. E quello che ho detto, se IIS esegue un particolare servizio, Beh, possiamo anche proteggerlo, che si tratti ad esempio di una Borsa (sia OWA che SMTP) essere in grado di leggere i propri log specifici.
Quello che ci sarebbe rimasto è essere in grado di applicare le azioni, che se legge qualcosa che non gli piace in un log, Agire. Per fare ciò,, di solito su Windows e Linux abbiamo bisogno di installare il firewall bouncer in un secondo momento, Come ho detto, in modo che questo componente di correzione possa creare una regola nel firewall del sistema operativo, Windows o Linux, Una regola temporanea, di negazione, blocco dell'accesso dall'indirizzo IP attaccante.
Ecco come proteggiamo le nostre macchine Windows o Linux, ma non si parlano, e sarebbe interessante se potessero comunicare tra loro. Quindi questo passaggio è facoltativo, magari per piccoli ambienti, ma ovviamente totalmente consigliato per qualsiasi organizzazione. Possiamo facilmente creare un server Crowdsec in un contenitore Docker, Per aver detto, questo server condividerà un database centralizzato con tutte le decisioni tramite LAPI, Per cosa? Nel caso in cui siamo interessati a quello se una macchina riceve un attacco, il resto delle macchine Crowdsec lo scopre e compie un'azione, tuttavia per proteggere e vietare un particolare indirizzo IP, Tutto in una volta. E un altro dei meravigliosi contenitori che distribuiremo è il mirror della blocklist di Crowdsec, Pura magia, questo contenitore pubblicherà in un URL la blacklist che tutte le macchine Crowdsec condividono. Per cosa? Per potervi accedere dai nostri firewall interni o perimetrali come Fortigate, Posto di blocco, pfSense… e stabilire regole di negazione, Tra reti, dalla WAN… e isolare direttamente gli aggressori a un altro livello.
Bene, Dopo questo sproloquio, E già essendo la brace, Il documento di oggi si basa su come dispiegare quest'ultima parte di cui abbiamo parlato, Implementeremo l'infrastruttura di base, andremo a distribuire questi container e in altri documenti vedremo come installare Crowdsec su un Windows e proteggerlo, centralizzato o meno; così come un Linux.
Distribuzione Crowdsec per ambienti multi-server
Mkdir Crowdsec CD Crowdsec
Iniziamo ad esempio su un server Ubuntu, con il suo FQDN, un indirizzo IP statico, con NTP correttamente configurato, aggiornato e con Docker installato. Vediamo quanto velocemente si dispiegano questi due contenitori. Creiamo una directory, Camminato, e si parte. Creeremo il file docker-compose.yml con il seguente contenuto:
Versione: '3' services: folla: immagine: Riavvio di CrowdSecurity/Crowdsec: Porte sempre: - '8080:8080' - '6060:6060' volumes: - ./crowdsec-db:/var/lib/crowdsec/data/ - ./crowdsec-config:/ecc/crowdsec/ crowdsec-blocklist-mirror: container_name: crowdsec-blocklist-immagine speculare: crowdsecurity/blocklist-mirror depends_on: - "folla" Porte: - 41412:41412 Volumi: - ./cfg.yaml:/volumi etc/crowdsec/bouncers/crowdsec-blocklist-mirror.yaml: crowdsec-db: crowdsec-config:
Cosa ho detto, distribuirà due container, un Crowdsec che agirà in linea di principio come server LAPI nel 8080 e nel 6060 Se interessato, sputerà fuori le metriche, Sulla porta 41412TCP avremo il contenitore che pubblica la blocklist, Uno specchio.
Scarichiamo e avviamo i container con:
sudo docker compose up -d
La prima volta, il contenitore Blocklist-Mirror non verrà sollevato perché ha bisogno di accedere con la sua chiave API, Così abbiamo creato il primo buttafuori, per le liste bloccate:
sudo docker exec -it crowdsec-crowdsec-1 cscli buttafuori aggiungere BlocklistMirror
Non male, arrestare il contenitore Crowdsec ed eliminare il file di configurazione per ricrearlo di seguito.
Sudo Docker Stop CrowdSEC-CrowdSEC-1 RM -rf cfg.yaml/
E creiamo con 'nano cfg.yaml’ il file di configurazione, Che deve essere qualcosa del genere, tieni presente che devi indicare la chiave API che abbiamo richiesto a Crowdsec e indicare l'indirizzo IP con il quale pubblicheremo il servizio LAPI. Così come nella Blocklist aggiungere l'indirizzo IP che si connetterà e avrà accesso all'URL della blocklist, Ad esempio il nostro firewall perimetrale.
config_version: v1.0 crowdsec_config:
lapi_key: xxxxxxxxxxxxxxx lapi_url: Protocollo HTTP://DIRECCION_IP_MAQUINA:8080
update_frequency: 10include_scenarios_containing: []
exclude_scenarios_containing: []
only_include_decisions_from: []
insecure_skip_verify: false blocklist:
- formato: plain_text # I formati supportati sono uno dei seguenti "plain_text"
Endpoint: /Sicurezza/Autenticazione della blocklist:
digitare: nessuno # I tipi supportati sono uno dei seguenti "nessuno", "ip_based", "Basico"
utente:
parola d’ordine:
trusted_ips: # Intervalli IP, or IPs which don't require auth to access this blocklist
- 127.0.0.1
- ::1
- 192.168.1.1
listen_uri: 0.0.0.0:41412
TLS:
cert_file:
key_file:
Metriche:
Abilitato: vero punto finale: /Metriche log_media: stdout log_level: Informazioni
Saremo in grado di avviare nuovamente il contenitore Crowdsec e finalmente il contenitore Blocklist-Mirror, Corsa:
sudo Docker avvia CrowdSEC-CrowdSEC-1 sudo Docker riavvia CrowdSEC-Blocklist-Mirror
Verifichiamo che possiamo accedere all'URL della blocklist da: Protocollo HTTP://DIRECCION_IP_MAQUINA:41412/Sicurezza/Elenco bloccati
Registrazione alla console CrowdSec
Si consiglia vivamente di registrarsi all'indirizzo https://app.crowdsec.net e registrati nel nostro account Crowdsec Console. Da qui saremo in grado di visualizzare lo stato dei nostri agenti Crowdsec o del motore, Potremmo iscriverli ad altre liste nere nella comunità, Gestire gli avvisi, Storico… Per registrare il nostro Crowdsec, Lo faremo dal web, “Motore di sicurezza” > “Motori” > “Aggiungi motore di sicurezza”, otterremo un menu a discesa che copieremo ed eseguiremo sul nostro server Crowdsec (per chiamarlo in qualche modo).
E noi lo eseguiamo, in questo caso modifichiamo un po' il comando poiché lo eseguiremo tramite Docker:
Sudo Docker exec -it crowdsec-crowdsec-1 cscli console enroll -e context xxxxxxxxxxxxxxx
Torna alla console Crowdsec (E se non lo vediamo, F5), Scopriremo che ha rilevato la nostra richiesta di registrazione, Clicca su “Iscriviti”,
Una volta che lo abbiamo in magazzino, Possiamo prima modificare il nome per riconoscerlo meglio, Chi è “Modifica nome o tag”,
Gli diamo il nome della sua macchina e clicchiamo su “Aggiornare”,
Possiamo continuare se vogliamo iscriverlo a determinate Blocklist offerte da Crowdsec, La Comunità… In questo modo la macchina sarà protetta da alcune botnet, Cattivo… per questo, Clicca su “Elenco bloccati” dove vediamo che è sottoscritto 0,
Clicca su “Sfoglia le blocklist disponibili”,
E qui troveremo una serie di elenchi, possiamo scegliere fino a 3 gratuitamente con l'account di tipo Community, Possiamo scegliere il tipo di liste, quelli che ci convincono di più, Bisogno… su ciascuno di essi, Noi daremo “Amministrare”,
E in “Aggiungi motore di sicurezza”,
Qui vedremo le macchine che hanno installato l'agente Crowdsec, Seleziona la macchina da sottoscrivere e il tipo di azione, se un ban all'IP o richiedere un Captcha al momento dell'accesso. “Conferma l'iscrizione”.
In linea di principio, lasceremo qui il documento, Possiamo dire che lo scenario centrale è stato minimamente lasciato, la macchina che offrirà i servizi LAPI per il resto dei motori di Crowdsec o la blacklist dei nostri firewall perimetrali. I prossimi passi saranno quelli di distribuire gli agenti Crowdsec dove ne abbiamo bisogno, E se siamo interessati, perché li integriamo in questa struttura e quindi possono prendere decisioni comuni tra loro.
Spero che possa portarti qualcosa, chiarire se qualcuno aveva dubbi o non lo conosceva, oppure vuoi implementarlo in un LAB e provare soluzioni come queste, Facile, Semplice, per tutta la famiglia. E che forniamo sicurezza e anticipiamo le paure… Bene, questo, No? Sai, Diventerò un vampiro, Spero che vada MOLTO bene per te, Abbracci!