Wazuh SIEM: Detecção de Ameaças e Compliance NIS2 para PME
Neste artigo
- Introdução — SIEM/XDR para PME
- Instalar Wazuh Server
- Agents em Linux/Windows
- Regras de Detecção e CVE
- Dashboards e Compliance NIS2
Introdução — SIEM/XDR para PME
A diretiva NIS2 exige que as PME portuguesas implementem medidas robustas de cibersegurança, incluindo monitorização contínua, registo de eventos e resposta a incidentes. Um SIEM (Security Information and Event Management) centraliza os logs de toda a infraestrutura, correlaciona eventos e gera alertas em tempo real. O Wazuh é uma plataforma open-source que combina SIEM e XDR, oferecendo deteção de ameaças, monitorização de integridade de ficheiros, auditoria de vulnerabilidades e compliance — sem custos de licenciamento.
Para uma PME com 10 a 50 máquinas, o Wazuh oferece um escrutínio equivalente a soluções comerciais como Splunk ou Microsoft Sentinel, mas com um custo total de propriedade significativamente menor. A arquitectura assenta em três componentes: o Wazuh Server (indexação e correlação), os Agents (coletores instalados em cada endpoint) e o Wazuh Dashboard (visualização e relatórios).
Porquê Wazuh para NIS2?
A NIS2 exige registo centralizado, deteção de anomalias e capacidade de resposta. O Wazuh cobre estes requisitos com regras de correlação pré-configuradas, integração MITRE ATT&CK e relatórios de compliance prontos para auditoria.
Instalar Wazuh Server
O Wazuh Server instala-se numa máquina Linux (Ubuntu 22.04/24.04 ou RHEL/AlmaLinux 9) com pelo menos 4 vCPU, 8 GB de RAM e 50 GB de disco. Para instalação rápida, usa-se o script oficial wazuh-install.sh que configura o indexer, server e dashboard num único host.
# Descarregar e executar o instalador
curl -sO https://packages.wazuh.com/4.10/wazuh-install.sh
sudo bash wazuh-install.sh --all-in-one
# O script configura:
# - Wazuh indexer (OpenSearch)
# - Wazuh server (análise e correlação)
# - Wazuh dashboard (Kibana-based UI)
# - Passwords auto-geradas em /etc/wazuh-install/wazuh-passwords.txt
Após a instalação (10 a 15 minutos), acede-se ao dashboard em https://[IP-SERVER]:443 com as credenciais geradas. O passo seguinte é alterar a password predefinida do utilizador admin e configurar certificados TLS para comunicação segura entre componentes.
# Alterar password do admin
sudo /usr/share/wazuh-indexer/bin/wazuh-indexer-security-admin.sh \
-cd /etc/wazuh-indexer/security/ \
-icl -nhnv -h 127.0.0.1
# Verificar estado dos serviços
sudo systemctl status wazuh-manager
sudo systemctl status wazuh-indexer
sudo systemctl status wazuh-dashboard
Requisitos de hardware
Para PME com até 100 endpoints: 8 GB RAM e 4 vCPU são suficientes. Para 100 a 500 endpoints, recomendam-se 16 GB RAM e 8 vCPU. O indexer (OpenSearch) é o componente que mais consome recursos — reservar pelo menos 50% da RAM para ele.
Agents em Linux/Windows
O Wazuh Agent é instalado em cada endpoint que se pretende monitorizar. Comunica com o server via porta 1514 (UDP para eventos) e 1515 (TCP para registo). O agent recolhe logs do sistema, monitoriza integridade de ficheiros, executa scans de vulnerabilidades e envia tudo ao server para correlação.
Instalação em Linux
# Adicionar repositório e instalar (Ubuntu/Debian)
curl -sO https://packages.wazuh.com/4.10/wazuh-agent_4.10.0-1_amd64.deb
sudo dpkg -i wazuh-agent_4.10.0-1_amd64.deb
# Configurar endereço do server
sudo sed -i 's/MANAGER_IP/IP_DO_SERVER/' /var/ossec/etc/ossec.conf
# Activar e iniciar
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent
Instalação em Windows
# PowerShell (executar como administrador)
Invoke-WebRequest -Uri "https://packages.wazuh.com/4.10/wazuh-agent_4.10.0-1.msi" -OutFile "wazuh-agent.msi"
msiexec /i wazuh-agent.msi /q WAZUH_MANAGER="IP_DO_SERVER" WAZUH_REGISTRATION_PASSWORD=""
# Verificar serviço
Get-Service WazuhSvc
Start-Service WazuhSvc
Após a instalação, os agents aparecem automaticamente no dashboard em Agents → Summary. Se um agent não aparecer, verificar conectividade à porta 1514/1515 e confirmar que o MANAGER_IP está correcto no ossec.conf.
Dica
Usa o deployment automático do Wazuh para instalar agents em massa: wazuh-agent-auth -j no server aceita auto-registo. Para Windows, distribui o MSI via GPO ou Intune.
Regras de Detecção e CVE
O Wazuh inclui mais de 3000 regras de detecção pré-configuradas, cobrindo ataques de rede, escalonamento de privilégios, alterações de configuração e actividade suspeita em ficheiros de log. As regras seguem o formato decoders + rules: os decoders extraem campos dos logs raw, e as regras avaliam esses campos contra padrões conhecidos de ameaças.
Para além das regras locais, o Wazuh integra-se com a base de dados NVD (National Vulnerability Database) para detetar CVEs nos endpoints monitorizados. O módulo Vulnerability Detection compara o software instalado em cada agent com a lista de CVEs conhecidos.
# Activar deteccao de vulnerabilidades em ossec.conf
# Secao <vulnerability-detector>
<vulnerability-detector>
<enabled>yes</enabled>
<interval>1h</interval>
<ignore_time>6h</ignore_time>
<run_on_start>yes</run_on_start>
</vulnerability-detector>
# Reiniciar o manager apos alterar
sudo systemctl restart wazuh-manager
Para criar uma regra personalizada (exemplo: alertar quando um utilizador não-admin tenta alterar configuração do firewall), adiciona-se um ficheiro em /var/ossec/etc/rules/local_rules.xml:
<!-- Regra: alteracao de firewall por utilizador nao autorizado -->
<group name="local,firewall,compliance_nis2">
<rule id="100100" level="10">
<if_group>firewall,iptables</if_group>
<field name="user">!^(root|admin|wazuh)$</field>
<description>Alteracao de firewall por utilizador nao autorizado: $(user)</description>
<mitre>
<id>T1562</id>
<tactic>Defense Evasion</tactic>
<technique>Impair Defenses</technique>
</mitre>
</rule>
</group>
A regra acima mapeia directamente para a técnica MITRE ATT&CK T1562 — Impair Defenses, permitindo que os alertas apareçam no dashboard com contexto táctico. Isto é essencial para responder a incidentes de forma estruturada em vez de reagir a logs isolados.
Dashboards e Compliance NIS2
O Wazuh Dashboard oferece visualizações pré-construídas para segurança e compliance. Para NIS2, os relatórios mais relevantes são os de vulnerabilidades, integridade de ficheiros, auditoria de acessos e conformidade com frameworks (PCI DSS, GDPR, NIST). O Wazuh gera relatórios PDF automáticos que podem ser entregues a auditores.
| Requisito NIS2 | Módulo Wazuh | Funcionalidade | Relatório |
|---|---|---|---|
| Política de risco | Vulnerability Detection | Scan automático de CVEs | Inventário + CVE por host |
| Gestão de incidentes | Active Response | Bloqueio automático de IP | Log de respostas activadas |
| Continuidade do negócio | File Integrity Monitoring | Alerta em alteração de ficheiros | FIM diff por directoria |
| Formação e consciencialização | Security Events | Dashboards de ameaças | Top alertas por severidade |
| Autenticação multifactor | Auth Data | Deteccao de logins anómalos | Falhas de auth por utilizador |
| Comunicação de incidentes | Integrations (Slack/Email) | Notificação em tempo real | Canal de alertas externo |
Para gerar relatórios de compliance para auditoria NIS2, navega até Modules → Compliance no dashboard. O Wazuh oferece templates para PCI DSS, HIPAA, NIST 800-53 e GDPR — estes podem ser adaptados para mapear requisitos específicos da NIS2. Cada requisito gera um relatório PDF com evidências (logs, alertas, configurações) que demonstra conformidade técnica.
# Configurar notificacao por email em ossec.conf
<global>
<email_notification>yes</email_notification>
<email_to>[email protected]</email_to>
<smtp_server>smtp.empresa.pt</smtp_server>
<email_from>[email protected]</email_from>
<email_maxperhour>20</email_maxperhour>
</global>
# Nivel minimo para notificacao (12 = alertas criticos)
sudo /var/ossec/bin/wazuh-control restart
Integração com resposta activa
A NIS2 exige capacidade de resposta a incidentes. O Wazuh Active Response permite executar scripts automaticamente quando uma regra dispara — por exemplo, bloquear um IP no firewall após 3 tentativas de SSH falhadas. Configura em ossec.conf na secção <active-response>.
O Wazuh é uma solução completa para PME que precisam de cumprir a NIS2 sem investir em ferramentas comerciais dispendiosas. Combina deteção de ameaças, monitorização de integridade, gestão de vulnerabilidades e relatórios de compliance numa única plataforma open-source. A instalação é directa, os agents são leves (consomem menos de 50 MB de RAM) e a comunidade Wazuh mantém regras actualizadas regularmente.
Para PME portuguesas sujeitas à NIS2, o Wazuh oferece o equilíbrio ideal entre robustez técnica e custo zero de licenciamento. A documentação oficial em documentation.wazuh.com cobre cenários avançados como cluster multi-node, integração com Docker e resposta a incidentes automatizada.