Mitigação Wanguard – Custom Decoder Assinatura Vetor TCP->=1024 no Wanguard: classificação e mitigação de tráfego TCP em portas altas

Introdução

Em redes de provedores, datacenters e ambientes corporativos, nem todo tráfego relevante passa por portas conhecidas como 80, 443, 53, 22 ou 25.

Aplicações P2P, jogos online, sistemas proprietários, túneis, tráfego lateral e alguns padrões de ataque podem utilizar portas altas tanto na origem quanto no destino.

No Wanguard, é possível criar Custom Decoders para classificar esse tipo de tráfego com mais precisão. Neste artigo, vamos detalhar a configuração do decoder TCP-1024, criado para identificar tráfego TCP onde:

protocolo = TCP
porta de origem >= 1024
porta de destino >= 1024

Esse decoder pode ser usado em sensores de fluxo, sensores de pacote, filtros DPDK, filtros Netfilter e integrações de mitigação com BGP FlowSpec via GoBGP ou ExaBGP.


Objetivo do decoder TCP-1024

O objetivo do decoder TCP-1024 é classificar conexões TCP que utilizam portas altas nos dois lados da comunicação.

Em termos práticos, ele identifica tráfego com o seguinte perfil:

Protocolo: TCP
Porta de origem: 1024 até 65535
Porta de destino: 1024 até 65535

Exemplo de tráfego que será classificado por esse decoder:

Origem: 198.51.100.10:54321
Destino: 203.0.113.20:27015
Protocolo: TCP

Exemplo de tráfego que não será classificado por esse decoder:

Origem: 198.51.100.10:54321
Destino: 203.0.113.20:443
Protocolo: TCP

No segundo exemplo, apesar da porta de origem ser alta, a porta de destino é 443. Portanto, o tráfego não atende ao critério do decoder, pois as duas portas precisam ser maiores ou iguais a 1024.


Visão geral da configuração

A configuração principal do decoder é:

CampoValor
Decoder NameTCP-1024
Decoder DescriptionTCP PORTAS ALTAS 1024
Included DecodersIP, TCP
Conflicting DecodersIP, TCP
Filter EngineGeneric IPv4/IPv6

Essa estrutura indica que o tráfego classificado pelo decoder é um subconjunto de TCP e IP, podendo ser analisado tanto em IPv4 quanto em IPv6.


Flow Matching Expressions

As Flow Matching Expressions são usadas quando o Wanguard recebe estatísticas por fluxo, como NetFlow, IPFIX ou sFlow.

Flow Syntax

proto 6 and src port ge 1024 and dst port ge 1024

Explicação:

ExpressãoSignificado
proto 6Filtra apenas tráfego TCP
src port ge 1024Porta de origem maior ou igual a 1024
dst port ge 1024Porta de destino maior ou igual a 1024
andTodas as condições precisam ser verdadeiras

O protocolo TCP é representado pelo número 6 no cabeçalho IP. O operador ge significa greater than or equal, ou seja, maior ou igual.

Isso significa que a porta 1024 também é incluída na classificação. Usar gt 1024 seria diferente, pois excluiria a porta 1024.


GoBGP Syntax

Quando o Wanguard utiliza o GoBGP como conector BGP para anúncio de regras FlowSpec, a sintaxe configurada é:

source-port >=1024 destination-port >=1024 protocol tcp

Essa expressão informa ao conector que a regra FlowSpec deve casar:

protocolo TCP
porta de origem >= 1024
porta de destino >= 1024

Essa configuração é útil quando a mitigação precisa ser instalada diretamente nos roteadores de borda, reduzindo o tráfego indesejado antes que ele chegue ao destino protegido.

Observação: em alguns ambientes, dependendo da versão do conector e do parser utilizado, pode ser necessário representar o protocolo como número (protocol 6) em vez de nome (protocol tcp). A validação deve ser feita no ambiente antes da ativação automática.


ExaBGP Syntax

Para ambientes que utilizam ExaBGP como conector BGP, a sintaxe equivalente é:

