NetFlow v5, v9, IPFIX ou sFlow? Qual protocolo exportar para o EdgeWarden

O que cada protocolo carrega, quanto atrasa a detecção de DDoS e qual configurar em cada cenário, nas portas 2055 e 6343.

Por que a escolha do protocolo importa

O EdgeWarden recebe NetFlow v5, NetFlow v9 e IPFIX na porta 2055/UDP e sFlow v5 na 6343/UDP. Os quatro alimentam a mesma detecção, mas não entregam a mesma coisa: a escolha decide se você enxerga IPv6 e VRF e se o alarme dispara em menos de um segundo ou depois de um minuto.

Este guia compara os quatro, mostra qual escolher em cada cenário e reúne a configuração comum a qualquer fabricante. Os comandos completos estão nos guias de cada equipamento.

Pré-requisitos

  • EdgeWarden instalado conforme o guia de instalação, com o coletor em 192.0.2.10 nos exemplos.
  • Roteador de borda com um endereço de origem fixo para a exportação, de preferência a loopback (198.51.100.1 nos exemplos).
  • Cota de exportadores livre na licença (Starter 1, Professional 2, Enterprise 10). Acima da cota, os flows são descartados sem erro na tela.

O que cada protocolo carrega

NetFlow v5NetFlow v9IPFIXsFlow v5
NormaCisco, formato fixoRFC 3954RFC 7011 (versão 10)sflow.org
Porta no EdgeWarden2055/UDP2055/UDP2055/UDP6343/UDP
FormatoRegistro fixoTemplateTemplate, campos variáveis e de empresaAmostra do pacote + contadores
IPv6NãoSimSimSim
VRF (IE 234/235)NãoSim, se no templateSim, se no templateNão
Next-hop BGPNãoIPv4IPv4 e IPv6Extended Gateway
Taxa de amostragemCadastro manualAnunciada (Options Template)Anunciada (Options Template)Em cada amostra
HTTP Host, TLS SNI, DNSNãoNãoCom packet sectionSim, do cabeçalho amostrado

O NetFlow v5 é uma 5-tupla IPv4 de tamanho fixo, com interfaces e ASN de 16 bits. O v9 trocou o registro fixo por templates: o roteador diz quais campos vai mandar, e com isso chegam IPv6, VRF, direção e a taxa de amostragem anunciada. O IPFIX é a padronização do v9 pela IETF, com versão 10 no cabeçalho, campos (Information Elements) do registro da IANA e campos de tamanho variável.

O sFlow não monta flows. O equipamento sorteia 1 em cada N pacotes, copia o começo do cabeçalho (128 bytes por padrão) e envia junto com os contadores das interfaces. O coletor reconstrói o tráfego a partir das amostras.

No v5 o EdgeWarden lê o campo de amostragem do cabeçalho, mas não o aplica. Sem preencher a taxa no cadastro do dispositivo, um roteador em 1:1000 aparece com um milésimo do tráfego real e todos os thresholds perdem o sentido.

Latência de detecção: active timeout contra amostragem

O motor do EdgeWarden analisa em ciclos de 10 s (configurável até 1 s). O que muda entre os protocolos é quanto o dado demora para chegar.

Com NetFlow e IPFIX, o roteador guarda cada flow no cache e só exporta quando o flow termina (inactive timeout) ou quando atinge o active timeout. Um ataque volumétrico contínuo contra um cliente é um flow longo, então ele só aparece depois do active timeout. Com 60 segundos, o alarme só pode disparar depois desses 60 s, somados ao ciclo de análise. Valores menores detectam mais rápido e aumentam a carga do roteador e do coletor.

Com sFlow, o agente envia cada amostra em no máximo 1 segundo, segundo a especificação. O EdgeWarden usa isso no detector de rajadas: janela de 1 s em baldes de 100 ms por destino, que dispara a partir de 5 Gbps ou 2 Mpps. Esse detector só entra em ação com o ciclo de análise abaixo de 5 s; no padrão de 10 s, ele fica desligado. Detecção abaixo de um segundo exige sFlow ou o Packet Sensor e o ciclo reduzido.

O custo do sFlow é a precisão em volumes pequenos. A 1:1000, uma inundação de 1 Mpps gera cerca de 1000 amostras por segundo e é medida com folga, mas um fluxo de 500 pps rende uma amostra a cada dois segundos e vira estimativa grosseira.

O que o IPFIX acrescenta

