Муҳофизат ва филтри бастаи DD-и DD
1) Чаро ба шумо лозим аст
DD HO - ин "таназзули азим" -и захираҳо: бандҳо/ппс, ҷадвалҳои давлатӣ, CPU/IRQ, ҳавзҳои пайвастшавӣ, маҳдудиятҳои барномаҳо. Ҳадаф ин гурӯҳбандии муҳофизат аст: хомӯш кардани ҳаҷм дар периметри шабака, безараргардонии аномалияҳои протокол ба стеки TCP/IP ва қатъ кардани дархостҳои номатлуб дар L7, сарфа кардани SLO барои корбарони қонунӣ.
2) Синфҳои ҳамла
2. 1 L3/L4 (ҳаҷм/протокол)
Ҳаҷм: обхезии UDP, инъикоси UDP/амплитсия (DNS/CLDAP/NTP/SSDP/memcached/M DNS), обхезии GRE.
Протокол/фарсудашавии давлат: обхезии SYN, обхезии ACK/RST, фарсудашавии пайвастшавӣ ба TCP, обхезии ICMP, тақсимоти TCP.
Хусусиятҳои QUIC/UDP: тӯфонҳои бардурӯғ/такрорӣ, манбаи вайроншуда.
2. 2 L7 (ариза)
HTTP/1. 1: дархостҳо дар паси хатсайрҳои гаронбаҳо, сарлавҳаи калон/қочоқи саҳроӣ.
HTTP/2: Барқарорсозии фаврӣ, обхезӣ, обхезии HEADERS, сӯиистифода аз афзалият.
HTTP/3 (QUIC): пайвастҳо/риштаҳо бе қатъкунӣ, обхезии ибтидоӣ.
Оҳиста-атаки: slowloris/slow-read/slow-POST.
GRPC/Web-Socket: ҷараёнҳои беохир, паёмҳои тӯфон, чаҳорчӯбаҳои калон.
3) Меъмории асосии амният
1. Anycast + Scrubbing
Трафикро дар саросари ҷаҳон пошед ва тавассути марказҳои тозакунандаи провайдер гузаред (ҳаҷм/ғоратгариро дар канор буред).
2. Бисёр CDN/Multi-Edge
Ҷудосозии домейн (веб, API, статикӣ), ҷамъбасти муҳофизат ва кэш барои сарбории хондан.
3. Филтрҳои сатҳи паст дар периметри он
ACL дар хатсайрҳои сарҳадӣ (RFC1918, богон, бандарҳои бардурӯғи маълум).
EBPF/XDP барои барвақт партофтани имзоҳо ва меъёри то пайвастшавӣ маҳдуд аст.
4. Периметри L7 (NGINX/Фиристанда/WAF)
Фишурдани RPS аз рӯи калидҳо, мушкилот (captcha/POW), кэш, афзалияти роҳҳои "гарон".
5. Устувории дохилӣ
Ҳавзҳои пайвастшавӣ, навбатҳо, схема/танаффус, ҷудокунии хидмат (калон) ва автоскалинги рехтагарӣ.
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: филтрҳои асосӣ ва рателимит дар бастаҳо
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 (ғоя)
Бастаҳои барвақти тарки бо манбаи ғоратшуда (URPF дар роутер хуш омадед).
сатилҳои hash pps дар як/32 ва як/24; "карантин" -и динамикии манбаъҳо.
Инъикоси UDP: Имзоҳои ба DNS монанд (филтр аз контекст).
5) Тақвияти UDP: инвентаризатсия ва блокҳо
Рефлекторҳо/тақвиятдиҳандаҳои зуд-зуд: DNS (ҳалкунандаҳои кушода), NTP (монлист), CLDAP, SSDP, MDNS, Memcached (UDP), Chargen.
Тадбирҳо:- Хидматҳои UDP-ро пӯшед/маҳдуд кунед, бандарҳои кушодро кам кунед.
- Дар периметр pps/bitrate-ро барои бандарҳои маълум маҳдуд кунед.
- Тавсияи DNS: танҳо барои шабакаҳои худ рекурсивӣ, RRL (Маҳдудияти меъёри вокуниш), кам кардани ANY.
- NTP - танҳо "пурборшаванда" ба эътимод, "noquery" барои омма.
6) Хастагии давлатии TCP
Обхезии SYN: 'tcp _ syncookies = 1', зиёдшавии 'tcp _ max _ syn _ backlog', 'synack _ retris = 3', тарки pps.
Обхезии ACK/RST: маҳдудиятҳои сатҳи паст, таҳқиқи пайдарпайии ғайриқонунӣ (nftables/ebpf).
Пайвастшавӣ дар сарҳад: мизҳои давлатиро хароб накунед, ки филтр бо имзои бешаҳрвандӣ имконпазир аст.
7) ҳамлаҳои HTTP/2/3 ва оқилонаи L7
HTTP/2 барқароркунии фаврӣ: басомади чаҳорчӯбаҳои RST ва шумораи ҷараёнҳои кушодро маҳдуд кунед; алоқаро дар ҳолати аномалия пӯшед.
Сӯиистифода аз ҷараён: ҷараёнҳои ҳамзамон, андозаи сарлавҳа, андозаи максималии чаҳорчӯба.
QUIC/HTTP/3: pps-и ибтидоиро маҳдуд кунед, Retry-ро фаъол созед; вақти кӯтоҳмуддати дастӣ.
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;
Фиристанда (барқароркунӣ ва маҳдудиятҳо)
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) Ҳамлаҳои суст ва ҳифзи захираҳо
Slowloris/slow-read/slow-POST: имкон диҳед 'proxy _ request _ buffering on', вақти пасти корӣ, ҳадди ақали қобили қабул 'read _ rate'.
Алоқаро бо фосилаи тӯлонии пакет барои як дархост қатъ кунед.
Дар ариза - хондани барвақт/партофтани бадан, андозаи JSON/маҳдудиятҳои амиқ.
9) Филтри L7: кӣ муҳимтар аст - бигзор он гузарад
Таснифоти трафик: хуб маълум (шарикони MTLS/JWT), корбарони бақайдгирифташуда, беном.
Афзалиятҳо: хатсайрҳои "гаронбаҳо" (амонатҳо/хулосаҳо) - муҳофизат мекунанд, аммо пазмон шудаанд; феҳристҳои хондан - кэш + дроссель.
Қабати мушкилот: мушкилоти captcha/Pow/JS барои минтақаҳои хокистарӣ дар қуллаи баланд.
10) Кэш, муттаҳидшавӣ ва таназзул
Кэши канорӣ барои посухҳои статикӣ/квази-статикӣ, 'кӯҳна-ҳангоми бозсозӣ'.
Якҷоя кардани дархост: шикастани дархостҳои мувозӣ ба як калид - дар прокси ва дар ариза.
Ҳолати таназзул: хомӯш кардани хусусиятҳои дуввум (фардикунонӣ, гузоришҳои вазнин), саҳифаҳои "сабук".
11) Мушоҳида ва телеметрия
Нишондиҳандаҳо (дар POP/гиреҳ/кластер):- L3/L4: 'pps _ in/out', 'bps _ in/out', 'drop _ pps {mail}', 'syn _ recv', 'contrack _ used/limit', 'xdp _ drop _ pps'.
- L7: 'дархостҳо _ total {route}', '429 _ total', 'challenge _ total {type}', 'h2 _ rst _ rate', 'slow _ req _ total'.
- Вобастагӣ: CPU IRQ мулоим/сахт, қатраҳои навбати NIC, дарозии давидан.
Гузоришҳо: интихобшуда, ҷамъшуда аз ҷониби/24, ASN, бандарҳо ва имзоҳо; бе PII.
Пайгирӣ: дар сафедпӯстон фаъол шавед, садама намунаҳоро барои ислоҳи хатогӣ васеъ кунед.
12) Нақшаҳои вокуниш (дафтарчаи корӣ)
1. Муайянкунӣ: триггери ҳудудҳои pps/bps/429/h2_rst_rate.
2. Таснифот: сатҳ (L3/4/7), протокол (UDP/TCP/h2/h3), geo/ASN.
- фаъол кардани профилҳои scrubbing/blackhole дар провайдер
- мустаҳкам кардани маҳдудиятҳои nftables/ebpf,
- маҳдудиятҳои поёнии L7 ва афзоиши мушкилот,
- фаъол кардани такрорӣ барои QUIC (обхезии ибтидоӣ).
- 4. Алоқа: саҳифаи ҳолат, қолабҳои огоҳонии шарик.
- 5. Криминалистика: Гирифтани PCAP барои 60-120 сония, интихоби намунаҳои беҳтарини ASN/бандарҳо.
- 6. Ретроспектива: имзои навсозӣ, ҳадди ниҳоӣ, рӯйхати инъикоскунанда.
13) Санҷиш ва машқҳо
Ҳар семоҳа китобҳои бозикунии DD-S-пармакунӣ: UDP/HTTP синтетикӣ, трафики суст, барқароркунӣ.
Рӯзи бозӣ: Гузаришҳои Anycast/муҳоҷират байни CDN, таназзул ба "ҳолати осон".
Тафтиши провайдер: scrubbing SLA, филтр дар вақти/хомӯш, максимум pps/bps.
14) Антипаттернҳо
Танҳо ба L7-WAF барои ҳамлаи ҳаҷмӣ такя кунед.
Дар ҷилавгирӣ аз филтр ва пайвасткунии вазнин-вазнин нест.
Сарлавҳаҳо/ҷасадҳои номаҳдуд ва дар қулла зинда мондан.
Минтақаи ягона/ROR бе Anycast/бисёрҷониба.
Не NIC/IRQ/CPU инвентаризатсия ва мониторинги навбатӣ.
Не кэш/coenescing - RPS иловагӣ барои пуштибонӣ.
15) Хусусиятҳои IGaming/Finance
Қуллаҳои муваққатӣ (бозии/дерби/лотто): қобилияти POP-ро пешакӣ васеъ кунед, кэши хашмгинонаи коэффисентҳоро дар бар гиред, барои одамони номаълум мушкилоти канарӣ гузоред.
Хатсайрҳои пардохт/баромад: ҳавзи алоҳидаи канорӣ бо MTLS, танаффуси кӯтоҳ, маҳдудиятҳои рақобат; не 0-RTT.
Гео-сиёсатмадорон: чароғҳои минтақавӣ, филтри ASN-и "хостинг", зуд иваз кардани гео.
Чорроҳа бо antifraud: маҳдудиятҳои суръат ва Risk API дар як ҳодисаи DD ба профили "сахт" ворид мешаванд.
16) Рӯйхати санҷиши омодагии Prod
- Anycast ili бисёрҷониба/CDN; каналҳои скруббинг тафтиш карда шуданд.
- Сарҳад-ACL/URPF; nftables/профилҳои ebpf/XDP, филтри камтар пайваст.
- Танзими Sysctl TCP/SYN, pps-ро барои бандарҳои тақвиятдиҳандаи UDP маҳдуд мекунад.
- маҳдудиятҳо (ҷараёнҳо, чаҳорчӯбаҳо, сарлавҳаҳо), муҳофизати суст, маҳдудиятҳои бадан/сарлавҳа.
- L7 маҳдудиятҳо ва мушкилот; кэш ва ҳамбастагӣ дар периметр.
- Панели панели pps/bps/contrack/IRQ + L7 RED; огоҳӣ ба аномалияҳои h2_rst/429.
- Китобчаҳо/дафтарҳои бозӣ, тамосҳои провайдер, профилҳои як клик.
- Таълимот: паридан, оҳиста, барқарор кардан HTTP/2; ҳисобот ва такмилдиҳии сабт.
- Тақсим кардани ҳавзҳо барои хатсайрҳои пардохтӣ/интиқодӣ, MTLS ва маҳдудиятҳои қатъӣ.
17) TL; ДР
Муҳофизати стратификатсия: Anycast + миқдори дампенҳои скруббинг, EBPF/XDP + nftables партовҳоро ба анбор буриданд, L7 маҳдудиятҳо/мушкилот/кэш SLA-ро нигоҳ медоранд. TCP (cookies SYN, backlog) -ро танзим кунед, тақвиятдиҳандагони UDP-ро маҳдуд кунед, маҳдудиятҳои HTTP/2/3 ва муҳофизати сустро муқаррар кунед. Китобчае дошта бошед ва онро таълим диҳед; барои IGaming - канори пешакиро дар соатҳои авҷи корӣ васеъ кунед ва роҳҳои пардохтро бо MTLS ва маҳдудиятҳои сахт ҷудо кунед.