protocol [6]; source-port [>=1024]; destination-port [>=1024];

Explicação:

ExpressãoSignificado
protocol [6]Protocolo TCP
source-port [>=1024]Porta de origem maior ou igual a 1024
destination-port [>=1024]Porta de destino maior ou igual a 1024

Atenção: não basta filtrar apenas protocol [6], pois isso corresponderia a todo tráfego TCP. Para manter o decoder coerente, as condições de porta precisam estar presentes.


Packet Matching Expressions

As Packet Matching Expressions são usadas quando o Wanguard analisa pacotes individualmente, por exemplo em cenários com:

  • Packet Sensor
  • Packet Filter
  • Port mirror
  • TAP
  • PF_RING
  • libpcap
  • DPDK

BPF Syntax

A expressão BPF configurada é:

tcp && src portrange 1024-65535 && dst portrange 1024-65535

Essa sintaxe segue a lógica usada em ferramentas como tcpdump.

Explicação:

ExpressãoSignificado
tcpFiltra apenas pacotes TCP
src portrange 1024-65535Porta de origem entre 1024 e 65535
dst portrange 1024-65535Porta de destino entre 1024 e 65535
&&Todas as condições precisam ser verdadeiras

Um teste equivalente em uma interface Linux seria:

tcpdump -ni <interface> 'tcp && src portrange 1024-65535 && dst portrange 1024-65535'

Esse teste pode ser usado para validar se o tráfego esperado está chegando na interface monitorada antes de ativar políticas de mitigação automáticas.


ACL Syntax for IPv4 com DPDK

Quando o Wanguard Filter opera com DPDK, a expressão ACL IPv4 configurada é:

0.0.0.0/0 0.0.0.0/0 1024-65535 1024-65535 6-6 0/0x0 0/0x0 0-65535

Explicação dos campos:

CampoValorSignificado
Rede de origem0.0.0.0/0Qualquer origem IPv4
Rede de destino0.0.0.0/0Qualquer destino IPv4
Porta de origem1024-65535Portas altas de origem
Porta de destino1024-65535Portas altas de destino
Protocolo6-6Apenas TCP
Flags/mask0/0x0Sem filtro específico por flags
Flags/mask0/0x0Sem máscara específica
TCP flags range0-65535Sem restrição adicional por flags TCP

Essa regra não restringe IP de origem, IP de destino ou flags TCP. O critério principal é o protocolo TCP com portas altas nos dois lados.

Correção aplicada: não é recomendado afirmar de forma absoluta que a ACL DPDK exige duas linhas idênticas para este decoder. Caso a versão específica do Wanguard ou o template do ambiente exija duas entradas para cobrir direções distintas, siga o padrão validado no próprio ambiente. Para a lógica do decoder apresentada aqui, a linha acima representa a condição desejada.


ACL Syntax for IPv6 com DPDK

A versão equivalente para IPv6 é:

::/0 ::/0 1024-65535 1024-65535 6-6 0/0x0 0/0x0 0-65535

Explicação:

CampoValorSignificado
Rede de origem::/0Qualquer origem IPv6
Rede de destino::/0Qualquer destino IPv6
Porta de origem1024-65535Portas altas de origem
Porta de destino1024-65535Portas altas de destino
Protocolo6-6Apenas TCP

Esse ponto é importante em redes de provedores, pois o tráfego IPv6 pode representar uma parcela relevante dos assinantes. Se o ambiente possui IPv6 ativo, o decoder deve estar corretamente definido também para IPv6.


Netfilter Expression

Para cenários em que o Wanguard Filter utiliza Netfilter/iptables no kernel Linux, a expressão recomendada é:

-p tcp -m tcp --sport 1024:65535 --dport 1024:65535

Essa expressão mantém a mesma lógica do decoder:

ExpressãoSignificado
-p tcpFiltra apenas protocolo TCP
-m tcpUsa o módulo TCP do iptables
--sport 1024:65535Porta de origem entre 1024 e 65535
--dport 1024:65535Porta de destino entre 1024 e 65535

