Introduzione
La correlazione dei log è diventata una componente critica nella moderna difesa cibernetica. In un ambiente di rete complesso, dove le minacce possono manifestarsi attraverso molteplici vettori, la capacità di aggregare, normalizzare e correlare eventi da diverse fonti è essenziale per rilevare attacchi sofisticati e ridurre i falsi positivi. Wazuh, una soluzione open-source per la sicurezza, offre potenti funzionalità di correlazione dei log che possono essere integrate con vari strumenti di rete per creare un sistema di rilevamento e risposta completo.
Fondamenti della Correlazione dei Log
La correlazione dei log permette di identificare modelli e relazioni tra eventi apparentemente scollegati, rivelando attività malevole che potrebbero passare inosservate se analizzate isolatamente. Alcuni benefici chiave includono:
- Rilevamento di minacce avanzate: Identificazione di attacchi multi-fase
- Riduzione dei falsi positivi: Conferma delle minacce attraverso eventi correlati
- Visibilità completa: Comprensione olistica dello stato di sicurezza
- Accelerazione delle indagini: Riduzione dei tempi di analisi e risposta
Architettura di Wazuh per la Correlazione dei Log
Wazuh funziona come un sistema SIEM (Security Information and Event Management) in grado di raccogliere, decodificare e analizzare dati da diverse fonti. La sua architettura si basa su:
- Wazuh Manager: Il componente centrale che riceve e analizza i dati
- Wazuh Agents: Installati sui dispositivi endpoint per raccogliere dati locali
- Elastic Stack: Per l’archiviazione, l’indicizzazione e la visualizzazione dei dati
Integrazione con Strumenti di Rete
Suricata IDS
Suricata è un potente motore IDS/IPS open-source che può essere integrato con Wazuh per aumentare significativamente le capacità di rilevamento.
Configurazione dell’integrazione:
- Installazione di Suricata:
sudo apt-get install suricata
- Configurazione dell’output di Suricata in formato JSON:
Modifica/etc/suricata/suricata.yaml:
outputs:
- eve-log:
enabled: yes
filetype: regular
filename: /var/log/suricata/eve.json
types:
- alert
- Configurazione di Wazuh per leggere gli alert di Suricata:
Aggiungi al file di configurazione di Wazuh (/var/ossec/etc/ossec.conf):
<ossec_config>
<localfile>
<log_format>json</log_format>
<location>/var/log/suricata/eve.json</location>
</localfile>
</ossec_config>
- Creazione di regole di correlazione personalizzate:
Aggiungi un file di regole personalizzato in/var/ossec/etc/rules/suricata_correlation_rules.xml:
<group name="suricata,correlation,">
<rule id="100001" level="10">
<if_sid>86601</if_sid>
<field name="alert.signature">SQL Injection</field>
<description>Possible SQL injection attack detected</description>
</rule>
<rule id="100002" level="12">
<if_sid>100001</if_sid>
<if_group>authentication_success</if_group>
<same_source_ip />
<description>SQL injection followed by successful authentication</description>
</rule>
</group>
Firewall (pfSense/OPNsense)
Integrare i log del firewall permette di correlare gli eventi di accesso alla rete con altre attività di sicurezza.
Configurazione dell’integrazione:
- Configurazione di pfSense per inviare log a Syslog:
- Accedi all’interfaccia web di pfSense
- Vai a Status > System Logs > Settings
- Abilita “Enable Remote Logging”
- Aggiungi l’indirizzo IP del server Wazuh
- Configurazione di Wazuh per ricevere log Syslog:
Modifica/var/ossec/etc/ossec.conf:
<ossec_config>
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>udp</protocol>
</remote>
</ossec_config>
- Regole di correlazione per il firewall:
<rule id="100101" level="10">
<if_sid>4100</if_sid> <!-- pfSense block rule -->
<field name="action">block</field>
<description>Blocked connection attempt</description>
</rule>
<rule id="100102" level="12">
<if_sid>100101</if_sid>
<if_matched_sid>100001</if_matched_sid> <!-- SQL injection rule -->
<same_source_ip />
<timeframe>300</timeframe>
<description>SQL injection attempt after blocked connection</description>
</rule>
XDR (Endpoint Detection and Response)
Integrazione con soluzioni XDR per correlare gli eventi a livello di endpoint con altre attività di rete.
Configurazione dell’integrazione:
- Installare l’agente Wazuh su endpoint con XDR:
curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.3.10-1_amd64.deb && sudo dpkg -i wazuh-agent.deb
- Configurare Wazuh per raccogliere log dalla soluzione XDR:
Se l’XDR genera log in formato JSON:
<ossec_config>
<localfile>
<log_format>json</log_format>
<location>/var/log/xdr/alerts.json</location>
</localfile>
</ossec_config>
- Regole di correlazione per XDR:
<rule id="100201" level="10">
<decoded_as>json</decoded_as>
<field name="source">xdr</field>
<field name="alert_type">malware_detected</field>
<description>XDR detected potential malware</description>
</rule>
<rule id="100202" level="14">
<if_sid>100201</if_sid>
<if_matched_sid>100001</if_matched_sid> <!-- SQL injection rule -->
<same_source_ip />
<timeframe>600</timeframe>
<description>Possible coordinated attack: SQL injection and malware detected</description>
</rule>
Router e Switch (Cisco)
Integrare i log dai dispositivi di rete è cruciale per avere una visione completa della sicurezza.
Configurazione dell’integrazione:
- Configurazione del router Cisco per inviare log a Syslog:
router# configure terminal
router(config)# logging host 192.168.1.100
router(config)# logging trap notifications
router(config)# logging facility local7
router(config)# end
- Configurazione di Wazuh per ricevere log Syslog:
Modifica/var/ossec/etc/ossec.conf(come già mostrato per i firewall) - Regole di correlazione per router:
<rule id="100301" level="8">
<if_sid>4000</if_sid> <!-- Cisco router alerts -->
<match>SECURITY-6-IPACCESSLOGP</match>
<description>Cisco router access denied</description>
</rule>
<rule id="100302" level="12">
<if_sid>100301</if_sid>
<if_matched_sid>100101</if_matched_sid> <!-- Firewall block rule -->
<same_source_ip />
<timeframe>120</timeframe>
<description>Potential network scan: Multiple access denied events</description>
</rule>
Wireless Access Points
Monitorare gli AP wireless può aiutare a rilevare attacchi come il rogue access point o tentativi di brute force.
Configurazione dell’integrazione:
- Configurazione degli AP per inviare log a Syslog:
La configurazione dipende dal fornitore, ma in generale simile a quella dei router. - Regole di correlazione per AP wireless:
<rule id="100401" level="8">
<if_sid>4000</if_sid>
<match>authentication failed</match>
<description>Failed authentication on wireless AP</description>
</rule>
<rule id="100402" level="12">
<if_sid>100401</if_sid>
<same_source_ip />
<timeframe>60</timeframe>
<frequency>5</frequency>
<description>Potential brute force attack on wireless AP</description>
</rule>
Creazione di Dashboard di Correlazione
Wazuh integrato con Kibana permette di creare dashboard personalizzate per visualizzare e analizzare i dati correlati.
Esempio di dashboard per correlazione Suricata-Firewall:
- Creazione di una visualizzazione di eventi correlati:
- Accedi a Kibana
- Vai a Visualize > Create new visualization
- Seleziona “Pie chart”
- Filtra per
rule.groups:correlation - Dividi per
rule.description
- Creazione di una timeline degli eventi correlati:
- Seleziona “Vertical bar chart”
- Filtra per
rule.level:>=10 - Dividi per timestamp (intervallo di un’ora)
- Suddividi per
rule.description
Implementazione di Regole di Correlazione Avanzate
Correlazione basata su pattern di comportamento
<rule id="100501" level="14">
<if_matched_sid>100001</if_matched_sid> <!-- SQL injection -->
<if_matched_sid>100201</if_matched_sid> <!-- Malware XDR -->
<if_matched_sid>100301</if_matched_sid> <!-- Router access denied -->
<timeframe>1800</timeframe>
<same_source_ip />
<description>Potential APT attack: Multiple security events from same source</description>
</rule>
Correlazione basata sul contesto
<rule id="100502" level="15">
<if_sid>100001</if_sid> <!-- SQL injection -->
<field name="srcip">^10\.0\.0\.</field> <!-- Internal network -->
<description>Internal SQL injection attempt: Possible compromised host</description>
</rule>
Correlazione temporale
<rule id="100503" level="13">
<if_matched_sid>100101</if_matched_sid> <!-- Firewall block -->
<if_matched_sid>100401</if_matched_sid> <!-- Wireless auth failed -->
<timeframe>300</timeframe>
<same_source_ip />
<description>Potential lateral movement: Network and wireless attacks</description>
</rule>
Risposta Automatizzata agli Eventi Correlati
Wazuh supporta la risposta automatica agli eventi correlati tramite il suo sistema Active Response.
Configurazione di Active Response per bloccare IP sospetti:
- Definizione dei comandi:
<command>
<name>block-ip</name>
<executable>firewall-drop.sh</executable>
<expect>srcip</expect>
<timeout_allowed>yes</timeout_allowed>
</command>
- Configurazione delle risposte attive:
<active-response>
<command>block-ip</command>
<location>server</location>
<rules_id>100502,100503</rules_id> <!-- High-level correlation rules -->
<timeout>600</timeout>
</active-response>
Ottimizzazione delle Performance
Per gestire grandi volumi di dati, è importante ottimizzare le performance del sistema:
- Indicizzazione efficiente:
- Usa hot/warm/cold architecture in Elasticsearch
- Ottimizza la mappatura dei campi
- Filtraggio dei log:
- Configura i filtri per eliminare eventi non necessari
- Usa
<if_sid>nelle regole per ridurre il carico di elaborazione
- Scalabilità:
- Implementa un cluster Wazuh per distribuire il carico
- Usa più nodi Elasticsearch per gestire volumi elevati di dati
Casi di Studio
Caso 1: Rilevamento di un Attacco Multi-fase
Un attacco inizia con un tentativo di SQL injection rilevato da Suricata, seguito da un accesso anomalo rilevato dall’XDR e termina con l’esecuzione di un processo sospetto. Grazie alle regole di correlazione, il sistema è in grado di collegare questi eventi e generare un unico alert di alto livello.
Caso 2: Riduzione dei Falsi Positivi
Un falso positivo generato da Suricata viene automaticamente declassato poiché non ci sono eventi correlati da altre fonti nel periodo di osservazione specificato.
Conclusione
La correlazione dei log con Wazuh rappresenta un potente strumento per migliorare la postura di sicurezza di un’organizzazione. Integrando diverse fonti di dati e creando regole di correlazione significative, è possibile ottenere una visione completa dello stato di sicurezza e rilevare minacce che altrimenti potrebbero passare inosservate.
L’efficacia di questo approccio dipende dalla qualità delle regole di correlazione e dalla capacità di adattarle alle specifiche esigenze dell’ambiente. È importante rivedere e perfezionare costantemente queste regole in base ai falsi positivi e ai nuovi vettori di attacco che emergono.
Risorse e Strumenti Utili
- Documentazione ufficiale di Wazuh
- Regole di correlazione predefinite di Wazuh
- Suricata User Guide
- Elastic Stack Documentation
- MITRE ATT&CK Framework per modellare le minacce e le regole di correlazione
Potrebbe interessarti anche
- Il Monitoraggio Continuo in Cybersecurity: SIEM, SOAR e Red Team come Pilastri della Sicurezza Moderna
- Cloud Security Posture Management: Metodologie per il Continuous Monitoring in Ambienti Multi-Cloud
- Prevedi e Previeni con la Threat Intelligence: Come Dognet Technologies ti Protegge dagli Attacchi Futuri




