GH GambleHub

Protezione e filtraggio dei pacchetti

1) Perché è necessario

DDoS è la «degradazione di massa» delle risorse: banda/pps, tabelle di stato, CPU kernel/IRQ, pool di connessione, limiti delle applicazioni. Lo scopo è di disattivare la protezione: spegnere il volume sul perimetro della rete, neutralizzare le anomalie protocollari fino alla pila TCP/IP, e ritagliare le richieste indesiderate su L7, mantenendo SLO per gli utenti legittimi.

2) Classi di attacco

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.
Le caratteristiche di QUIC/UDP sono le tempeste iniziali/Retry false, spoofed source.

2. 2 L7 (application)

HTTP/1. 1: richieste per percorsi costosi, header oversize/field smuggling.
HTTP/2: Rapid Reset, stream-flood, HEADERS flood, PRIORITY abuse.
HTTP/3 (QUIC) - Connessioni/flussi senza completamento, Iniziale flood.
Slow-атаки: slowloris/slow-read/slow-POST.
gRPC/WebSocket: strike infiniti, messaggistica-flood, grandi cornici.

3) Architettura di protezione di base

1. Anycast + Scrubbing

Spruzza il traffico globalmente e sposta attraverso i centri scarubbing di provider (ritaglio di volumetric/spoofing sul bordo).

2. Multi-CDN / Multi-Edge

Espansione dei domini (Web, API, statica), aggregazione della protezione e cache per il carico di lavoro read.

3. Filtri a basso livello sul perimetro

ACL su router border (RFC1918, bogon, porte contraffatte).
eBPF/XDP per early-drop per firme e rate-limiti fino al conntrack.

4. Perimetro L7 (NGINX/Avvoy/WAF)

Compressione RPS per chiavi, challenge (captcha/PoW), cache, priorità dei percorsi costosi.

5. Stabilità interna

Pool di connessioni, code, circuito/timeout, servizi di isolamento (bulkhead) e autoscaling con tappi (shedder).

4) Valvole di rete: cosa abilitare subito

4. 1 Linux sysctl (kernel/stack)

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 nftable: filtri di base e ratelimit sui pacchetti

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 (idea)

I pacchetti con sorgente spoofed Early-drop sono benvenuti.
bacchette hash pps per/32 e per/24; quarantena dinamica delle sorgenti.
Etichette UDP-reflection: DNS response-like per l'accesso (filtra fuori contesto).

5) UDP amplificazione: inventario e blocchi

Riflettori/amplificatori frequenti: DNS (open resolvers), NTP (monlist), CLDAP, SSDP, mDNS, Memcached (UDP), Argen.

Misure:
  • Chiudi/limita i servizi UDP e minimizza le porte aperte.
  • Il perimetro limita il pps/bitrate per le porte conosciute.
  • Raccomandazione DNS: ricorsibile solo per le proprie reti, RRL (Response Rate Limiting), minimizzazione ANY.
  • NTP - solo «bottino» ai fidati, «noquery» ai pubblici.

6) TCP state exhaustion

SYN flood: 'tcp _ syncookies = 1', aumentato'tcp _ max _ syn _ backlog ',' synack _ retries = 3 ', drop per pps.
ACK/RST flood - Limiti a basso livello, interruzioni di sequenze illegali (nftable/ebpf).
Connrack-less sul border - Non sprecare tabelle di stato dove il filtro è possibile in base alla firma stateless.

7) HTTP/2/3 e attacchi «intelligenti» L7

HTTP/2 Rapid Reset: limite di frequenza dei frame RST e numero di flussi aperti Chiudere la connessione in caso di anomalie.
Stream abuse: лимит concurrent streams, headers size, max frame size.
QUIC/HTTP/3: limita Iniziale pps, abilita Retry; brevi timeout handshake.

NGINX (sezione 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;

Invoy (anti-reset e limiti)

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) Attacchi slow e protezione delle risorse

Slowloris/slow-read/slow-POST: abilita «proxy _ sollest _ buffering on», basso idle-timeout, minimo accettabile «read _ rate».
Interrompe le connessioni con un intervallo di query lungo.
L'applicazione contiene la lettura precoce del corpo, i limiti di dimensione e profondità JSON.

9) Filtraggio L7: chi è più importante - lascia passare