A vantagem dessa forma é a simplicidade. Como há apenas um range de porta de origem e um range de porta de destino, não há necessidade de usar multiport.

Caso seja utilizado multiport, é necessário tomar cuidado para não aplicar uma lógica diferente da desejada. O decoder precisa casar tráfego onde as duas condições sejam verdadeiras ao mesmo tempo:

porta de origem alta
E
porta de destino alta

Included Decoders

IP, TCP

O decoder TCP-1024 é um subconjunto do tráfego TCP, e TCP é um subconjunto de IP. Por isso, faz sentido manter IP e TCP como decoders incluídos.

Essa configuração ajuda o Wanguard a organizar corretamente a contabilização em gráficos, relatórios e estatísticas.


Conflicting Decoders

IP, TCP

Como o tráfego TCP-1024 também pode ser classificado genericamente como TCP, existe sobreposição com decoders mais amplos.

O campo Conflicting Decoders ajuda a evitar interpretação incorreta em gráficos empilhados e classificações simultâneas. Na prática, isso evita que o mesmo tráfego seja interpretado de forma duplicada ou confusa em determinadas visualizações.


Filter Engine

Generic IPv4/IPv6

A opção Generic IPv4/IPv6 é adequada porque o decoder foi definido tanto para IPv4 quanto para IPv6.

Essa escolha permite que o Wanguard aplique a lógica do decoder nas duas pilhas de protocolo, desde que os sensores e filtros estejam corretamente configurados.


Exemplos práticos de uso

Exemplo 1: tráfego de jogo online em porta alta

Cenário:

Cliente: 198.51.100.10:52144
Servidor: 203.0.113.50:27015
Protocolo: TCP

Análise:

porta de origem = 52144
porta de destino = 27015
ambas >= 1024
protocolo = TCP

Resultado: o tráfego casa com o decoder TCP-1024.

Esse tipo de classificação pode ajudar na identificação de aplicações que não utilizam portas conhecidas e que geram grande volume de tráfego em portas altas.


Exemplo 2: acesso HTTPS comum

Cenário:

Cliente: 198.51.100.10:52144
Servidor: 203.0.113.80:443
Protocolo: TCP

Análise:

porta de origem = 52144
porta de destino = 443
somente a origem é >= 1024

Resultado: o tráfego não casa com o decoder TCP-1024.

Isso é esperado. O decoder não foi criado para classificar HTTPS padrão, pois HTTPS normalmente utiliza a porta 443 no lado do servidor.


Exemplo 3: ataque TCP com portas altas

Cenário:

Origem: múltiplos IPs externos
Destino: 203.0.113.100
Portas de origem: aleatórias acima de 1024
Portas de destino: aleatórias acima de 1024
Protocolo: TCP
Sintoma: aumento anormal de pacotes por segundo

Nesse caso, o decoder TCP-1024 pode ajudar a separar esse tráfego do TCP convencional em portas conhecidas.

Uma política de mitigação poderia considerar:

decoder = TCP-1024
destino = IP atacado
pps acima do baseline
bps acima do baseline
fluxos por segundo acima do normal
duração mínima da anomalia

A mitigação pode ser feita com rate-limit, discard, redirect para scrubbing ou anúncio FlowSpec, dependendo da política operacional da rede.


Exemplo 4: mitigação seletiva por FlowSpec

Em vez de bloquear todo TCP contra o IP atacado, a rede pode aplicar uma regra mais específica:

protocolo TCP
source-port >= 1024
destination-port >= 1024
destino = IP atacado
ação = rate-limit ou discard

Esse tipo de mitigação é mais seguro do que uma regra TCP genérica, pois reduz o escopo da ação e evita impactar serviços legítimos em portas conhecidas.

Mesmo assim, é essencial validar o comportamento do tráfego antes de ativar mitigação automática.


Cuidados operacionais

Apesar de útil, o decoder TCP-1024 é amplo. Portas altas são comuns em aplicações legítimas, especialmente em jogos, P2P, sistemas proprietários, conexões entre aplicações e alguns serviços internos.

