GH GambleHub

DDoS қорғау және пакеттерді сүзу

1) Бұл не үшін қажет

DDoS - бұл ресурстардың «жаппай тозуы»: жолақ/pps, жай-күй кестелері, ядро/IRQ CPU, қосылыс пулдары, қосымшалар лимиттері. Мақсаты - қорғауды топтастыру: желі периметріндегі көлемді өшіру, протоколдық аномалияларды TCP/IP стегіне дейін бейтараптандыру, ал L7-де заңды пайдаланушылар үшін SLO сақтай отырып, жағымсыз сұрауларды алып тастау.

2) Шабуыл сыныптары

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 ерекшеліктері: жалған Initial/Retry дауыл, spoofed source.

2. 2 L7 (application)

HTTP/1. 1: қымбат маршруттарға сұрау салу, header oversize/field smuggling.
HTTP/2: Rapid Reset, stream-flood, HEADERS flood, PRIORITY abuse.
HTTP/3 (QUIC): қосылымдар/ағындар аяқталмай, Initial flood.
Slow-атаки: slowloris/slow-read/slow-POST.
gRPC/WebSocket: шексіз ағымдар, message-flood, ірі фреймдер.

3) Қорғаныстың базалық сәулеті

1. Anycast + Scrubbing

Трафикті жаһандық түрде шашырату және провайдерлік scrubbing орталықтары арқылы айдау (шетінде volumetric/спуфингті кесу).

2. Multi-CDN / Multi-Edge

Домендерді тарату (веб, API, статика), қорғау агрегациясы және read-жүктеме үшін кэш.

3. Өзінің периметріндегі төмен деңгейлі сүзгілер

Бордер-маршрутизаторлардағы ACL (RFC1918, bogon, көрінеу жалған порттар).
eBPF/XDP early-drop үшін conntrack дейін белгілер мен rate-лимиттер бойынша.

4. L7-периметр (NGINX/Envoy/WAF)

RPS-ті кілттер бойынша қысу, challenge (captcha/PoW), кэш, «қымбат» жолдарға басымдық беру.

5. Ішкі тұрақтылық

Қосылу пулдары, кезектер, circuit/timeout, сервистерді оқшаулау (bulkhead) және «тығындары» бар autoscaling (shedder).

4) Желілік «клапандар»: бірден не қосу керек

4. 1 Linux sysctl (ядро/стек)

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: пакеттердегі базалық сүзгілер мен ratelimit

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 (идея)

Spoofed көзі бар Early-drop пакеттері (маршрутизаторда uRPF құпталады).
pps per/32 және per/24 хеш-бакеттері; көздердің динамикалық «карантині».
UDP-reflection қолтаңбалары: DNS response-like (контекстен тыс сүзу).

5) UDP amplification: мүкәммал және блоктар

Жиі шағылыстырғыштар/күшейткіштер: DNS (open resolvers), NTP (monlist), CLDAP, SSDP, mDNS, Memcached (UDP), Chargen.

Шаралар:
  • UDP қызметтерін жабу/шектеу, ашық порттарды барынша азайту.
  • Периметрде белгілі порттар үшін pps/битрейтті шектеу.
  • DNS-ұсыныс: тек өз желілері үшін рекурсивті, RRL (Response Rate Limiting), ANY-ді барынша азайту.
  • NTP - тек сенімгерлерге «бутстрап», көпшілік үшін 'noquery'.

6) TCP state exhaustion

SYN flood: 'tcp _ syncookies = 1', жоғарылатылған 'tcp _ max _ syn _ backlog', 'synack _ retries = 3', pps бойынша drop.
ACK/RST flood: төмен деңгейлі лимиттер, легитимсіз тізбектерді алып тастау (nftables/ebpf).
Conntrack-less: күй кестелерін stateless-сигнатура бойынша сүзгі мүмкін болған жерде жұмсамау.

7) HTTP/2/3 және «ақылды» L7 шабуылдары

HTTP/2 Rapid Reset: RST-фреймдер жиілігінің және ашық ағындар санының лимиті; ауытқулар кезінде қосылысты жабу.
Stream abuse: лимит concurrent streams, headers size, max frame size.
QUIC/HTTP/3: Initial pps шектеу, Retry қосу; handshake қысқа таймауттары.

NGINX (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 және лимиттер)

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) Slow-шабуылдар және ресурстық қорғау

Slowloris/slow-read/slow-POST: 'proxy _ request _ buffering on', төмен idle-timeout, ең аз қолайлы 'read _ rate' қосу.
Сұрауға ұзақ пакетаралық аралықта қосылымдарды тоқтату.
Қосымшада - денені ерте оқу/лақтыру, JSON өлшемінің/тереңдігінің лимиттері.

9) L7 сүзу: кім маңызды - өтсін

Трафиктің жіктелуі: known good (mTLS/JWT серіктестері), тіркелген пайдаланушылар, анонимдер.
Басымдықтар: «қымбат» write-бағыттар (депозиттер/қорытындылар) - расталғандарын қорғау, бірақ өткізіп жіберу; read-каталогтар - кэш + throttle.
Challenge-қабат: captcha/PoW/JS-сұр аймақтар үшін шыңдалған кезде челлендждер.