Classificazione del traffico: known good (partner mTLS/JWT), utenti registrati, anonimi.
Priorità: «costose» rotte write (depositi/conclusioni) - proteggere, ma saltare le rotte confermate; directory read - cache + throttle.
Livello challenge: captcha/PoW/JS Challenge per le zone grigie a picco.

10) Cache, coalescing e degrado

Edge-cache per le risposte statiche/quasi-istatiche, 'stale-while-revalidate'.
Richiest coalescing - Consente di collegare richieste parallele a una sola chiave, nel proxy e nell'applicazione.
Modalità Delrade: disattiva le feci secondarie (personalizzazione, rapporti pesanti), visualizza pagine leggere.

11) Osservabilità e telemetria

Metriche (per RR/nodo/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`.
  • Dipendenze: CPU IRQ soft/hard, NIC queue drops, run-queue length.

Logi: condensati, aggregati a/24, ASN, porte e firme; senza PII.
Tracing: includere su elenchi bianchi, espandere di emergenza il sampling per il debug.

12) Piani di risposta (runbook)

1. Oggetto: attivazione delle soglie pps/bps/429/h2 _ rst _ rate.
2. Classificazione livello (L3/4/7), protocollo (UDP/TCP/h2/h3), geo/ASN.

3. Valvole:
  • includere i profili scrubbing/blackhole sul provider,
  • Rafforzare i limiti nftable/ebpf,
  • Ridurre i limiti L7 e aumentare i challenge,
  • Abilita Retry per QUIC (Iniziale flood).
  • 4. Comunicazioni: stato pagina, modelli di notifica per i partner.
  • 5. Forenzica: cattura PCAP da 60 a 120 secondi, campionamento top talkers ASNs/porte.
  • 6. Retrospettiva: aggiorna firme, soglie, elenchi di riflettori.

13) Test e esercitazioni

Playbook trimestrale: sintetici UDP/HTTP burst, slow-out, HTTP/2 reset.
Game day: spostamenti Anycast/migrazione tra CDN, degrado a modalità leggera.
Controllo del provider: SLA scrubbing, ora di attivazione/disattivazione dei filtri, max pps/bps.

14) Antipattern

Affidarsi solo a L7-WAF per un attacco volumetrico.
Nessun uRPF/ACL sul border e conntrack-heavy filtrare «frontale».
Titoli/corpi illimitati e lunghi keep-alive a picco.
Un'unica regione/RR senza Anycast/multi-edge.
Nessuna scorta NIC/IRQ/CPU e monitoraggio code.
Niente cache/coalizione - RPS superflui per backend.

15) Specificità iGaming/finanza

Picchi temporanei (match/derby/lotto-scherzi) - Espandere in anticipo la capacità POP, attivare la cache aggressiva dei coefficienti, allineare i canary challenge per gli anonimi.
Rotte di pagamento/output: un singolo edge pool con mTLS, brevi timeout, limiti di competitività; niente 0-RTT.
Geo-policy: allow-light regionali, filtro ASN «hosting», failover geo veloce.
Intersezione con antifrode: i limiti velocity e l'API Risk passano al profilo rigido in caso di incidente DDoS.

16) Assegno-foglio prod-pronto

  • Anycast или multi-edge/CDN; i canali scrubbing sono stati controllati.
  • Border-ACL/uRPF; profili nftable/ebpf/XDP, filtraggio conntrack-less.
  • Sysctl-tuning TCP/SYN, limity pps per porte amplificatori UDP.
  • HTTP/2/3 limiti (streams, frames, headers), protezione slow, body/header-limits.
  • Limiti L7 e challenge; cache e coalescing sul perimetro.
  • Dashboard pps/bps/conntrack/IRQ + L7 RED; alert su anomalie h2 _ rst/429.
  • Runbook/playbook, contatti del provider, one-click attivazione dei profili.
  • Esercitazioni: burst, slow, HTTP/2 reset; report e rilevamento dei miglioramenti.
  • I pool separati per le rotte di pagamento/criticità, i limiti fissi e rigorosi.

17) TL; DR

Disattivare la protezione: Anycast + scrubbing taglia il volume, taglia la spazzatura fino alla pila, i limiti L7/challenge/cache conservano la SLA. Sintonizzate TCP (SYN cookies, backlog), limitate gli amplificatori UDP, impostate i limiti HTTP/2/3 e la protezione slow. Possiedi il runbook e allenatelo; per - Espandere l'edge in anticipo durante gli orari di picco e separare i percorsi di pagamento con i limiti fissi e rigidi.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Telegram
@Gamble_GC
Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.