GH GambleHub

Protecția și filtrarea pachetelor DDoS

1) De ce aveți nevoie de ea

DDoS este o „degradare masivă” a resurselor: bandă/pps, tabele de stat, procesor de bază/IRQ, bazine de conexiune, limite de aplicare. Scopul este de a stratifica protecția: stingeți volumul pe perimetrul rețelei, neutralizați anomaliile protocolului la stiva TCP/IP și tăiați cererile nedorite pe L7, economisind SLO pentru utilizatorii legitimi.

2) clase de atac

2. 1 L3/L4 (volumetric/protocol)

Volumetric: UDP inundații, UDP-reflecție/amplificare (DNS/CLDAP/NTP/SSDP/memcached/mDNS), GRE inundații.
Epuizare protocol/stare: inundații SYN, inundații ACK/RST, epuizare conexiune TCP, inundații ICMP, fragmentare TCP.
Caracteristici QUIC/UDP: furtuni inițiale/Retry false, sursă falsă.

2. 2 L7 (aplicare)

HTTP/1. 1: interogări în spatele rutelor scumpe, supradimensionarea antetului/contrabanda pe teren.
HTTP/2: Resetare rapidă, flux de inundații, inundații HEADERS, abuz de prioritate.
HTTP/3 (QUIC): conexiuni/fire fără terminare, inundații inițiale.
Lent- атаки: slowloris/lent-read/lent-POST.
gRPC/WebSocket: fluxuri nesfârșite, inundații de mesaje, cadre mari.

3) Arhitectura de securitate de bază

1. Anycast + Frecare

Pulverizați traficul la nivel global și conduceți prin centrele de spălare a furnizorilor (tăiați volumetric/spoofing la margine).

2. Multi-CDN/Multi-Edge

Separarea domeniului (web, API, static), agregarea protecției și memoria cache pentru încărcarea citirii.

3. Filtre de nivel scăzut pe perimetrul său

ACL-uri pe routere de frontieră (RFC1918, bogon, porturi false cunoscute).
eBPF/XDP pentru early-drop pe semnături și limitele ratei de până la conntrack.

4. Perimetrul L7 (NGINX/Trimisul/WAF)

Compresie RPS prin chei, provocare (captcha/PoW), memorie cache, prioritizarea căilor „scumpe”.

5. Stabilitate internă

Piscine de conectare, cozi, circuit/timeout, de izolare de serviciu (perete etanș) și shedder autoscaling.

4) Rețeaua „supape”: ce să activați imediat

4. 1 Linux sysctl (nucleu/stivă)

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 nftables: filtre de bază și ratelimit pe pachete

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

Pachete early-drop cu sursă spoofed (uRPF este binevenit pe router).
hash buckets pps per/32 și per/24; „carantina” dinamică a surselor.
UDP-reflecție: semnături DNS ca răspuns (filtru din context).

5) Amplificarea UDP: inventar și blocuri

Reflectoare/amplificatoare frecvente: DNS (open resolvers), NTP (monlist), CLDAP, SSDP, mDNS, Memcached (UDP), Chargen.

Măsuri:
  • Închideți/restricționați serviciile UDP, minimizați porturile deschise.
  • La perimetru, limita pps/bitrate pentru porturi cunoscute.
  • Recomandare DNS: recursiv numai pentru rețelele sale, RRL (Limita ratei de răspuns), minimizarea ANY.
  • NTP - numai „bootstrap” de încredere, „noquery” pentru public.

6) Epuizarea stării TCP

Inundații SYN: 'tcp _ syncookies = 1', creșterea 'tcp _ max _ syn _ backlog', 'synack _ retries = 3', picătură cu pps.
Inundații ACK/RST: limite de nivel scăzut, screening-ul secvențelor nelegitime (nftables/ebpf).
Conntrack-less pe frontieră: nu deșeuri tabele de stat în cazul în care filtrul este posibil prin semnătura apatrizilor.

7) atacuri HTTP/2/3 și inteligente L7

HTTP/2 Rapid Reset: limitarea frecvenței cadrelor RST și a numărului de fluxuri deschise; închide conexiunea în caz de anomalii.
Abuz de flux: лимит fluxuri concurente, dimensiunea anteturilor, dimensiunea maximă a cadrului.
QUIC/HTTP/3: limitați pps inițial, activați Retry; timp scurt de strângere de mână.

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

Trimisul (anti-resetare și limite)

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) Atacuri lente și protecția resurselor

Slowloris/lent-read/slow-POST: activați 'proxy _ request _ buffering on', low inactiv-timeout, minim acceptabil 'read _ rate'.
Termina conexiunile la un interval lung inter-pachet la cerere.
La aplicare - lectură timpurie/aruncarea corpului, limitele de dimensiune/adâncime JSON.

9) Filtrarea L7: cine este mai important - lăsați-l să treacă

