Programa: Base Treinamentos | Nível: Avançado | Carga: 1h
Público: Engenheiros de SOC e Analistas de Segurança | Produzido por: BaseTI
Tags: 🏷️ #wazuh #soc #opensearch #troubleshooting #blueteam #sysadmin
Neste artigo técnico, detalhamos a resolução passo a passo de um incidente crítico em uma infraestrutura distribuída do Wazuh. Partindo do clássico erro "Wazuh dashboard server is not ready yet", navegamos por gargalos de memória Java (JVM), incompatibilidade de versões entre nós, bloqueios de execução do Linux (hardening em /tmp) e processos zumbis travando a API do Manager. Ao final, restabelecemos a integridade dos dados e a comunicação com os agentes.
O erro ocorre quando a interface não consegue se comunicar com os nós do Wazuh Indexer (OpenSearch). A investigação inicial através do comando _cluster/health revelou um status red e a perda de um dos nós do banco de dados.
A Causa Raiz (Circuit Breaker):
🧠 O serviço do Indexer estava limitando requisições (HTTP 429) por estouro de memória. A configuração padrão do JVM Heap estava subdimensionada para a carga do cluster, derrubando o nó por falta de recursos para o Java.
Correção (Ajuste do JVM Heap):
Com a memória ajustada, o nó 2 tentou retornar ao cluster, mas foi rejeitado. O log wazuh-cluster.log acusou version not supported: 2.19.3 the node version is: 2.19.1.
Ao tentar atualizar o pacote via apt-get install --only-upgrade wazuh-indexer, o post-install falhou (Exit Code 1).
A Causa Raiz (Bloqueio JNA no /tmp):
⚠️ Hardening do Linux: A partição
/tmpestava montada com a flag noexec. O Java (OpenSearch) precisa extrair a biblioteca nativa JNA nesse diretório para interagir com o kernel. Sem execução, o processo aborta violentamente.
Correção (Bypass Seguro do /tmp):
Com o banco de dados saudável e em status Yellow/Green, a interface carregou, mas disparou a mensagem "Error: 1000 - Unexpected error" com a API marcando o manager como Offline.
A Causa Raiz (Assimetria na Arquitetura):
| Componente | Versão Encontrada | Impacto |
|---|---|---|
| Wazuh Dashboard | v4.14.3 | Tentava chamar endpoints modernos da API. |
| Wazuh Manager | v4.12.0 | Não compreendia as requisições (Incompatibilidade). |
Ao tentar atualizar o Manager, o Systemd acusou timeout devido a processos do Wazuh antigo (analysisd, clusterd) se recusarem a morrer, segurando as portas de rede (Processos Zumbis).
Correção (O Expurgo e Atualização):
🎯 Retrocompatibilidade Garantida: Após igualar as versões do Manager/Workers com o Dashboard e o Indexer, o cluster formou quórum. Os agentes (mesmo os que ainda rodam a v4.12.0) reconectam-se automaticamente em poucos minutos graças ao protocolo de *backoff* do agente.
Upgrade Centralizado dos Agentes (Opcional, mas recomendado):
/var/ossec/bin/agent_upgrade -a <ID_DO_AGENTE>Engenharia de Segurança & Resposta a Incidentes · BaseTI · 2026