Quando o exportador envia, o EdgeWarden aproveita estes campos do IPFIX. VRF e next-hop BGP IPv4 também chegam pelo NetFlow v9; next-hop IPv6, túnel e packet section, só pelo IPFIX:

  • Next-hop BGP IPv4 e IPv6 (IE 18 e 63), para saber por qual vizinho o tráfego atacado sai.
  • VRF de entrada e saída (IE 234 ingressVRFID e 235 egressVRFID), que alimentam a tela de visibilidade por VRF em redes com L3VPN.
  • Campos de túnel, como o VNI de VxLAN e GENEVE (IE 351) e os endereços externos do túnel.
  • Packet section (IE 313 a 317), o inline monitoring: um pedaço do pacote real dentro do registro. Com o quadro Ethernet (IE 315), saem HTTP Host, TLS SNI e consulta DNS para a tela de Aplicações.

O EdgeWarden também avisa no log do core (/opt/flowspec-analyzer/logs/core.log.*, mensagem Exportador não envia) quando falta um campo de que um detector depende: sem tcpControlBits (IE 6), os detectores de flags TCP ficam inertes; sem minimumTTL (IE 52) ou os campos de fragmentação (IE 88 e 197), o TTL Variance e o Fragment Flood.

Qual escolher em cada cenário

CenárioEscolhaMotivo
Roteador de borda com IPFIXIPFIXIPv6, VRF, next-hop BGP e taxa anunciada
Equipamento sem IPFIXNetFlow v9Templates, IPv6 e VRF
Precisa reagir a rajadas abaixo de 1 ssFlow ou Packet SensorSem cache nem active timeout
Quer aplicações (SNI, Host, DNS) sem sensor dedicadosFlow, ou IPFIX com packet sectionO dado vem do pacote amostrado
Equipamento legado que só fala v5NetFlow v5Só IPv4, com taxa preenchida à mão

Na dúvida, use IPFIX: cobre IPv4 e IPv6 e informa a própria taxa de amostragem.

Passo 1: liberar as portas no servidor

Libere a coleta apenas para o IP de origem de cada roteador. Qualquer um que alcance a 2055/UDP consegue injetar flows forjados.

Servidor EdgeWarden: firewall por origem
# NetFlow v5/v9 e IPFIX
sudo ufw allow from 198.51.100.1 to any port 2055 proto udp
# sFlow, só se o equipamento exportar sFlow
sudo ufw allow from 198.51.100.1 to any port 6343 proto udp
sudo ufw status numbered

Passo 2: escolher a versão e a porta no roteador

A versão é um parâmetro do exportador. Onde fica em cada fabricante:

FabricanteOnde escolherIPFIXNetFlow v9
Juniper MX (inline J-Flow)services flow-monitoring e flow-server da instância de amostragemversion-ipfixversion9
Huawei NE40E/NE8000ip netstream export versionipfix9
Cisco IOS-XEflow exporterexport-protocol ipfixexport-protocol netflow-v9
Cisco IOS-XRflow exporter-mapversion ipfixversion v9
MikroTik RouterOS v7/ip traffic-flow targetversion=ipfixversion=9

Em todos, aponte o destino para 192.0.2.10 na porta 2055, inclusive para o IPFIX. As palavras-chave valem para as versões atuais de cada sistema; em releases antigos, confirme na documentação do fabricante se a opção de IPFIX existe.

A porta registrada para IPFIX é a 4739 (RFC 7011), e muitos exemplos de configuração a usam. O EdgeWarden escuta NetFlow e IPFIX juntos na 2055 e identifica a versão pelos dois primeiros bytes do pacote. Declare a porta 2055 explicitamente no exportador.

Passo 3: timeouts e amostragem

  • Active timeout: 60 s é o ponto de partida comum. Abaixo disso a detecção fica mais rápida e a carga cresce.
  • Inactive timeout: 15 s.
  • Reenvio de template: a cada 60 s ou menos. Em UDP, o coletor descarta os registros até receber o template, por exemplo depois de um reinício.
  • Amostragem: use a mesma taxa nas interfaces de um roteador. A taxa vale por exportador, não por interface.

O EdgeWarden multiplica bytes e pacotes pela taxa antes de gravar. A taxa anunciada via Options Template (v9 e IPFIX) vence sempre; sem anúncio, vale a Taxa de Amostragem de Flow do cadastro; no sFlow, a taxa vem em cada amostra.

Passo 4: cadastrar o dispositivo

