SERIE SIEM WAZUH
Nell'ultima edizione della serie SIEM, abbiamo discusso di EFK (Elasticsearch, Fluentd e Kibana), che includeva una panoramica generale dello stack tecnologico prima di immergerci in una pratica pratica. Come promemoria, questa serie di blog non è destinata a sostituire la formazione del corso, ma piuttosto a introdurre il pubblico a ciò che comporta il SIEM e spiegare come funziona a un livello base. Inoltre, volevo anche aiutare gli utenti a creare ambienti sandbox facili dove possono esercitarsi mentre apprendono.
Che cos'è Wazuh?
Wazuh è una piattaforma SIEM (Security Information and Event Management) e XDR (Extended Detection and Response) open source completa. È stata creata come un fork di Ossec nel 2015 ed era destinata a modernizzare e ampliare le capacità di quest'ultimo. Il suo obiettivo è diventare una soluzione unificata di monitoraggio della sicurezza.
Ha cercato di affrontare alcune delle complessità che abbiamo visto in ELK e rendere più facile la creazione del proprio sistema di monitoraggio.
Componenti principali di Wazuh
Wazuh è una potente piattaforma di sicurezza open source che integra rilevamento delle minacce, monitoraggio dell'integrità, risposta agli incidenti e gestione della conformità. La sua architettura è modulare e comprende diversi componenti chiave:
- Wazuh Agent: Installato sui punti finali (server, VM, contenitori), l'agente raccoglie dati di sicurezza come log, modifiche all'integrità dei file e inventario di sistema. Wazuh supporta anche il monitoraggio senza agente tramite Syslog, SSH o API per dispositivi come firewall e router.
- Wazuh Server: L'unità centrale di elaborazione della piattaforma. Riceve dati dagli agenti o da fonti esterne, li decodifica, applica regole e genera avvisi. Gestisce anche le configurazioni degli agenti e orchestra la comunicazione attraverso la piattaforma.
- Analysis Engine: Un sottosistema all'interno del Wazuh Server che applica regole di rilevamento, correla eventi e identifica minacce. Arricchisce gli eventi con metadati come ID delle regole e livelli di gravità.
- Wazuh Indexer: Costruito su OpenSearch, questo componente memorizza e indicizza avvisi ed eventi. Consente ricerche rapide, filtraggio e analisi su grandi set di dati. Filebeat viene utilizzato per inoltrare in modo sicuro i dati dal server all'indicizzatore.
- Wazuh Dashboard: Un'interfaccia web per visualizzare avvisi, gestire agenti e interagire con la piattaforma. Comunica con il Wazuh Server tramite un'API RESTful e supporta il monitoraggio in tempo reale, la ricerca di minacce e la reportistica di conformità.
Wazuh può essere distribuito come architettura a nodo singolo o multi-nodo a seconda delle esigenze di scalabilità e prestazioni.
Come funziona Wazuh: una panoramica passo-passo
Il processo può essere riassunto nei seguenti passaggi:
- Wazuh raccoglie dati dai punti finali utilizzando agenti. Questo include log, attività di sistema e modifiche ai file. Per i sistemi senza agenti, i dati possono essere raccolti tramite Syslog, SSH o API.
- Il server riceve e decodifica i dati, preparandoli per l'analisi.
- Il motore di analisi applica regole per rilevare minacce o violazioni delle politiche. Vengono generati avvisi e arricchiti con dettagli pertinenti.
- Gli avvisi e gli eventi vengono inviati all'indicizzatore, dove vengono memorizzati e resi ricercabili.
- Il dashboard consente agli utenti di visualizzare avvisi, monitorare sistemi e gestire configurazioni tramite un'interfaccia web.
Come abbiamo trattato in precedenza in questa serie, i messaggi syslog grezzi non sono ideali per costruire dashboard o attivare avvisi. Per renderli utili, dobbiamo scomporli in dati strutturati e leggibili. In termini semplici, creare chiari coppie chiave-valore è essenziale, specialmente quando si lavora con strumenti di visualizzazione come Kibana o il Wazuh Dashboard.
Parsing e ulteriore parsing
Logstash e Fluentd sono motori di elaborazione log di uso generale e sono progettati per la flessibilità. Tuttavia, spesso la flessibilità richiede complessità. Durante il nostro esempio di parsing grok è stato evidente che questa è un'abilità acquisita e richiede tempo e impegno per acquisire competenza.
Wazuh ha scelto un percorso leggermente diverso e utilizza due fasi per elaborare i log. La prima fase sfrutta i decodificatori mentre la seconda utilizza le regole. Wazuh cerca di semplificare il parsing dei log per scopi di sicurezza sfruttando decodificatori e regolamenti con parser di sicurezza integrati.
In poche parole, ecco come possiamo confrontare ciò che abbiamo visto con Logstash/Fluentd con i Decodificatori e le Regole di Wazuh:
Aspetto | Logstash/Fluentd | Decodificatori e Regole Wazuh |
Scopo | Elaborazione log generica | Analisi degli eventi di sicurezza |
Capacità out-of-box | Pipeline vuota | Oltre 3.000 regole di sicurezza pronte |
Contesto di sicurezza | Implementazione manuale | Intelligence sulle minacce integrata |
Estrazione dei campi | Modelli grok generici | Decodificatori consapevoli della sicurezza |
Correlazione | Configurazione manuale | Correlazione automatica degli eventi |
Mappatura della conformità | Sviluppo personalizzato | Pre-mappato a framework |
Rilevamento delle minacce | Costruito da zero | Rilevamento immediato delle minacce |
Tempo per il valore di sicurezza | Settimane/mesi | Ore/giorni |
Tutorial Sandbox
Proprio come nei nostri post precedenti in questa serie SIEM, siamo tutti per l'apprendimento pratico. In questo esercizio, lavoreremo con una macchina virtuale Ubuntu per installare Wazuh direttamente sul sistema operativo—niente Docker questa volta. Per la nostra configurazione del laboratorio di test, Wazuh offre uno script di installazione conveniente che rende il processo rapido e semplice.
Si prega di utilizzare questo link per la sezione tutorial:
https://documentation.wazuh.com/current/quickstart.html
Installazione Wazuh Nodo Singolo
1. Esegui lo script qui sotto:
curl -sO https://packages.wazuh.com/4.12/wazuh-install.sh && sudo bash ./wazuh-install.sh -acurl -sO https://packages.wazuh.com/4.12/wazuh-install.sh
2. Quando lo script termina, annota la password di amministratore.
3. A questo punto, dovresti essere in grado di aprire un browser e navigare all'indirizzo IP o al nome DNS della tua VM Wazuh. Se tutto è configurato correttamente, il dashboard di Wazuh si caricherà, dandoti accesso al tuo ambiente SIEM.
Per riferimento, ecco cosa ho usato: https://wazuh02
4. Accedi utilizzando il nome utente admin e la password che è apparsa nel tuo terminale dopo aver completato lo script di installazione. Una volta effettuato l'accesso, Wazuh presenterà un dashboard ricco di opzioni da esplorare.
Impostazione di Decodificatori e Regole per l'Integrazione Syslog di Ootbi
Abbiamo creato un repository GitHub con decodificatori e regole semplici su misura per l'inoltro syslog di Object First’s Ootbi (Out-of-the-Box Immutability). Puoi scaricarli utilizzando:
https://github.com/object1st/wazuh-examples.git
Nessun Ootbi ancora? Nessun problema. Simuleremo messaggi syslog per dimostrare come Wazuh li elabora.
Posizionamento dei File
Invece di modificare i file default local_decoder.xml e local_rules.xml, ti consigliamo di creare file separati per una migliore organizzazione, specialmente se prevedi di gestire più tipi di eventi.
Copia i seguenti file:
1. Dalla cartella dei decodificatori:
- honeypot_application_decoders.xml
- ootbi_working_decoders.xml files
Posizionali in: /var/ossec/etc/decoders/
2. Dalla cartella delle regole:
- honeypot_application_rules.xml
- ootbi_final_rules.xml files
Posizionali in: /var/ossec/etc/rules/
Configurare Wazuh per Ricevere Messaggi Syslog
1. Assicurati che Wazuh stia ascoltando le connessioni syslog in arrivo aggiungendo la seguente sezione a
/var/ossec/etc/ossec.conf file under </ossec_config>
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>udp</protocol>
<allowed-ips>192.168.0.0/24</allowed-ips>
<allowed-ips>127.0.0.1</allowed-ips>
</remote>
2. Aggiorna allowed-ips per corrispondere alla tua subnet.
3. Riavvia il servizio manager di Wazuh:
systemctl restart wazuh-manager
4. Verifica che la porta stia ascoltando:
Ss -tunlp
Invio di Messaggi Syslog di Test
Puoi inviare messaggi di test a Wazuh utilizzando netcat:
echo '<14>Aug 26 19:00:00 ootbisiem OOTBI [ootbi_event@61062 Node="ootbisiem" Source="Disks" EventId="1039"] The RAID array "md0" is missing.' | nc -q0 localhost 514
echo ‘<12>1 0001-01-01T00:00:00.000000+00:00 ootbi-node1 OOTBI - - [ootbi_event@61062 Node="ootbi-node1" NodeId="A410B7E9-FF68-4ADF-B570-A964C6F45D98" DateTime="01/01/0001 00:00:00 UTC" Source="S3" EventId="6207" ProductVersion="1.7.67.10970" EDataVersion="1"] '{}' smart entity is in '{}' unconfirmed state’ | nc -q0 localhost 514
Visualizzazione degli eventi nel dashboard di Wazuh
Nel dashboard di Wazuh, apri il menu in alto a sinistra e clicca su “Esplora” poi “Scopri.”
Ora dovresti vedere i messaggi syslog che hai inviato.
Importazione del Dashboard Ootbi
1. Vai alla gestione del dashboard dal menu in alto a sinistra.
2. Sotto “Oggetti salvati,” clicca su “Importa.”
3. Carica il file export.ndjson dal tuo desktop.
4. Una volta importato, clicca su “Esplora” poi “Dashboard.”
5. Successivamente, clicca sul “Dashboard Ootbi.” Vedrai gli eventi che hai inviato in precedenza visualizzati.
Testare la funzionalità Honeypot
Poiché Wazuh funge da SIEM, questa è una grande opportunità per testare la nuova funzionalità Honeypot di Ootbi.
1. Per iniziare, indirizza il tuo forwarding syslog Ootbi all'installazione di Wazuh.
2. Poi, invia un messaggio di test per confermare la ricezione.
3. Se il tuo Honeypot è in esecuzione su un IP statico (il mio, ad esempio, è 192.168.0.44), scansiona utilizzando Zenmap.
5. Dovresti vedere eventi accendersi nel dashboard Ootbi e voci corrispondenti nel tuo dashboard SIEM di Wazuh.
6. Ora controlliamo il nostro SIEM:
Considerazioni finali sulla configurazione e integrazione di Wazuh
Questo blog ha servito come introduzione pratica a Wazuh, una piattaforma SIEM e XDR open-source progettata per semplificare il monitoraggio della sicurezza e la rilevazione delle minacce. Abbiamo esplorato la sua architettura modulare—coprendo agenti, server, motore di analisi, indicizzatore e dashboard—e abbiamo eseguito un'installazione su nodo singolo su Ubuntu utilizzando lo script di configurazione semplificato di Wazuh. Da lì, abbiamo dimostrato come configurare decodificatori e regole per l'integrazione syslog, simulare eventi e visualizzarli nel dashboard di Wazuh.
Abbiamo anche mostrato come importare un dashboard personalizzato e testare la funzionalità Honeypot di Ootbi, dando ai lettori uno sguardo pratico su come Wazuh può essere utilizzato in scenari reali. Che tu sia nuovo agli strumenti SIEM o stia cercando un'alternativa più focalizzata sulla sicurezza ai tradizionali processori di log, Wazuh offre una soluzione potente e accessibile. Per ulteriori esplorazioni, ti consiglio vivamente di controllare la documentazione ufficiale di Wazuh.