10) Кэш, coalescing және тозу

Статикалық/квазистатикалық жауаптарға арналған Edge-кэш, 'stale-while-revalidate'.
Request coalescing: бір кілтке - проксиге және бағдарламаға қатарлас сұрау салу.
Degrade режимі: екінші дәрежелі фичтерді (дербестендіру, ауыр есептер) өшіру, «жеңіл» беттерді беру.

11) Бақылау және телеметрия

Метрика (per РОР/торап/кластер):
  • 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`.
  • Тәуелділік: CPU IRQ soft/hard, NIC queue drops, run-queue length.

Логи :/24, ASN, порттар мен сигнатуралар бойынша біріктірілген сэмплирленген; PII жоқ.
Трейсинг: ақ тізімдерде қосу, жөндеу үшін сэмплингті авариялық түрде кеңейту.

12) Ден қою жоспарлары (runbook)

1. Детект: pps/bps/429/h2_rst_rate шектерінің іске қосылуы.
2. Жіктелуі: деңгей (L3/4/7), хаттама (UDP/TCP/h2/h3), гео/ASN.

3. Клапандар:
  • провайдердегі scrubbing/blackhole профильдерін қосу,
  • nftables/ebpf лимиттерін күшейту,
  • L7-лимиттерді төмендету және челлендждерді арттыру,
  • QUIC (Initial flood) үшін Retry қосу.
  • 4. Коммуникация: мәртебе-бет, серіктестерге хабарлау үлгілері.
  • 5. Форензия: 60-120 сек PCAP ұстау, top talkers ASNs/ports іріктеу.
  • 6. Ретроспектива: сигнатураларды, табалдырықтарды, шағылыстырғыштар тізімін жаңарту.

13) Тестілеу және оқу-жаттығулар

DDoS-drill плейбуктері тоқсан сайын: синтетикалық UDP/HTTP бурстары, slow-трафик, HTTP/2 reset.
Game day: Anycast/CDN арасындағы көші-қон, «жеңіл режимге» дейін деградация.
Провайдерді тексеру: SLA scrubbing, сүзгілерді қосу/сөндіру уақыты, max pps/bps.

14) Антипаттерндер

Volumetric-шабуыл кезінде L7-WAF ғана сүйену керек.
Бордерде uRPF/ACL болмауы және conntrack-heavy «маңдайына» сүзу.
Лимитсіз тақырыптар/денелер және шыңында ұзын keep-alive.
Anycast/multi-edge жоқ бірыңғай өңір/РОР.
NIC/IRQ/CPU және кезек мониторингі бойынша қорлардың болмауы.
Кэш/коалесинг жоқ - бэкендке артық RPS.

15) iGaming/Қаржы ерекшелігі

Уақытша шыңдар (матчтар/дерби/лото-ұтыстар): алдын ала POP сыйымдылығын кеңейту, коэффициенттердің агрессивті кэшін қосу, анонимдер үшін canary-челлендждер салу.
Төлем/шығу бағыттары: mTLS бар жеке edge-пул, қысқа таймауттар, бәсекелестік лимиттері; ешқандай 0-RTT жоқ.
Гео-саясаттар: өңірлік allow-лайстер, ASN-« хостингтерді »сүзу, жылдам гео-ауыстырып қосу.
Антифродпен қиылысу: velocity-лимиттер және Risk API DDoS инциденті кезінде «қатаң» профильге өтеді.

16) Prod-дайындық чек-парағы

  • Anycast или multi-edge/CDN; scrubbing арналары тексерілді.
  • Бордер-ACL/uRPF; nftables/ebpf/XDP профильдері, conntrack-less сүзгісі.
  • Sysctl-тюнинг TCP/SYN, UDP порты-күшейткіштер үшін limity pps.
  • HTTP/2/3 лимиттер (streams, frames, headers), slow-қорғау, body/header-limits.
  • L7-лимиттер және challenge; периметрде кэш және coalescing.
  • pps/bps/conntrack/IRQ + L7 RED дашбордтары; аномалиядағы аллергия h2_rst/429.
  • Runbook/playbook, провайдер контактілері, профильді қосу.
  • Жаттығулар: бурсттар, slow, HTTP/2 reset; жақсартуларды есепке алу және тіркеу.
  • Төлем/сыни бағыттар, mTLS және қатаң лимиттер үшін бөлінген пулдар.

17) TL; DR

Қорғауды қабаттаңыз: Anycast + scrubbing көлемді өшіреді, eBPF/XDP + nftables қоқысты стекке дейін кеседі, L7-лимиттер/челлендждер/кэш SLA сақтайды. TCP (SYN cookies, backlog) сүзгілеңіз, UDP күшейткіштерін шектеңіз, HTTP/2/3 және slow-қорғауды шектеңіз. Runbook бар және оны жаттықтыру; iGaming үшін - ең жоғары сағаттарда алдын ала edge кеңейтіңіз және mTLS және қатаң лимиттермен төлем жолдарын бөліңіз.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.