Sistema base
Suricata instalado no Kali Linux rodando como VM no VMware Workstation, em modo Bridge com IP real na rede local do laboratório.
IDS/IPS • Detecção de Intrusão • Análise de Tráfego • Blue Team
Implementação do Suricata 8.0.5 no Kali Linux com integração ao Wazuh SIEM/XDR, regras de detecção ativas, testes reais com nmap e análise de eventos de segurança — construindo uma camada de defesa de rede no laboratório.
Topologia
Índice
Sobre o laboratório
O Suricata é um motor open source de detecção e prevenção de intrusões em rede (IDS/IPS). Ele analisa o tráfego em tempo real, aplica regras de detecção e gera alertas quando identifica comportamentos suspeitos — como port scans, tentativas de exploração e comunicação com IPs maliciosos.
Neste laboratório, o Suricata foi instalado no Kali Linux e integrado ao Wazuh SIEM/XDR, criando um pipeline completo: o tráfego é analisado pelo Suricata, os eventos são gravados em JSON e coletados pelo Wazuh para correlação e visualização no dashboard. Testes reais com nmap geraram alertas de port scan detectados e documentados.
Especificações
Suricata instalado no Kali Linux rodando como VM no VMware Workstation, em modo Bridge com IP real na rede local do laboratório.
Versão mais recente do Suricata em modo AF-PACKET, monitorando a interface de rede em tempo real com 70MB+ de eventos registrados no eve.json.
Ubuntu Server com Wazuh Manager coletando os eventos do Suricata via Logcollector, integrando detecção de rede ao pipeline centralizado de segurança.
Regras carregadas via suricata-update com fontes open source incluindo Emerging Threats, Abuse.ch, OISF Traffic ID e regras customizadas para detecção de nmap.
Processo de implementação
Cada etapa foi executada em sequência, validada e documentada antes de avançar. O fluxo seguiu a mesma metodologia aplicada no laboratório Wazuh: backup, leitura, planejamento, alteração, teste e validação.
Instalação do Suricata 8.0.5 no Kali Linux via repositório oficial. Verificação do serviço com systemctl status suricata confirmando modo AF-PACKET ativo.
Execução do suricata-update para carregar o índice de fontes de regras. Listagem de todas as fontes disponíveis incluindo Emerging Threats, Abuse.ch, OISF, Stamus Networks e outras.
Ativação da fonte de regras especializada em detecção de scans Nmap — regras que identificam -sS (SYN scan), -sX (Xmas scan) e outras técnicas de reconhecimento.
Validação do arquivo de configuração /etc/suricata/suricata.yaml e confirmação do log de eventos em formato JSON em /var/log/suricata/eve.json com 70MB+ de dados capturados.
Configuração do ossec.conf no agente Kali para que o Wazuh Logcollector monitore o eve.json. Reinício do agente e confirmação nos logs.
Execução de nmap -sS e nmap -A contra o servidor Wazuh. Alertas gerados em tempo real no fast.log confirmando detecção ativa.
Etapa 01
O Suricata está disponível nos repositórios oficiais do Kali Linux. A instalação é direta, mas exige atenção à versão — o Kali entrega a versão mais recente disponível no momento.
O AF-PACKET é o modo de captura padrão do Suricata no Linux — usa a interface de rede diretamente via kernel, sem depender de libpcap. É mais eficiente e suporta captura em alta velocidade. O Suricata identifica automaticamente a interface de rede ao iniciar.
Etapa 02
O Suricata sem regras é um motor sem combustível. O suricata-update é a ferramenta oficial para gerenciar fontes de regras — baixar, atualizar e habilitar conjuntos de assinaturas.
O list-sources retornou mais de 20 fontes de regras — Emerging Threats (et/open), Abuse.ch com quatro feeds especializados, OISF Traffic ID, Stamus Networks, PTsecurity e outras. Cada fonte tem uma licença e foco diferente.
Após o update, o Suricata carregou milhares de regras ativas. As regras ficam em /var/lib/suricata/rules/suricata.rules e são referenciadas no suricata.yaml.
Etapa 03
A fonte aleksibovellan/nmap contém regras especificamente criadas para detectar scans realizados com o Nmap — a ferramenta de reconhecimento mais usada em testes de penetração.
SID 3400002: POSSBL PORT SCAN (NMAP -sS) — SYN scan, o mais comum
SID 3400005: POSSBL PORT SCAN (NMAP -sX) — Xmas scan, com flags FIN/URG/PSH
Ambos classificados como "Attempted Information Leak", Prioridade 2.
Etapa 04
O eve.json é o log principal do Suricata — um arquivo JSON estruturado com todos os eventos: alertas, flows, DNS, HTTP, TLS. É o que o Wazuh consome para correlação.
O arquivo fica em /var/log/suricata/eve.json. Cada linha é um evento JSON independente. Após os testes, o arquivo chegou a 70MB+ — cada pacote suspeito, cada flow e cada alerta registrado.
No arquivo /etc/suricata/suricata.yaml, a seção outputs define os tipos de log habilitados. O bloco eve-log estava ativo por padrão com os tipos alert, flow, dns, http e tls habilitados.
Etapa 05
Para que o Wazuh processe os eventos do Suricata, o agente precisa saber onde está o eve.json e como interpretá-lo. Isso é feito editando o ossec.conf do agente.
Após reiniciar o agente com sudo systemctl restart wazuh-agent, o log do agente confirmou:
"wazuh-logcollector: INFO: (1950): Analyzing file: '/var/log/suricata/eve.json'"
Etapa 06
Com tudo configurado, o teste final foi executar scans reais com nmap e confirmar que o Suricata detectava e registrava os alertas em tempo real.
Três tipos de alerta foram gerados: SID 3400002 (SYN scan), SID 3400005 (Xmas scan) e SID 2200025 (ICMPv4). O pipeline completo Suricata → eve.json → Wazuh estava funcional.
Regras de detecção
O Suricata funciona com base em regras — assinaturas que definem padrões de tráfego suspeito. Quanto mais regras ativas e mais específicas para o ambiente, maior a cobertura de detecção.
Conjunto de regras open source mantido pela Proofpoint. Cobre uma ampla variedade de ameaças: malware, exploits, C2, botnets e tráfego suspeito em geral.
Quatro fontes especializadas: Feodo Tracker (botnets C2), SSL Blacklist, JA3 Fingerprints e URLhaus. Foco em infraestrutura maliciosa conhecida.
Regras específicas para detecção de scans com Nmap — identificando SYN scan, Xmas scan e outros tipos de reconhecimento de rede. Usadas nos testes do laboratório.
Regras de identificação de protocolos e tráfego de rede mantidas pelo Open Information Security Foundation — criadores do Suricata.
Integração com Wazuh
A integração entre Suricata e Wazuh transforma eventos de rede isolados em alertas
correlacionados e visíveis no dashboard centralizado. O fluxo foi configurado no
agente Wazuh do Kali Linux editando o arquivo ossec.conf.
O Suricata analisa todo o tráfego na interface de rede do Kali Linux em tempo real, aplicando as regras carregadas via suricata-update.
Cada evento detectado é gravado em formato JSON estruturado em /var/log/suricata/eve.json — alertas, flows, DNS, HTTP e outros tipos.
O bloco <localfile> no ossec.conf instrui o agente a ler continuamente o eve.json e enviar os eventos ao servidor Wazuh.
O Wazuh Manager recebe os eventos, aplica decoders e regras, gera alertas e os exibe no dashboard — conectando detecção de rede ao SIEM.
Confirmação da integração pelo log do agente: "wazuh-logcollector: INFO: (1950): Analyzing file: '/var/log/suricata/eve.json'"
Alertas reais
Os testes foram executados com nmap -sS e nmap -A
a partir do Kali Linux (10.0.0.10) contra o servidor Wazuh (10.0.0.20).
O Suricata detectou os scans em tempo real e gerou alertas no fast.log.
Regra POSSBL PORT SCAN (NMAP -sS) ativada múltiplas vezes durante o scan SYN. Classificado como Attempted Information Leak, prioridade 2.
Regra POSSBL PORT SCAN (NMAP -sX) ativada durante testes avançados. Técnica de reconhecimento usando pacotes TCP com flags FIN, URG e PSH.
Regra SURICATA ICMPv4 unknown code ativada durante pings entre as VMs do laboratório. Classificado como Generic Protocol Command Decode, prioridade 3.
Saída real do fast.log
[**] [1:3400002:2] POSSBL PORT SCAN (NMAP -sS) [**]
[Classification: Attempted Information Leak] [Priority: 2]
{TCP} 10.0.0.10:42661 -> 10.0.0.20:1272
[**] [1:3400002:2] POSSBL PORT SCAN (NMAP -sS) [**]
[Classification: Attempted Information Leak] [Priority: 2]
{TCP} 10.0.0.10:42661 -> 10.0.0.20:2998
[**] [1:2200025:2] SURICATA ICMPv4 unknown code [**]
[Classification: Generic Protocol Command Decode] [Priority: 3]
{ICMP} 10.0.0.10:8 -> 10.0.0.20:9
[**] [1:3400005:2] POSSBL PORT SCAN (NMAP -sX) [**]
[Classification: Attempted Information Leak] [Priority: 2]
{TCP} 10.0.0.10:45439 -> 10.0.0.20:1
Competências desenvolvidas
Este laboratório foi além da instalação — envolveu compreensão do funcionamento do IDS, configuração de regras, integração com SIEM e análise de alertas reais gerados por testes controlados.
Configuração e operação do Suricata como IDS em modo AF-PACKET, monitorando tráfego de rede em tempo real e aplicando regras de detecção sobre os pacotes capturados.
Uso do suricata-update para listar, habilitar e atualizar fontes de regras. Compreensão da estrutura de uma regra Suricata: SID, classificação, prioridade, protocolo e condição de match.
Leitura e interpretação do eve.json — formato estruturado com campos como event_type, src_ip, dest_ip, proto, alert.signature e alert.category para análise de eventos.
Configuração do ossec.conf para ingestão do eve.json pelo Wazuh Logcollector, criando um pipeline de detecção de rede integrado ao sistema centralizado de monitoramento.
Execução de testes controlados com nmap para validar a detecção, análise dos alertas gerados e correlação entre o comportamento do atacante e a resposta do IDS.
Gerenciamento do serviço Suricata via systemctl, edição de arquivos de configuração YAML, verificação de logs do sistema e troubleshooting de integração com o agente Wazuh.
Resultados
Este laboratório resultou em um IDS funcional, integrado ao SIEM, com regras ativas e detecções reais documentadas — demonstrando na prática o funcionamento de uma camada de defesa de rede.
Evidências
Evidências reais do laboratório Suricata — status do serviço, alertas no fast.log e eventos JSON capturados durante os testes com nmap.
Próximos passos
Criar regras Suricata próprias para detectar comportamentos específicos do laboratório, seguindo a metodologia de Detection Engineering aplicada no Wazuh.
Adicionar o CrowdSec ao laboratório para criar uma camada de proteção colaborativa complementar ao Suricata, bloqueando IPs maliciosos automaticamente.
Evoluir o Suricata de modo IDS (detecção passiva) para IPS (prevenção ativa), configurando bloqueio automático de tráfego malicioso identificado pelas regras.
Criar visualizações dedicadas no dashboard Wazuh para eventos do Suricata, separando alertas de rede por tipo, prioridade e IP de origem.
Conclusão
Este laboratório demonstrou na prática o funcionamento de um IDS open source — desde a instalação até a detecção real de port scans com nmap, passando pela integração com o Wazuh SIEM. O resultado é uma camada de visibilidade de rede que complementa o monitoramento de endpoints já documentado no case Wazuh.