Wazuh SIEM: Detecção de Ameaças e Compliance NIS2 para PME

Neste artigo

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.