GH GambleHub

Proteção e filtragem de pacotes

1) Por que é necessário

DDoS são «degradação em massa» de recursos: banda/pps, tabelas de estado, CPU de núcleo/IRQ, pool de conexões, limites de aplicativos. O objetivo é dissecar a proteção: apagar o volume no perímetro da rede; neutralizar as anomalias protocolares até a pilha TCP/IP; e cortar os pedidos indesejados em L7, mantendo o SLO para usuários legítimos.

2) Classes de ataque

2. 1 L3/L4 (volumetric/protocol)

Volumetric: UDP flood, UDP-reflection/amplification (DNS/CLDAP/NTP/SSDP/memcached/mDNS), GRE flood.
Protocol/state exhaustion: SYN flood, ACK/RST flood, TCP connection-exhaustion, ICMP flood, TCP fragmentation.
QUIC/UDP características são falsas tempestades Inicial/Retry, spoofed surce.

2. 2 L7 (application)

HTTP/1. 1: pedidos de rotas caras, header oversize/field smuggling.
HTTP/2: Rapid Reset, stream-flood, HEADERS flood, PRIORITY abuse.
HTTP/3 (QUIC): conexões/fluxos sem conclusão, Inicial flood.
Slow-атаки: slowloris/slow-read/slow-POST.
Striptease sem fim, mensagem-flood, grandes quadros.

3) Arquitetura básica de proteção

1. Anycast + Scrubbing

Espalhe o tráfego globalmente e deslize através dos centros de escrutínio (corte de volume/spufing na borda).

2. Multi-CDN / Multi-Edge

Compartilhamento de domínios (Web, API, estática), agregação de proteção e cachê para carga read.

3. Filtros de baixo nível em seu perímetro

LCA em roteadores border (RFC1918, mogon, portos falsificados).
eBPF/XDP para early-drop por assinatura e rate-limite até conntrack.

4. Perímetro L7 (NGINX/Envoy/WAF)

Compactação RPS por chave, challenge (captcha/PoW), dinheiro, priorização de caminhos «caros».

5. Sustentabilidade interna

Poulas de conexões, filas, circuito/timeout, serviços de isolamento (bulkhead) e autoscaling com «tapas» (shedder).

4) Válvulas de rede: o que ligar imediatamente

4. 1 Linux sysctl (núcleo/pilha)

bash
TCP SYN flood sysctl -w net. ipv4. tcp_syncookies=1 sysctl -w net. ipv4. tcp_max_syn_backlog=4096 sysctl -w net. ipv4. tcp_synack_retries=3

Conntrack/sysctl -w net tables. netfilter. nf_conntrack_max=262144 sysctl -w net. netfilter. nf_conntrack_tcp_timeout_established=300

ICMP/redirect sysctl -w net. ipv4. icmp_echo_ignore_broadcasts=1 sysctl -w net. ipv4. conf. all. accept_redirects=0 sysctl -w net. ipv4. conf. all. send_redirects=0

sysctl -w net socket resources. core. somaxconn=4096 sysctl -w net. core. netdev_max_backlog=250000 sysctl -w net. core. rmem_max=134217728 sysctl -w net. core. wmem_max=134217728

4. 2 nftáveis: filtros básicos e ratelimit em pacotes

nft table inet filter {
sets {
bogon { type ipv4_addr; flags interval; elements = { 0. 0. 0. 0/8, 10. 0. 0. 0/8, 100. 64. 0. 0/10,
127. 0. 0. 0/8, 169. 254. 0. 0/16, 172. 16. 0. 0/12, 192. 0. 2. 0/24, 192. 168. 0. 0/16, 198. 18. 0. 0/15, 224. 0. 0. 0/4 } }
}
chains {
input {
type filter hook input priority 0; policy drop;
ip saddr @bogon drop ct state established,related accept

UDP amplification ports - limit pps udp dport {53,123,1900,11211,389,1900,5353} limit rate over 2000/second drop

SYN rate-limit tcp flags syn tcp dport {80,443} limit rate over 2000/second drop

ICMP flood ip protocol icmp limit rate 100/second accept
}
}
}

4. 3 XDP/eBPF (ideia)

Early-drop pacotes com origem spoofed (uRPF no roteador é bem-vindo).
hash-baquetas pps por/32 e per/24; quarentena dinâmica de fontes.
Assinaturas UDP-reflation: DNS response-like para logon (filtrar fora do contexto).

5) UDP amplificação: inventário e blocos

Refletores/amplificadores frequentes: DNS (open resisters), NTP (monlist), CLDAP, SSDP, mDNS, Memcached (UDP), Chargen.

Medidas:
  • Fechar/limitar serviços UDP, minimizar portas abertas.
  • No perímetro, limite pps/bitrite para portas conhecidas.
  • Recomendação DNS: Recorsando apenas para suas redes, RRL (Response Rate Limiting), minimizando ANY.
  • NTP é apenas «botstrap» para fiéis, «noquery» para públicos.

6) TCP state exhaustion

SYN flood: 'tcp _ syncookies = 1', elevado 'tcp _ max _ syn _ backlog', 'synack _ retries = 3', drop por pps.
ACK/RST flood: limites de baixo nível, descontinuidade de sequências ilegais (nftable/ebpf).
Conntrack-less no border: não consome tabelas de estado onde o filtro é possível por assinatura stateless.

7) HTTP/2/3 e L7 ataques «inteligentes»

HTTP/2 Rapid Reset: limite de frequência de quadros RST e número de fluxos abertos; fechar a ligação em casos de anomalias.
Stream abuse: лимит concurrent streams, headers size, max frame size.
QUIC/HTTP/3: limitar o Inicial pps, incluir o Retry; Times de handshake curtos.

NGINX (fatia L7)