Por isso, a recomendação é não usar esse decoder isoladamente como critério único de bloqueio.

O ideal é combinar o decoder com outros indicadores, como:

  • IP de destino atacado
  • volume em bits por segundo
  • pacotes por segundo
  • fluxos por segundo
  • TCP flags
  • ASN de origem
  • país de origem
  • baseline histórico
  • threshold por IP Zone
  • tipo de serviço do cliente

Também é recomendável validar o comportamento em modo passivo antes de habilitar ações automáticas.


Validação técnica das expressões

CampoStatusObservação
Flow SyntaxCorretaproto 6 and src port ge 1024 and dst port ge 1024 está coerente com a lógica do decoder.
GoBGP SyntaxCorretasource-port >=1024 destination-port >=1024 protocol tcp está coerente. Validar se o ambiente aceita tcp ou exige 6.
ExaBGP SyntaxCorretaprotocol [6]; source-port [>=1024]; destination-port [>=1024]; está coerente.
BPF SyntaxCorretaCasa TCP com origem e destino no range 1024-65535.
ACL IPv4 DPDKCorretaRepresenta qualquer origem/destino IPv4, portas altas nos dois lados e protocolo TCP.
ACL IPv6 DPDKCorretaMesma lógica da IPv4, usando ::/0.
Netfilter ExpressionAjustadaRecomendada: -p tcp -m tcp --sport 1024:65535 --dport 1024:65535.

Resumo das expressões

CampoExpressão
Flow Syntaxproto 6 and src port ge 1024 and dst port ge 1024
GoBGP Syntaxsource-port >=1024 destination-port >=1024 protocol tcp
ExaBGP Syntaxprotocol [6]; source-port [>=1024]; destination-port [>=1024];
BPF Syntaxtcp && src portrange 1024-65535 && dst portrange 1024-65535
ACL IPv4 DPDK0.0.0.0/0 0.0.0.0/0 1024-65535 1024-65535 6-6 0/0x0 0/0x0 0-65535
ACL IPv6 DPDK::/0 ::/0 1024-65535 1024-65535 6-6 0/0x0 0/0x0 0-65535
Netfilter-p tcp -m tcp --sport 1024:65535 --dport 1024:65535

Conclusão

O decoder TCP-1024 é uma configuração útil para classificar tráfego TCP em portas altas, tanto em IPv4 quanto em IPv6.

Ele pode ser aplicado em cenários de monitoramento, análise de anomalias, mitigação com Packet Filter, mitigação com DPDK e anúncios BGP FlowSpec via GoBGP ou ExaBGP.

A principal vantagem é permitir uma classificação mais específica do tráfego TCP, evitando que todo tráfego TCP seja tratado da mesma forma durante uma anomalia.

Por outro lado, a principal cautela é evitar ações agressivas sem validação. Como portas altas também são utilizadas por tráfego legítimo, a mitigação deve considerar volume, comportamento, destino atacado, baseline e impacto operacional.

Antes de ativar mitigação automática, valide o decoder em modo passivo, confira os gráficos, analise os tops de origem/destino e confirme se o tráfego classificado realmente corresponde ao padrão esperado.


Flowspec Solutions
Segurança, visibilidade e mitigação DDoS para provedores e redes críticas.

Flowspec Solutions
_ _
°v° 🐧😎
/(_)\ https://flowspec.net.br
^ ^

COMPARTILHE

WhatsApp
Facebook
Twitter
LinkedIn

Você pode gostar

Sobre nós
A Flowspec Solutions é uma empresa de Telecomunicações focada em mitigação de ataques DDoS criada para oferecer ao mercado a melhor conexão de internet através de redes NGN de última geração, com uma infraestrutura de alta capacidade e com soluções customizadas para SOC e empresas de todos os portes. Nossa empresa nasceu da determinação de seus fundadores e da crença de que podemos fazer o melhor para nossos clientes e colaboradores
Redes sociais
artigos em destaque
assine o nosso newsletter