Clasificarea traficului: bine cunoscut (mTLS/parteneri JWT), utilizatori înregistrați, anonimi.
Prioritati: trasee de scriere „scumpe” (depozite/concluzii) - protejate, dar confirmate de dor; citi-directoare - cache + accelerație.
Provocare strat: captcha/PoW/JS provocări pentru zonele gri la vârf.

10) Cache, coalescență și degradare

Memorie cache pentru răspunsuri statice/cvasi-statice, 'stale-în timp ce-revalidate'.
Cerere de coalescing: colaps cereri paralele la o singură cheie - în proxy și în aplicație.
Modul Degrade: dezactivați caracteristicile secundare (personalizare, rapoarte grele), eliberați pagini „ușoare”.

11) Observabilitate și telemetrie

Valori (per POP/nod/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'.
  • Dependențe: CPU IRQ moale/greu, picături de coadă NIC, lungimea cozii de rulare.

Jurnale: eșantionate, agregate cu/24, ASN, porturi și semnături; fără PII.
Urmărire: activați pe listele albe, extindeți eșantionarea crash pentru depanare.

12) Planuri de răspuns (runbook)

1. Detectarea: declanșarea pragurilor pps/bps/429/h2_rst_rate.
2. Clasificare: nivel (L3/4/7), protocol (UDP/TCP/h2/h3), geo/ASN.

3. Supape:
  • activați profilurile de spălare/gaură neagră de pe furnizor
  • consolidarea limitelor nftables/ebpf
  • limite mai mici ale L7 și provocări mai mari
  • activați Încercați din nou pentru QUIC (inundații inițiale).
  • 4. Comunicații: pagina de stare, șabloane de notificare pentru parteneri.
  • 5. Criminalistica: captura PCAP pentru 60-120 secunde, prelevarea de probe de top talkers ASNs/porturi.
  • 6. Retrospectivă: actualizați semnăturile, pragurile, listele reflectoarelor.

13) Testarea și exerciții

DDoS-drill playbooks trimestrial: sintetice UDP/HTTP explozii, trafic lent, HTTP/2 resetare.
Ziua jocului: Comutatoare Anycast/migrarea între CDN-uri, degradarea la „modul ușor”.
Verificarea furnizorului: spălare SLA, timp de pornire/oprire a filtrului, max pps/bps.

14) Antipattern

Bazează-te doar pe L7-WAF pentru atac volumetric.
Nu uRPF/ACL pe bordură și conntrack-heavy filtrare cap-on.
Anteturi/corpuri nelimitate și păstrați-viață lungă la vârf.
O singură regiune/ROR fără Anycast/multi-edge.
Nu există inventar NIC/IRQ/CPU și monitorizare coadă.
Fără memorie cache/coalescing - RPS suplimentar pentru backend.

15) Specificul iGaming/Finanțe

Vârfuri temporare (meciuri/derby/loto): extindeți capacitatea POP în avans, includeți un cache agresiv de coeficienți, puneți provocări canare pentru persoanele anonime.
Rute de plată/ieșire: un bazin de margine separat cu mTLS, termene scurte, limite competitive; fără 0-RTT.
Geo-politicieni: lumini regionale permise, filtrarea ASN a „găzduirii”, geo-comutarea rapidă.
Intersecția cu antifraudă: limitele de viteză și API de risc intră într-un profil „greu” într-un incident DDoS.

16) Lista de verificare Prod Readiness

  • Anycast или multi-edge/CDN; canale de frecare verificate.
  • Border-ACL/uRPF; profile nftables/ebpf/XDP, conntrack-less filtrare.
  • Tuning Sysctl TCP/SYN, limită pps pentru porturile de amplificare UDP.
  • limite HTTP/2/3 (fluxuri, cadre, antete), protecție lentă, limite de caroserie/antet.
  • Limitele și provocarea L7; cache și coalescing pe perimetru.
  • Tablouri de bord pps/bps/conntrack/IRQ + L7 RED; alerte la anomalii h2_rst/429.
  • Runbook/playbook-uri, contacte furnizor, profiluri activarea cu un singur clic.
  • Învățături: explozii, resetare lentă, HTTP/2; raportează și înregistrează îmbunătățiri.
  • Piscine împărțite pentru rute de plată/critice, mTLS și limite stricte.

17) TL; DR

Protecție stratificată: Anycast + volumul amortizoarelor de spălare, eBPF/XDP + nftables taie gunoiul în stivă, limitele/provocările/memoria cache L7 păstrează SLA. Tune TCP (cookie-uri SYN, restanțe), limitarea amplificatoarelor UDP, setarea limitelor HTTP/2/3 și protecția lentă. Au un runbook și tren-l; pentru iGaming - extindeți marginea în avans în timpul orelor de vârf și a căilor de plată separate cu mTLS și limitele hard.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Telegram
@Gamble_GC
Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.