Em Configurações → Rede → Dispositivos, cadastre o roteador com:

  1. Endereço IP igual à origem da exportação (198.51.100.1). Se não bater, as interfaces aparecem como if:12 em vez do nome.
  2. SNMP: o flow traz só o ifIndex; nome e capacidade da interface vêm do SNMP. Exporte as interfaces de entrada e saída no template.
  3. Taxa de Amostragem de Flow, obrigatória no v5 e recomendada quando o roteador não anuncia a taxa.

Verificação no roteador

Confirme a versão que o equipamento está exportando:

FabricanteComandoO que conferir
Juniper MXshow services accounting status inline-jflow fpc-slot 0IPV4 export format: Version-IPFIX
Huawei NEdisplay netstream globalA versão de exportação e o host configurado
Cisco IOS-XEshow flow exporter EW-EXPExport protocol: IPFIX (Version 10) e a porta 2055
Cisco IOS-XRshow flow exporter-map EW-EXPExport Version: IPFIX e TransportDestPort: 2055
MikroTik v7/ip traffic-flow target printversion e port

Verificação no EdgeWarden

Os dois primeiros bytes do NetFlow e do IPFIX são a versão: 0005, 0009 ou 000a (IPFIX). Num pacote IPv4 sem opções, eles são o sétimo grupo da linha 0x0010 do tcpdump -x:

Servidor EdgeWarden: qual versão está chegando na 2055
sudo tcpdump -i any -n -c 1 -x udp dst port 2055 and src host 198.51.100.1
10:15:02.481233 ens18 In  IP 198.51.100.1.40312 > 192.0.2.10.2055: UDP, length 1380
        0x0000:  4500 0580 1a2b 0000 3f11 7003 c633 6401
        0x0010:  c000 020a 9d78 0807 056c 3c1e 000a 0564

No sFlow o próprio tcpdump decodifica o cabeçalho na 6343:

Servidor EdgeWarden: sFlow chegando na 6343
sudo tcpdump -i any -n -c 3 udp dst port 6343
10:15:04.102877 ens18 In  IP 198.51.100.1.50000 > 192.0.2.10.6343: sFlowv5, IPv4 agent 198.51.100.1, agent-id 0, length 1316

A linha deve mostrar sFlowv5, o IP do agente e o tamanho do datagrama.

Na interface web:

  1. Em 1 a 2 minutos os flows aparecem na tela Flows.
  2. Em Dispositivos, a taxa aparece com o selo detectado (anunciada em v9 ou IPFIX) ou manual; cadastro: 1:N (ignorado) indica que o roteador anuncia outro valor.
  3. No painel Fluxo × SNMP nas interfaces, da tela Análise do instante, o volume de flow deve bater com o SNMP. Se mostrar 1/N, falta a taxa; se mostrar N vezes, ela foi aplicada duas vezes.

Armadilhas comuns

  • IPFIX na 4739. O coletor não recebe nada e o tcpdump na 2055 fica vazio. Capture com udp port 4739 para confirmar.
  • Huawei em v5 sem perceber. Na documentação da Huawei, o formato padrão do ip netstream export version é o v5: sem o comando, o NE exporta v5, sem IPv6 e sem a taxa anunciada.
  • Active timeout padrão alto. O RouterOS usa 30 minutos por padrão: um ataque só aparece quando termina ou 30 minutos depois de começar. Baixe o active-flow-timeout para 1m.
  • O mesmo tráfego por dois caminhos. Dois targets para o mesmo coletor, ou sFlow e IPFIX das mesmas interfaces, fazem o tráfego entrar duas vezes nas contas.
  • Buffer de recepção cheio. Confira nstat -az | grep -iE "Udp.*(InErrors|RcvbufErrors)" e aplique o sysctl do guia de instalação.

Próximos passos

Agora siga o guia do seu equipamento: Juniper MX com inline J-Flow, Huawei NE40E/NE8000, Cisco Flexible NetFlow ou MikroTik RouterOS v7. Se os flows não aparecerem, use o roteiro de diagnóstico de flows. Para ajustar a taxa e os timeouts, veja amostragem e timeouts; para VRF e next-hop BGP, o guia de IPFIX avançado. Para portas e tuning do coletor, volte ao guia de instalação; em Recursos, veja como esses flows viram detecção e mitigação.

Artigos relacionados

Todos os artigos

Quer ver esses flows no EdgeWarden?

Peça uma demonstração com a exportação da sua própria rede, ou siga o guia de instalação para subir o coletor.