DDoS-պաշտպանություն և ֆիլտրում
Live ռեզյումե
DDoS-հարձակումները երեք դասարաններ են ՝ L3/L4 volumetric (մոռանում են ջրանցքը/սարքավորումը), state-exhaustion (սպառում են պետությունների/CPU աղյուսակները հավասարակշռիչների/ֆայրվոլների վրա) և L7 (ստեղծում են «ճիշտ» դիմումներ)։ Արդյունավետ պաշտպանությունը կառուցվում է մի քանի շերտերում 'ցանցային միջոցներ պարագծի վրա, ֆիլտրում/scrabbbing ձեր ցանցից դուրս, պաշտպանություն հավասարակշռությունների/շարժիչների վրա, գումարած վիրահատական ընթացակարգեր, որոնք չափվում են SLO-ի միջոցով։
Սպառնալիքների լանդշաֆտը
Volumetric (UDP/ICTS flood, ampliation CSP/SSDP/CLDAP/Memcached)։
TCP state-exhaustion (SDN/ACK flood, TCP fragmentation, միացություններ «կես անվադողերի վրա») 'սպառել conntrack/listeners։
L7 HTTP (S )/Windows Socket/GraphQL flood, cache-busting, «դանդաղ» հարցումներ. ուտել CPU/IO ծրագրեր և քեշ շերտ։
Reflect/Amplif.ru: Բաց ռեֆլեկտորների/ամպլիֆերի օգտագործումը IP աղբյուրի փոխարինմամբ։
Carpet bombing: կոդավորման բաշխումը շատ IP/prefics-ով, բարդացնելով կետային ֆիլտրումը։
Հիմնական ցանցային միջոցները (մինչև հարձակումը)
1. Հակասպուֆինգը 'uRPF/BCP38 սահմանին; առաջացող մարդիկ համագործակցում են օտար աղբյուրների հետ։
2. ACL-ը edge/PE-ում 'անցանկալի պատժամիջոցների արգելք/2019; առանձին ցուցակներ mgmt-2019 համար։
3. COPP (Nol Plane Policing) 'պոլիսինգը երթուղիչների (BGP, OSPF, SSH, RTS)։
4. Rate-limits/պոլիսինգը պորտերում 'bps/PPS «աղմկոտ» դասարանների համար, burst-2019։
5. Բեռի բաշխումը 'Anycript-ը հանրային IP-ի համար, georasev-ի համար։ CDN/WAAAP-ը ստատիկ և փակցված համար։
6. RPKI/ROA + խիստ BGP-ն նվազեցնում է խոլեկի/ուղղման ռիսկը։
7. Surface reduction: Նվազագույնի հասցրեք հրատարակված ծառայությունները, փակեք origin-ը։
Արագ արձագանք հարձակման ժամանակ 'ցանցային լծակներ
RTBH (Remote Trigggered Blackhole): BGP կոմունիտները զրոյական կոդավորման/32 (կամ/105) զոհաբերությունների համար։
BGP Flowspec: Արագ տարածումը L3/L4-կանոնները (www.c/dst/port/TCP դրոշները) PE/edge-ում։
Scrubbing կենտրոններ/anti-DDoS պրովայդերներ ՝ GRE/VRF թունել կամ ուղիղ apstrime; ֆիլտրում, ապա 'մաքուր։
Anycase-antiDDoS-ը 'հոսքի բաժանումը ներկայության պինտով, վնասի տեղայնացումը։
CDN/edge-cash: էկրանավորում է origin, տալիս է L7-limits և challenge մեխանիզմներ։
Հանրակացարան և L4-պաշտպանություն
MSN cookies/MSNPROXY-ը, մինչև հաճախորդի հաստատումը։
Linux: `sysctl net. ipv4. tcp _ wwww.ncookies = 1 'կամ' MSNPROXY 'մուտքային հավասարակշռության վրա։
Tuning conntrack (եթե օգտագործվում է)
Չափեք 'nf _ conntrack _ max' ողջամիտ, բարձրացնելով hashsize;
Նվազեցրեք թայմաուտները «կիսաթափանցիկ» և ոչ ակտիվ վիճակների համար։
EBPF/XDP: Վաղ dance NIC (PPS-պաշտպանություն), ֆիլտրը ազդանշանների/արագության վրա մինչև միջուկը։
nftables/iptables: PPS-ի սահմանները, «կասկածելի» դրոշների նետումը, connlimit։
UDP hardening: Եթե ծառայությունը չի օգտագործում UDP-ը սահմանին։ եթե օգտագործում եք 'սահմանափակել աղբյուրները/կոդերը։
«Nftables» (պարզեցված)։
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
}
}
}
MSNPROXY-ը մուտքի հավասարակշռության վրա (օրինակ «iptables»)
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-պաշտպանություն (կարճ)
WAAP/WAF: Դրական մոդել կրիտիկական ճանապարհների վրա, rate-limits, challenge/JS, վարքագծային։
Քեշինգը/ստատիկ օֆֆլոադը 'նվազեցնելով հարցումները origin; պաշտպանություն cache-busting (նորմալացում/սև ցուցակներ)։
GraphQL սահմանափակիչները ՝ «www.Depth», «www.Cost», introsp.ru արգելքը վաճառքում։
BFF-pattern: բարակ հաճախորդների հոսանքները, ծանր տրամաբանությունը/լիմիտները սերվերի վրա։
Իդեմպոտենտալությունը և հերթերը 'կանխում են լավատեսական կրկնությունները քայքայման ժամանակ։
Թելեմետրիա և հայտնաբերություն
Ցանցային հոսքերը ՝ NetFlow/sFLow/IPFIX (pps, top talkers ,/www.ASN)։
Պասիվ սենսորներ L7: Հավասարակշռության լոգներ/108 (nginx/envoy), p95/99, error-rate։
Հիմնական շեմերը ՝ «PPS/CPU անսպասելի աճը edge», «MSN-RECV», «UDP անպատասխանատու»։
Ազդանշանները/վարքագիծը 'IP/ASN/JA3 հաճախականությունները, 4xx/5xx-ի աճը, user-agent անոմալիաները։
Տեսողական 'առանձին dashbords L3/L4/L7; քարտեզ geo/ASN; ժամանակը մինչև RTBH/Flowspec-ը։
SLO/SLI և alerting
SLO օրինակներ
«MTTD anomaliy DDoS 2460 վայրկյան, MTTM (RTBH/Flowspec) 243 րոպե»։
"p95 լատենտ edge-ի միջոցով 50 մզ հարձակումներից դուրս; հարձակման ժամանակ 200 մզ հավաքման տակ"։
«Լքված վնասակար հատվածի մասնաբաժինը 49,99 տոկոսն է, երբ պահպանում է 2498 տոկոսը լեգիտիմ»։
Ալարմա
PPS/CPU/IRQ ցանցային հանգույցները> շեմն;
SYN-RECV/half-open > X;
5xx/latency աճը հանրային էնդպոինտներում;
challenge/deny տոկոսը WAF> շեմն է (FP ռիսկը)։
Պաշտպանության ճարտարապետական արտոնագրեր
1. Tiered Engense: Edge (ACL/COPP) - Scrubbing/Anycriptions L7-2019/WAAAP Pro.
2. Traffic Diversion: BGP community, որպեսզի տեղափոխվի scrabbing, GRE-bekholl պիկուլյացիայի ժամանակ։
3. Stateless Edge: հնարավորինս stateless ֆիլտրը մինչև conntrack; stateful-ը ավելի մոտ է։
4. EBPF/XDP First: վաղ drops (JA3/ports/արագություն) մինչև միջուկը։
5. Golden Paths: առանձին IP/ենթախմբեր քննադատական API-ի համար, որպեսզի ոչ թե «քանդել» ամեն ինչ ամբողջությամբ։
Վիրահատական ընթացակարգեր և միջադեպեր
Runbooks: Ո՞ վ և ինչ մետրերով է ներառում RTBH/Flowspec/scrabbing, ինչպես անցնել Anycrim/puls։
Սև ցուցակները և TTL: բլոկը կարճաժամկետ է, որպեսզի չփորձի «ընդհատել»։ ավտոմատ re-test աղբյուրներ։
Հաղորդակցություն 'պրովայդերների հաղորդագրությունների ձևանմուշներ/www.ru/wendors; հաղորդակցման ալիքը հարձակվող տիրույթից դուրս։
Post-Incident: զեկույցը ժամանակավոր մասշտաբի հետ (T0... Tn), «ինչ է աշխատել/ոչ», թեստային կոդավորման նորարարություն։
Ուսուցումները ՝ wwww.game-days: RTBH 35y-run, Anycript, saturation, «դանդաղ» հարձակումներ։
Linux/հավասարակշռիչներ (ընտրություն)
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
Հաճախակի սխալներ
Stateful-Fierrwol-ի միջոցով edge-ի վրա պահելը բացատրում է conntrack սպառումը։ Կատարեք stateless այնտեղ, որտեղ կարող եք։
Ուշ RTBH/Flowspec-ը արդեն «զրո» է։ Ավտոմատիզացրեք շեմերն ու շարժիչները։
Մեկ IP/մեկ ճակատը «ամեն ինչի» համար չի մեկուսացվում blast radius։ Կիսեք/IP և քվոտաները։
Զրոյական քեշը յուրաքանչյուր L7 կոչը ծեծում է origin; միացրեք խցանումը և նորմալացումը։
Տեսնելով երկրների/ASN-ի արգելափակումը առանց լեգիտի վերլուծության, կտրում է ծրարը։ օգտագործեք nuance կանոնները/coclengi.
Չափազանց ագրեսիվ լիմիթները բացատրում են զանգվածային FP-ը բիզնեսի պիկի մեջ։
Իրականացման քարտեզը
1. Մակերեսի գնահատումը 'IP/prefics/www.ru, կրիտիկական ճանապարհների քարտեզը։
2. Ցանցի հիգիենան 'հակասպուֆինգ, ACL, COPP, RPKI/ROA, ավելորդ UDP ծառայություններից հրաժարվելը։
3. Դիվերսիան բացատրում է. Scrobing-պրովայդերի, Anycrim/CDN, BGP communities-ի հետ պայմանագիր։
4. Edge-tuning: stateless ֆիլտրը, MSNPROXY/eBPF-ը, conntrack խելացի թայմաուտները։
5. L7/WAAAP 'դրական մոդել, limits/chelengi, cash։
6. Դիտարկումը 'NetFlow/sFlow, dashbords L3/L4/L7, alerts, SLO։
7. Ավտոմատիզացիա 'RTBH/Flowspec, IaC-ը կանոնների համար, քարարեային եզրերը։
8. Ուսուցումները և RCA 'ռուսական թեստեր, պլեյբուսների նորարարություն։
IGaming/fintech
Պիկ իրադարձությունները (մրցույթներ, ակցիաներ, խաղեր) 'պլանավորում եք capacity/limits, տաքացնելով քեշը, pre-warming CDN-ը։
Հիբրիդային կոմպոզիցիաները 'IP/ենթախմբերը, գերակայական ալիքները հակա-DDoS պրովայդերի, mTSA-ի և PSA-ի միջոցով, խիստ սահմաններ կրիտիկական էնդպոինտների համար։
Anti-frod/bot-վերահսկողություն 'վարքագծային կարբինգներ և մարդկային չելենջներ գրանցման/լոգինի/պրոմոկոդների վրա։
UX-ը և հակադարձումը 'ագրեսիվ պաշտպանության ժամանակ օգտագործեք grace թերթիկներ VIP/գործընկերների համար, փափուկ դեգրադացիաներ (cash/readonly)։
Իրավաբանական պահանջները 'ամսագրերի թափանցիկությունը, հեռուստատեսության պահպանումը, միջոցառումների ազդեցությունը Time-to-Wallet-ի և metrics-ի վրա։
Օրինակներ ՝ Flowspec և RTBH (հայեցակարգային)
RTBH-ը community-ի միջոցով (օրինակ)
route 203. 0. 113. 10/32 blackhole set community 65535:666 announce to upstream
Flowspec (UDP> 1 Mbit/ինտերֆեյսը նավահանգստի 19/1900)
match destination 203. 0. 113. 0/24 protocol = udp destination-port {19,1900}
then rate-limit 1000
FAQ
WAF-ը լուծում է DDoS-ը։
Մասամբ L7-ի համար։ L3/L4 և volumetric-ի դեմ անհրաժեշտ է scrobing/Anycrim/ցանցային միջոցներ։
MSN cookies բավարար է։
Սա SDN-flood-ի պաշտպանությունն է, բայց առանց ցանցային սահմանների և scrabbing ջրանցքը դեռ կարելի է մոռանալ։
Արդյո՞ ք պետք է անջատել ICOM-ը։
Ոչ։ Ավելի լավ է rate-limit և միայն վտանգավոր տեսակներ, ICTS-ը օգտակար է ախտորոշման/PMTU-ի համար։
GRE թունելը scrabbing- ով չի ավելացնի լատենտ։
Այո, բայց սովորաբար թույլատրելի է։ Փոխհատուցեք քեշը և ճշգրիտ ճանապարհը դեպի մոտակա PoP։
Արդյունքը
Հուսալի DDoS-պաշտպանությունը բազմաբնույթ ճարտարապետություն է 'ցանցի հիգիենան (ACL/COPP), արագ դիվերսիան (RTBH/Flowspec/scrubbing/Anycript), հոգ տանող և L7 մեխանիզմները (MSNNPRPP RROPPP P) XY, eBPF/XDP, WAAP), գումարած հեռաչափություն, SLO և մեկուսացված պլեյբուսներ։ Այս մոտեցումը նվազագույնի է հասցնում պարզ, պահում է ալիքները կենդանի և պահպանում բիզնես մետրերը նույնիսկ բաշխված հարձակումների ճնշման տակ։