Distribuzione di Crowdsec su una macchina Linux
Continuiamo con Crowdsec! abbiamo già visto nei documenti precedenti i concetti di base e come distribuirlo centralmente e anche in un Windows, quindi oggi vedremo i passaggi che dobbiamo seguire se vogliamo installare l'agente Crowdsec su un computer Linux per proteggerlo da minacce esterne.
Come potete immaginare, l'installazione dipenderà dalla distribuzione che usa la macchina, questo documento sarà basato sull'installazione di un Ubuntu Server, che ha, credo di ricordare, un Nginx che serve qualche pagina web. Quindi andiamo al sodo, habitualmente, si intende che lo faremo su un server Linux, che ha qualche servizio pubblicato e vogliamo proteggere; e non per questo deve necessariamente essere pubblicato su Internet. Inizieremo installando il Crowdsec Security Engine per te, che è l'agente che si occuperà di elaborare i suoi log, Prendi le tue decisioni… Quindi installeremo il buttafuori (o Componente di correzione) per il suo firewall di Linux, del tuo sistema operativo (iptables in questo caso), nel caso in cui siamo interessati ad agire e possiamo registrare le regole in esso, blocco dell'accesso temporaneo agli indirizzi IP dannosi. E finiremo per registrarlo nella console Crowdsec.
Con questo lo avremo quasi, dato che il post continuerà, sarà facoltativo, ma se hai intenzione di volere una gestione centralizzata, dovrai eseguire alcuni passaggi aggiuntivi; E questo è tutto, A tua scelta. Se hai bisogno, Devi leggere te stesso prima Il post precedente.
Questo post ha la seguente struttura:
- Installazione dell'agente Crowdsec
- Installazione del bouncer di Crowdsec Firewall iptables
- Registrazione di Crowdsec vs. Crowdsec Console
- Collezioni
- Lista bianca
- Notifiche
- Testarlo
- Registrazione di Crowdsec sul nostro server LAPI
- Registrazione del buttafuori Crowdsec sul nostro server LAPI
Installazione dell'agente Crowdsec
Cosa ho detto, questa installazione è basata su un Ubuntu Server, se hai un'altra distribuzione, échale un vistazo a la Sito ufficiale. Comenzamos instalando los repositorios oficiales de Crowdsec mediante:
ricciolo -s https://install.crowdsec.net | sudo sh
E instalamos Crowdsec, que como sabemos ya, detectará los servicios que podemos estar usando en la máquina y nos descargará también sus colecciones para protegerlos, Avviato:
sudo apt install crowdsec
Installazione del bouncer di Crowdsec Firewall iptables
Una vez instalado el agente de Crowdsec también sabemos que si no instalamos un bouncer no podremos realizar acciones en esta máquina, así que instalaremos este componente de remediación, en mi caso al ser Ubuntu uso iptables, así que procedemos a su instalación:
sudo apt install crowdsec-firewall-bouncer-iptables
Registrazione di Crowdsec vs. Crowdsec Console
Imagino que ya tendremos una cuenta en https://app.crowdsec.net sabemos que nos la podemos crear para gestionar desde una consola GUI de manera centralizada todos nuestros Crowdsec, Non richiesto, e abbiamo una versione Community con la quale puoi fare anche tante cose, Comprendente, per vedere gli avvisi delle macchine, Il tuo stato, Possiamo iscriverli a diverse blocklist…. Continuiamo ad aggiungere il nostro Crowdsec, l'installazione su questo Linux. Copiamo il comando che dobbiamo eseguire.
E l'abbiamo incollato su una console di sistema, Correre:
sudo cscli console enroll xxxxxxxxxxxxxxxxxx
Torniamo alla Crowdsec Console e accettiamo il rotolo,
Informazioni sul motore appena aggiunto, Modifichiamo il nome e ne metteremo uno che si riferisce a chi è,
Abitualmente, Indichiamo il nome della macchina, e noi diamo “Aggiornare”,
E se vogliamo, La prossima cosa può essere quella di aggiungere alcune blocklist, per questo, possiamo premere le sue “Blocklists”,
Se siamo già iscritti a una blocklist, possiamo selezionarlo da “Amministrare”
E clicca su “Aggiungi motore di sicurezza” Per aggiungere questo computer a questa blocklist,
Scegliamo un tipo di azione e confermiamo. Computer sottoscritto!
Ricorda che dopo aver registrato Crowdsec contro la Console è necessario riavviare il servizio di Crowdsec che abbiamo.
sudo systemctl restart crowdsec
Collezioni
Come sappiamo già. di default Crowdsec, quando viene installato su una macchina, esegue la scansione dei servizi che abbiamo installati e cerca di proteggerli, In questo caso, nel mio Linux mi ha solo rilevato quello del database, Cioè, quello del SO e quello di SSHd. Se avessi un Nginx, per esempio, mi avrebbe installato le sue collezioni, o per Grafana… per elencare le collezioni:
sudo cscli collection list
Saremo in grado di cercare altre collezioni in il tuo Hub, raccolte effettuate da loro o dalla collettività, che possono proteggere altri servizi di cui disponiamo, come se per esempio avessimo installato Nginx successivamente e volessimo la sua collezione, Eseguire:
cscli collections install crowdsecurity/nginx
Y deberíamos añadir en su fichero de adquisiciones ‘/etc/crowdsec/acquis.yaml’ El Contenido de Abajo, no os preocupéis que en el Hub viene detallado en cada caso qué hay que hacer, corregimos los paths de los logs de Nginx… y quedaría también el servicio protegido.
filenames: - /var/log/nginx/access.log - /var/log/nginx/error.log labels: digitare: nginx ---
Así como por ejemplo si este Nginx en este Ubuntu sirve Nextcloud, pues también le deberíamos meter su colección, y así integrar y evitar cualquier acceso indebido, leerá y tratará los logs de Nextcloud para luego tomar decisiones.
cscli collections install crowdsecurity/nextcloud
Y añadimos al fichero adquis.yaml lo siguiente (insisto esto lo tenéis documentado en el Hub):
filenames: - /var/log/nextcloud/nextcloud.log labels: digitare: Successivocloud --- Fonte: journalctl journalctl_filter: - "SYSLOG_IDENTIFIER=Nextcloud" Etichette: digitare: syslog ---
Ricordati di riavviare il servizio di Crowdsec quando hai effettuato delle modifiche sostanziali:
sudo systemctl restart crowdsec
Lista bianca
La lista bianca come già sappiamo ci servirà per escludere ad esempio un indirizzo IP affinché non venga bannato o bloccato da Crowdsec, di solito possono essere gli indirizzi IP di un checkpoint, Attrezzatura per il salto, and so on… Così come, tra le altre cose, potremo escludere anche i paesi, Per esempio.
Nome: Descrizione di Crowdsecurity/Whitelist: "Whitelist di eventi da indirizzi ipv4 privati"
Lista bianca:
ragione: "IP/intervalli IPv4/IPv6 privati"
IP:
- "127.0.0.1"
- "::1"
- "192.168.1.33"
Cidr:
#- "192.168.0.0/16"
#- "10.0.0.0/8"
- "172.16.0.0/12"
# espressione:
# - "'foo.com' in evt. Meta.source_ip.rovescio"
Il file lo troveremo in ‘/etc/crowdsec/hub/parsers/s02-enrich/crowdsecurity/whitelists.yaml’, e vedremo che possiamo semplicemente aggiungere qualsiasi IP o intervallo IP alla whitelist di esclusione.
Se vogliamo escludere paesi, Dobbiamo prima installare il parser GeoIP-Enrich che alimenterà i log con i dati di geolocalizzazione, come per esempio paesi, città o coordinate GPS:
I parser CSCLI installano CrowdSecurity/GeoIP-Enrich
E sarà sufficiente aggiungere la seguente espressione nel file della whitelist:
espressione: - evt. Enriched.IsoCode == 'ES'
Ricordarsi di riavviare il servizio Crowdsec per ricaricare queste modifiche.
sudo systemctl restart crowdsec
Notifiche
Notifiche: - slack_default - splunk_default - http_default - email_default
Potremo abilitare notifiche modificando il file ‘/etc/crowdsec/profiles.yaml’, dove possiamo decommentare e selezionare il tipo di notifica che ci interessa, Cosa possono essere per Splunk, su Slack, via e-mail, o con HTTP (ad esempio Telegram).
Se vogliamo, ad esempio, le notifiche via email, nella directory ‘/etc/crowdsec/notifications/’ modificheremmo il file YAML email.yaml (o slack.yaml o splunk.yaml o http.yaml), dove configureremo i parametri del nostro server di posta. Quelli di noi di Telegram l'hanno visto in un post Anziano.
Testarlo
Finiremo per provarci, no?? In caso contrario, come possiamo fidarci che funzioni? 🙂 Puoi fare gli esami di ammissione sbagliati che desideri, o convalidarlo con uno scanner di vulnerabilità, o siti web… In quel vecchio documento c'è un esempio con Nikto.
Puoi vedere le decisioni che la tua macchina ha preso con:
Elenco delle decisioni CSCLI
In questo caso hai bannato l'indirizzo IP 192.168.1.122 perché gli ho messo uno scanner di vulnerabilità da controllare e subito ha rilevato che stava tracciando cose che non deve…
O dal server LAPI se lo abbiamo registrato (Cosa viene dopo)
docker exec -it crowdsec-crowdsec-1 elenco delle decisioni cscli
Se abbiamo già implementato il Crowdsec Mirror, saremo in grado di verificare che l'indirizzo IP bannato appaia nell'URL in cui pubblichiamo la nostra blocklist http://DIRECCION_IP_CROWDSEC_MIRROR:41412/Sicurezza/Elenco bloccati
Se vogliamo bannare un indirizzo IP, Lo faremo con:
Le decisioni CSCLI aggiungono --ip DIRECCIÓN_IP --reason "Descrizione"
Se vogliamo sbloccare un indirizzo IP, Lo faremo con:
Le decisioni CSCLI cancellano --IP DIRECCIÓN_IP
Saremo in grado di indagare sugli avvisi che abbiamo avuto con:
Elenco avvisi CSCLI
Con il comando precedente li elenchiamo, e ora selezionando l'ID di un particolare avviso e saremo in grado di sapere quale file di registro lo ha generato, Cosa stavo facendo, Il percorso, Stato HTTP… in questo caso dell'immagine ce ne sono molti 404 al percorso /apps/files_sharing/publicpreview/
Avviso CSCLI Ispeziona ID_ALERTA [-d]
E, se ne abbiamo bisogno, creare il nostro file Whitelist per effettuare esclusioni in caso di falsi positivi, pej en '/etc/crowdsec/parsers/s02-enrich/whitelist-permite-pdfs.yaml, È possibile utilizzare queste espressioni di esempio per creare filtri di esclusione:
Nome: Crowdsecurity/MylistablancaPDF Descrizione: "Ignora PDF"
Lista bianca:
ragione: "ignorare i PDF"
espressione:
#- evt. Meta.http_path iniziaCon '/apps/files_sharing/publicpreview/'
#- evt. Meta.http_status == '404' && evt. Meta.http_path iniziaCon '/apps/files_sharing/publicpreview/'
- evt. Parsed.request contiene '/apps/files_sharing/publicpreview/'
Come al solito, senza dimenticare di riavviare il servizio Crowdsec ad ogni cambio di configurazione.
Registrazione di Crowdsec sul nostro server LAPI
API:
...
Server:
abilitare: Falso
...
Dobbiamo disabilitare il LAPI locale, modificando il file '/etc/crowdsec/config.yaml', aggiungiamo enable false.
Successivamente ci registriamo al server LAPI che abbiamo distribuito nella rete:
sudo cscli lapi register -u http://DIRECCION_IP_CROWDSEC_LAPI:8080 --NOMBRE_MAQUINA macchina
Nel server LAPI potremo vedere la richiesta di registrazione della macchina Linux, Elenchiamo con:
Sudo Docker Exec -it CrowdSEC-CrowdSEC-1 Elenco macchine CSCLI
Accettiamo la richiesta di registrazione e rimettiamo in vendita per confermare lo stato:
Sudo Docker exec -it CrowdSEC-CrowdSEC-1 CSCLI macchine convalidare NOMBRE_MAQUINA
Ora il nostro Crowdsec su Linux comunicherà e leggerà dal server LAPI qualsiasi decisione, quindi utilizzando il server centrale. Se il resto degli agenti di Crowdsec facesse lo stesso, Tutti avrebbero le stesse informazioni in comune, e quindi, quando una macchina sospetta che un IP sia dannoso, il resto degli agenti di Crowdsec lo saprà all'istante.
Ricorda sempre di riavviare Crowdsec dopo qualsiasi modifica:
sudo systemctl restart crowdsec
Registrazione del buttafuori Crowdsec sul nostro server LAPI
E per concludere, Dobbiamo anche registrare i buttafuori che abbiamo, in questo caso il bouncer del firewall di Ubuntu, per iptables; se vogliamo che quel buttafuori legga dal LAPI centrale, Dobbiamo seguire questi passaggi, Questo è quanto è stato detto, quando qualcuno o qualcosa aggiunge un IP al LAPI centrale, questo firewall del sistema operativo creerà una regola che nega l'accesso a detto IP dannoso.
Dal server LAPI, Possiamo prima se vogliamo elencare i buttafuori con cui ci siamo registrati:
Sudo Docker exec -it crowdsec-crowdsec-1 cscli bouncers list
E per attivare il bouncer del firewall di questo Ubuntu, Eseguire:
sudo docker exec -it crowdsec-crowdsec-1 cscli buttafuori aggiungere NOMBRE_MAQUINA-FW
Annotiamo la chiave API che ci ha dato,
... api_url: Protocollo HTTP://INDIRIZZO_LAPI_SERVER:8080 api_key: xxxxxxxxxxxxxxxxxxxxxxxx ...
Modifichiamo il file /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml e inseriamo l'IP del server LAPI, la sua porta e la chiave API che ci ha fornito il comando precedente. Salviamo il file e riavviamo il servizio del bouncer del firewall:
sudo systemctl restart crowdsec-firewall-bouncer
E già il FW del team Ubuntu sarà registrato, lo verifichiamo con:
Sudo Docker exec -it crowdsec-crowdsec-1 cscli bouncers list
Spero che tu l'abbia trovato interessante, volevo fare una guida di 3 documenti di base e con questo si chiude il discorso, abbiamo già imparato a installare Crowdsec su un sistema Linux, su un Windows, e abbiamo generato una gestione centralizzata dove tutti gli agenti comunicano tra loro e segnalano se c'è un attaccante, inoltre con liste pubblicate ai firewall perimetrali o interni in modo che possano bloccare anche loro e isolare qualsiasi possibile attaccante. Beh, il solito, inizia a fare tardi, controlla che ore sono… 😉 ¡que tengáis muy buena semana!





























































