Tecnico

SERIE SIEM WAZUH

Geoff Burke avatarGB
Geoff Burke · 13 minuti da leggere
Condividi:

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:

  1. 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.
  2. Il server riceve e decodifica i dati, preparandoli per l'analisi.
  3. Il motore di analisi applica regole per rilevare minacce o violazioni delle politiche. Vengono generati avvisi e arricchiti con dettagli pertinenti.
  4. Gli avvisi e gli eventi vengono inviati all'indicizzatore, dove vengono memorizzati e resi ricercabili.
  5. 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.

Rimani aggiornato

Inviando questo modulo, confermo di aver letto e accettato la Informativa sulla privacy.

Puoi annullare l'iscrizione in qualsiasi momento.