nginx
Header/body constraint client_max_body_size 1m;
large_client_header_buffers 4 8k;

HTTP/2 limits http2_max_concurrent_streams 128;
http2_recv_buffer_size 256k;

Rate limit by IP (example)
limit_req_zone $binary_remote_addr zone=reqs:20m rate=100r/s;
limit_req zone=reqs burst=200 nodelay;

Envoy (anti-reset e limites)

yaml http2_protocol_options:
max_concurrent_streams: 128 initial_stream_window_size: 65536 max_outbound_frames: 10000 stream_error_on_invalid_http_messaging: true

8) Ataques slow e proteção de recursos

Slowloris/slow-read/slow-POST: incluir 'proxy _ request _ buffering on', baixo idle-timeout, mínimo 'read _ rate' aceitável.
Interromper conexões quando o intervalo de solicitação é longo.
No aplicativo, leitura precoce do corpo, limites de tamanho/profundidade do JSON.

9) L7 filtragem: quem é mais importante - deixe passar

Classificação de tráfego: known good (parceiros mTLS/JWT), usuários registrados, anônimos.
Prioridades: rotas write «caras» (depósitos/conclusões) - proteger, mas omitir confirmados; diretório read - dinheiro + throttle.
Camada de challenge captcha/PoW/JS-challengs para zonas cinzentas no pico.

10) Cash, coalescing e degradação

Edge-dinheiro para respostas estáticas/quasistáticas, 'stale-while-revalidate'.
Request coalescing: contrate solicitações paralelas a uma chave, no proxy e no aplicativo.
Modo Degrade: desativar fichas secundárias (personalização, relatórios pesados), emitir páginas «leves».

11) Observabilidade e telemetria

Métricas (per RR/nó/cluster):
  • L3/L4: `pps_in/out`, `bps_in/out`, `drop_pps{reason}`, `syn_recv`, `conntrack_used/limit`, `xdp_drop_pps`.
  • L7: `requests_total{route}`, `429_total`, `challenge_total{type}`, `h2_rst_rate`, `slow_req_total`.
  • Dependências: CPU IRQ soft/hard, NIC queue drops, run-queue length.

Logs: sampleados, agregados por/24, ASN, portos e assinaturas; sem PII.
Traising: Incluir em listas brancas, expandir o sampling para depuração.

12) Planos de resposta (runbook)

1. Detecção: ativa liminares pps/bps/429/h2 _ rst _ rate.
2. Classificação: nível (L3/4/7), protocolo (UDP/TCP/h2/h3), geo/ASN.

3. Válvulas:
  • incluir perfis de agrubbing/blackhole no provedor,
  • reforçar nftable/ebpf limites,
  • Reduzir os limites L7 e aumentar o desafio,
  • incluir Retry para QUIC (Inicial flood).
  • 4. Comunicações: Página de status, modelos de notificação para parceiros.
  • 5. Forensica: captura de PCAP entre 60 e 120 segundos, amostra top talkers ASNs/porte.
  • 6. Retrospectiva: atualizar assinaturas, liminares, listas de refletores.

13) Testes e exercícios

Playbooks trimestrais: UDP sintético/HTTP burst, tráfego slow, HTTP/2 reset.
Game day: alternar Anycast/migração entre CDN, degradação para «modo fácil».
Verificação do provedor: SLA agrubbing, tempo de ativação/desligamento de filtros, max pps/bps.

14) Antipattern

Basear-se apenas no L7-WAF no ataque de volume.
Sem uRPF/ACL no border e conntrack-heavy filtra «testa».
Títulos/corpos ilimitados e longos keep-alive no auge.
Uma única região/RR sem Anycast/multi-edge.
Falta de suprimentos NIC/IRQ/CPU e monitoramento de filas.
Nada de dinheiro/coligação - RPS extra para backend.

15) Especificidades do iGaming/Finanças

Picos temporários (jogos/derbi/jogos loto): aprimore a capacidade do POP com antecedência, inclua o dinheiro agressivo de coeficientes, instale canary-challengs para anónimos.
Rotas de pagamento/saída: edge-pool separado com mTLS, curtos horários, limites de competição; Nada de 0-PTT.
Políticas geo: alow-light regionais, filtragem ASN «hospedagem», mudança geo rápida.
Cruzamento com antifrode: os limites velocity e Risk API passam para um perfil rígido em um incidente DDoS.

16) Folha de cheque pró-prontidão

  • Anycast или multi-edge/CDN; canais de agrubbing verificados.
  • Border-LCA/uRPF; nftable/ebpf/XDP perfis, conntrack-less filtragem.
  • Sysctl-sintonizar TCP/SYN, limity pps para amplificadores de portas UDP.
  • HTTP/2/3 limites (streams, frames, headers), protecção slow, body/header-limits.
  • Limites L7 e challenge; cash e coalescing no perímetro.
  • Dashboard pps/bps/connack/IRQ + L7 RED; alertas em anomalias h2 _ rst/429.
  • Runbook/playbooks, contatos do provedor, one-click inclusão de perfis.
  • Exercícios: bursts, slow, HTTP/2 reset; relatório e captação de melhorias.
  • Pool dividido para rotas de pagamento/crítica, mTLS e limites rigorosos.

17) TL; DR

Relaxe a proteção: Anycast + scrubbing apaga o volume, eBPF/XDP+nftables corta o lixo até a pilha, L7-limites/challengs/dinheiro mantém a SLA. Assinar TCP (SYN cookies, backlog), limitar amplificadores UDP, definir limites HTTP/2/3 e proteção slow. Tenha runbook e treine-o; para iGaming - expanda o edge com antecedência nos horários de pico e separe as rotas de pagamento com limites mTLS e rígidos.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Telegram
@Gamble_GC
Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.