IDS/IPS • Detecção de Intrusão • Análise de Tráfego • Blue Team

Suricata IDS/IPS Detecção real de ameaças em rede

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.

Fluxo do laboratório

Kali Linux — Suricata 8.0.5 Monitoramento de tráfego de rede /var/log/suricata/eve.json Wazuh Logcollector Wazuh SIEM Dashboard

Navegue pelo conteúdo desta documentação.

O que é o Suricata e por que ele está no 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.

Ambiente técnico do laboratório.

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.

Kali Linux 2026.2 VMware Bridge IP LAN

Suricata 8.0.5

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.

Suricata 8.0.5 AF-PACKET eve.json fast.log

Wazuh SIEM

Ubuntu Server com Wazuh Manager coletando os eventos do Suricata via Logcollector, integrando detecção de rede ao pipeline centralizado de segurança.

Wazuh 4.14.5 Logcollector ossec.conf

Fontes de regras

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.

et/open abuse.ch aleksibovellan/nmap oisf/trafficid

Da instalação à detecção ativa.

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.

Concluído

Instalação do Suricata

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.

apt install suricataSuricata 8.0.5AF-PACKET
Concluído

Atualização das regras com suricata-update

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.

suricata-updateet/openabuse.choisf/trafficid
Concluído

Habilitação da fonte aleksibovellan/nmap

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.

aleksibovellan/nmapSYN scanXmas scan
Concluído

Configuração do eve.json

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.

suricata.yamleve.json — 70MB+fast.log
Concluído

Integração com o Wazuh

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.

ossec.conflocalfilewazuh-logcollector
Concluído

Testes de detecção com nmap

Execução de nmap -sS e nmap -A contra o servidor Wazuh. Alertas gerados em tempo real no fast.log confirmando detecção ativa.

nmap -sSnmap -Afast.logAlertas reais

Instalação do Suricata

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.

Comandos de instalação

sudo apt update
sudo apt install suricata -y
suricata --version

Modo AF-PACKET

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.

Validação

sudo systemctl status suricata
● suricata.service - LSB: Next Generation IDS/IPS
   Active: active (running)

Atualização das regras com suricata-update

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.

Comandos utilizados

sudo suricata-update update-sources
sudo suricata-update list-sources
sudo suricata-update

Fontes disponíveis listadas

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.

Resultado

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.

Habilitação da fonte aleksibovellan/nmap

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.

Habilitando a fonte

sudo suricata-update enable-source aleksibovellan/nmap
sudo suricata-update
sudo systemctl restart suricata

O que essa fonte detecta

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.

Configuração do eve.json

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.

Localização e estrutura

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.

Configuração no suricata.yaml

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.

Integração com o Wazuh

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.

Bloco adicionado ao ossec.conf

<localfile>
  <log_format>json</log_format>
  <location>/var/log/suricata/eve.json</location>
</localfile>

Confirmação nos logs

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'"

Testes de detecção com nmap

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.

Comandos de teste

nmap -sS 10.0.0.20
nmap -A 10.0.0.20

Alertas gerados no 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

Resultado

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.

Fontes de regras configuradas no laboratório.

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.

Emerging Threats

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.

et/open MIT License Proofpoint

Abuse.ch

Quatro fontes especializadas: Feodo Tracker (botnets C2), SSL Blacklist, JA3 Fingerprints e URLhaus. Foco em infraestrutura maliciosa conhecida.

Feodo Tracker SSL Blacklist URLhaus JA3

aleksibovellan/nmap

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.

NMAP -sS NMAP -sX Port scan MIT License

OISF Traffic ID

Regras de identificação de protocolos e tráfego de rede mantidas pelo Open Information Security Foundation — criadores do Suricata.

oisf/trafficid Protocol ID MIT License

Como o Suricata se conecta ao SIEM.

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.

Suricata monitora o tráfego

O Suricata analisa todo o tráfego na interface de rede do Kali Linux em tempo real, aplicando as regras carregadas via suricata-update.

Eventos gravados em eve.json

Cada evento detectado é gravado em formato JSON estruturado em /var/log/suricata/eve.json — alertas, flows, DNS, HTTP e outros tipos.

Wazuh Logcollector monitora o arquivo

O bloco <localfile> no ossec.conf instrui o agente a ler continuamente o eve.json e enviar os eventos ao servidor Wazuh.

Wazuh processa e correlaciona

O Wazuh Manager recebe os eventos, aplica decoders e regras, gera alertas e os exibe no dashboard — conectando detecção de rede ao SIEM.

Validação confirmada nos logs

Confirmação da integração pelo log do agente: "wazuh-logcollector: INFO: (1950): Analyzing file: '/var/log/suricata/eve.json'"

Detecções geradas durante os testes.

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.

SYN Scan detectado

Regra POSSBL PORT SCAN (NMAP -sS) ativada múltiplas vezes durante o scan SYN. Classificado como Attempted Information Leak, prioridade 2.

SID 3400002 Priority 2 TCP nmap -sS

Xmas Scan detectado

Regra POSSBL PORT SCAN (NMAP -sX) ativada durante testes avançados. Técnica de reconhecimento usando pacotes TCP com flags FIN, URG e PSH.

SID 3400005 Priority 2 TCP nmap -sX

ICMPv4 detectado

Regra SURICATA ICMPv4 unknown code ativada durante pings entre as VMs do laboratório. Classificado como Generic Protocol Command Decode, prioridade 3.

SID 2200025 Priority 3 ICMP ping

Alertas capturados durante o teste nmap.

[**] [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

O que este laboratório construiu na prática.

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.

IDS/IPS

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.

Gerenciamento de regras

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.

Análise de logs JSON

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.

Integração SIEM

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.

Threat Detection

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.

Linux Administration

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.

O que foi entregue neste laboratório.

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.

8.0.5Versão do Suricata
70MB+Eventos no eve.json
03Tipos de alerta gerados
01Pipeline SIEM integrado

Registros do laboratório.

Evidências reais do laboratório Suricata — status do serviço, alertas no fast.log e eventos JSON capturados durante os testes com nmap.

Suricata active (running) fast.log com alertas reais eve.json — eventos estruturados
Status do serviço Suricata
Suricata 8.0.5 — active (running) no Kali Linux.
Alertas no fast.log do Suricata
fast.log — alertas de port scan (nmap -sS) detectados em tempo real.
Eventos JSON no eve.json do Suricata
eve.json — eventos estruturados em JSON para integração com o Wazuh.
Ver repositório completo no GitHub

Como este laboratório continuará evoluindo.

Regras customizadas

Criar regras Suricata próprias para detectar comportamentos específicos do laboratório, seguindo a metodologia de Detection Engineering aplicada no Wazuh.

Integração CrowdSec

Adicionar o CrowdSec ao laboratório para criar uma camada de proteção colaborativa complementar ao Suricata, bloqueando IPs maliciosos automaticamente.

Modo IPS

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.

Dashboard Wazuh

Criar visualizações dedicadas no dashboard Wazuh para eventos do Suricata, separando alertas de rede por tipo, prioridade e IP de origem.

IDS funcionando. Ameaças detectadas. Pipeline integrado.

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.