DDoS himoyasi va paketlarni filtrlash
Qisqacha xulosa
DDoS hujumlari uch sinfda bo’ladi: L3/L4 volumetric (kanal/uskunani to’ldiradi), state-exhaustion (balansdagi/fayrvoldagi holatlar/CPU jadvallari tugaydi) va L7 (ilovaga «ishonchli» so’rovlar hosil qiladi). Samarali mudofaa bir nechta qatlamlarda quriladi: perimetrda tarmoq choralari, tarmoqdan tashqarida filtrlash/skrabbing, balanser/proksi va ilovada himoya qilish, shuningdek, o’lchaydigan SLO bilan operatsion tartib-qoidalar.
Tahdidlar manzarasi
Volumetric (UDP/ICMP flood, DNS/NTP/SSDP/CLDAP/Memcached): maqsad kanal va portlarni to’ldirishdir.
TCP state-exhaustion (SYN/ACK flood, TCP fragmentation, «yarim qoziqqa»): conntrack/listenerlarni tugatish.
L7 HTTP (S )/WebSocket/GraphQL flood, cache-busting, «sekin» soʻrovlar: ilovalarning CPU/IO va kesh qatlamlarini iste’mol qilish.
Reflection/Amplification: IP manbani almashtiruvchi ochiq reflektorlar/amplifayerlardan foydalanish.
Carpet bombing: trafikni koʻp IP/prefikslar boʻyicha taqsimlash, nuqtaviy filtrlashni murakkablashtiradi.
Bazaviy tarmoq choralari (hujumgacha)
1. Antispufing: chegaradagi uRPF/BCP38; o’zgalar manbalari bo’lgan chiquvchi paketlarni parchalash.
2. edge/PE uchun ACL: nomaqbul protokollar/portlarni taqiqlash; mgmt segmenti uchun alohida roʻyxatlar.
3. CoPP (Control Plane Policing): marshrutizatorga polising (BGP, OSPF, SSH, SNMP).
4. Portlarda Rate-limits/polising: «shovqinli» sinflar uchun bps/PPS, burst-sozlash.
5. Yuk taqsimoti: ommaviy IP, georassevlar uchun Anycast; Statik va kesh uchun CDN/WAAP.
6. RPKI/ROA + qattiq BGP importi: Haydjek/trafikni qayta yoʻnaltirish xavfini kamaytiradi.
7. Surface reduction: chop etilgan xizmatlarni minimallashtiring, proksi uchun «xom» originni yoping.
Hujumda tezkor javob: tarmoq dastagi
RTBH (Remote Triggered Blackhole) :/32 (yoki/128) yo’nalishdagi qurbonlar uchun BGP-kommuniti.
BGP Flowspec: L3/L4 qoidalarining (src/dst/port/TCP bayroqlari) PE/edge ga tez tarqalishi.
Scrubbing-markazlar/anti-DDoS provayderlar: GRE/VRF tunnel yoki to’g «ridan to’g» ri apstrim; filtrlash, so’ngra sizga «toza» trafik.
Anycast-antiDDoS: mavjud bo’lish pointlari bo’yicha oqimni parchalash, zararni mahalliylashtirish.
CDN/edge-kesh: origin ekranini yaratadi, L7-limitlar va «challenge» mexanizmlarini beradi.
Xost va L4 himoyasi
SYN cookies/SYNPROXY: mijoz tasdiqlanmaguncha saqlanmaydi.
Linux: `sysctl net. ipv4. tcp_syncookies=1' yoki’SYNPROXY’kirish balansida.
Tyuning conntrack (agar ishlatilsa):- Hashsize’nf _ conntrack _ max’ni oqilona oʻlchang;
- Yarim ochiq va aktiv boʻlmagan holatlar uchun vaqtni qisqartiring.
- eBPF/XDP: NIC (PPS-himoya) da erta drop, signatura/yadroga qadar tezlikda filtrlash.
- nftables/iptables: PPS limitlari, «shubhali» bayroqlarni tashlash, connlimit.
- UDP hardening: agar xizmat UDP dan foydalanmasa - chegaradagi drop; agar foydalansa - manbalar/portlarni cheklash.
nft table inet filter {
sets {
bad_ports { type inet_service; elements = { 19, 1900, 11211 } } # chargen/SSDP/memcached
}
chains {
input {
type filter hook input priority 0; policy drop;
ct state established,related accept ip saddr 127. 0. 0. 0/8 drop ip6 saddr::1/128 drop
limit new TCP tcp flags & (syn ack) == syn limit rate 200/second burst 400 accept tcp flags & (syn ack) == syn drop
deny bad UDP ports udp dport @ bad _ ports drop
ICMP rate-limit icmp type echo-request limit rate 50/second burst 100 accept icmpv6 type echo-request limit rate 50/second burst 100 accept
}
}
}
SINPROXY kirish balansida (’iptables’misoli):
bash iptables -t raw -A PREROUTING -p tcp --syn -j CT --notrack iptables -A INPUT -p tcp -m tcp --syn -m hashlimit --hashlimit 100/second --hashlimit-burst 200 --hashlimit-mode srcip --hashlimit-name syns -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460 iptables -A INPUT -m state --state INVALID -j DROP
L7-himoya (qisqacha)
WAAP/WAF: tanqidiy yo’llarda ijobiy model, rate-limits, challenge/JS, xulq-atvor skoringi.
Kesh/statik offload: soʻrovlarni origin darajasiga kamaytiramiz; cache-busting (me’yorlashtirish/qora parametrlar ro’yxati) dan himoya qilish.
GraphQL cheklovlari:’maxDepth’,’maxCost’, proda introspection taqiqlangan.
BFF-pattern: nozik mijoz tokenlari, serverdagi og’ir mantiq/limitlar.
Idempotentlik va navbatlar: buzilishda ko’chki kabi takrorlanishlarning oldini oladi.
Telemetriya va aniqlash
Tarmoq oqimlari: NetFlow/sFlow/IPFIX (pps, top talkers, protokollar/portlar/ASN).
Passiv sensorlar L7: balanschilar/proksi (nginx/envoy), metriklar p95/99, error-rate.
Asosiy chegaralar: «PPS/CPUning edge bo’yicha kutilmagan o’sishi», «SYN-RECVning ko’tarilishi», «UDP javobsiz».
Signatura/xulq-atvor: IP/ASN/JA3 bo’yicha chastotalar, 4xx/5xx portlashlar, user-agent anomaliyalari.
Vizualizatsiya: alohida dashbordlar L3/L4/L7; geo/ASN bo’yicha trafik xaritasi; RTBH/Flowspec ishga tushirilgunga qadar vaqt.
SLO/SLI va alerting
SLO misollari:- «MTTD anomaliyalar DDoS ≤ 60 sek, MTTM (RTBH/Flowspec aktivatsiyasi) ≤ 3 min».
- "p95 latentlik edge orqali ≤ 50 ms hujumlardan tashqari; mitigirlash ostida ≤ 200 ms".
- «Tashlangan zararli trafikning ulushi qonuniy trafikning 98 foizini saqlab qolgan holda 99 foizni ≥ ≥».
- PPS/CPU/IRQ tarmoq uzellari> chegara;
- SYN-RECV/half-open > X;
- ommaviy endpindlarda 5xx/latency o’sishi;
- WAF> ostonasidagi challenge/deny foizi (FP xavfi).
Mudofaa arxitektura patternlari
1. Tiered Defense: Edge (ACL/CoPP) → Scrubbing/Anycast → L7-proxy/WAAP → Ilova.
2. Traffic Diversion: BGP community sho’ng’ish paytida skrabbingga, GRE-bekholga o’tish uchun.
3. Stateless Edge: conntrackgacha maksimal stateless-filtrlash; stateful - ilovaga yaqinroq.
4. eBPF/XDP First: yadroga qadar erta droplar (JA3/port/tezlik bo’yicha).
5. Golden Paths: hamma narsani «buzmaslik» uchun tanqidiy API uchun alohida IP/domenlar.
Operatsion tartib-taomillar va noxush hodisalar
Runbooks: RTBH/Flowspec/scrabbing, Anycast/pullarni qanday almashtirishni kim va qaysi metriklarda o’z ichiga oladi.
Qora ro’yxatlar va TTL: «o’tib ketmaslik» uchun qisqa muddatli blok; avtomatik re-test manbalari.
Kommunikatsiyalar: provayderlarga/sheriklarga/vendorlarga xabarlar shablonlari; hujum qilinadigan domendan tashqaridagi aloqa kanali.
Post-Incident: vaqt shkalasi bilan hisobot (T0... Tn), «nima ishladi/ishlamadi», test katalogini yangilash.
Mashg’ulotlar: muntazam game-days: RTBH dry-run, Anycast mintaqasini yo’qotish, link saturation, «sekin» hujumlar.
Linux/balanschilar tyuningi (tanlash)
bash
TCP sysctl -w net. ipv4. tcp_max_syn_backlog=4096 sysctl -w net. ipv4. tcp_syncookies=1 sysctl -w net. ipv4. tcp_fin_timeout=15 sysctl -w net. ipv4. tcp_tw_reuse=1
Conntrack (if enabled)
sysctl -w net. netfilter. nf_conntrack_max=1048576 sysctl -w net. netfilter. nf_conntrack_tcp_timeout_syn_recv=30 sysctl -w net. netfilter. nf_conntrack_udp_timeout=15
NIC/IRQ ethtool -G eth0 rx 4096 tx 4096
Tez-tez xatolar
Butun trafikni stateful-fayrvol orqali edge → conntrack tugashida ushlab turish. Stateless’ni iloji boricha qiling.
Kech RTBH/Flowspec → kanali allaqachon «nolga». Chegaralar va yoqishni avtomatlashtiring.
«Hammasi» uchun bitta IP/bitta front → blast radius izolyatsiyasi yoʻq. Domen/IP va kvotalarni ajrating.
Nol kesh → har bir L7-murojaat origin uradi; parametrlarni keshlash va normallashtirishni yoqing.
Legitni tahlil qilmasdan mamlakatlarni/ASNni ko’r-ko’rona blokirovka qilish - konversiyani kesib tashlaydi; nuance qoidalari/challenglaridan foydalaning.
Juda tajovuzkor limitlar → Biznes cho’qqisida ommaviy FP.
Joriy etish yo’l xaritasi
1. Sirtni baholash: IP/prefikslar/portlar/protokollar inventarizatsiyasi, kritik yo’llar xaritasi.
2. Tarmoq gigiyenasi: antispufing, ACL, CoPP, RPKI/ROA, ortiqcha UDP xizmatlaridan voz kechish.
3. Trafikni sabotaj qilish: scrabbing provayderi, Anycast/CDN, BGP communities bilan shartnoma.
4. Edge-tyuning: stateless-filtrlash, SYNPROXY/eBPF, oqilona vaqtlar conntrack.
5. L7/WAAP: ijobiy model, limitlar/challenglar, kesh.
6. Kuzatilishi: NetFlow/sFlow, dashbordlar L3/L4/L7, alertlar, SLO.
7. Avtomatlashtirish: RTBH/Flowspec tugmalari, qoidalar uchun IaC tugmalari, konfiguratsiyalarning kanareya shakllari.
8. Mashqlar va RCA: muntazam testlar, pleybuklarni yangilash.
iGaming/fintech uchun xususiyatlar
Eng yuqori voqealar (turnirlar, aksiyalar, o’yinlar): capacity/limitlarni rejalashtirish, keshlarni isitish, pre-warming CDN.
To’lov integratsiyalari: ajratilgan IP/domenlar, anti-DDoS provayderi orqali ustuvor kanallar, PSPga mTLS, tanqidiy endpointlarga qat’iy limitlar.
Anti-frod/bot-nazorat: ro’yxatdan o’tish/login/promokodlarda xulq-atvor skoringlari va inson challenjlari.
UX va konvertatsiya: agressiv himoyada VIP/sheriklar uchun grace-varaqlardan foydalaning, yumshoq degradatsiyalar (kesh/readonly).
Yuridik talablar: jurnallarning shaffofligi, telemetriyani saqlash, Time-to-Wallet va aylanma metrikasiga chora-tadbirlarning ta’sirini tuzatish.
Misollar: Flowspec va RTBH (konseptual)
community orqali RTBH (misol):
route 203. 0. 113. 10/32 blackhole set community 65535:666 announce to upstream
Flowspec (UDP bloki> 1 Mbit/19/1900 portiga interfeys):
match destination 203. 0. 113. 0/24 protocol = udp destination-port {19,1900}
then rate-limit 1000
FAQ
WAF DDoS hal qilyaptimi?
Qisman L7 uchun. L3/L4 va volumetric ga qarshi skrabbing/Anycast/tarmoq choralari kerak.
SYN cookies yetarlimi?
Bu SYN-floddan asosiy himoya, lekin tarmoq limitlari va skrabbingsiz kanalni baribir to’ldirish mumkin.
ICMP oʻchirish kerakmi?
Yo’q. Yaxshiroq rate-limit va faqat xavfli turlar, ICMP diagnostika/PMTU uchun foydalidir.
Skrabbing bilan GRE tunneli yashirin boʻladimi?
Ha, lekin odatda ruxsat etiladi. Eng yaqin PoP uchun kesh va aniq yo’nalish bilan kompensatsiya qiling.
Jami
Ishonchli DDoS himoyasi - bu ko’p darajali arxitektura: tarmoq gigiyenasi (antispufing/ACL/CoPP), tezkor trafikni sabotaj qilish (RTBH/Flowspec/scrubbing/Anycast), xost va L7 mexanizmlari (SYNPROXY), eBPF/XDP, WAAP), plyus telemetriya, SLO va sozlangan pleybuklar. Bunday yondashuv oddiy holatni kamaytiradi, kanallarni tirik saqlaydi va hatto tarqatilgan hujumlar bosimi ostida biznes metrikalarini saqlab qoladi.