DDoS पैकेट सुरक्षा और फ़िल्टरिंग
1) आपको इसकी आवश्यकता क्यों है
DDoS संसाधनों का एक "बड़ेपैमाने पर गिरावट" है: बैंड/पीपीएस, राज्य तालिकाएं, कोर सीपीयू/आईआरक्यू, कनेक्शन पूल, आवेदन सीमाएं। लक्ष्य सुरक्षा को स्तरीकृत करना है: नेटवर्क परिधि पर वॉल्यूम को बुझाना, टीसीपी/आईपी स्टैक को प्रोटोकॉल विसंगतियों को बेअसर करना, और वैध उपयोगकर्ताओं के लिए एसएलओ को बचाते हुए एल 7 पर अवांछित अनुरोधों को को काटना।
2) हमला कक्षाएं
2. 1 L3/L4 (वॉल्यूमेट्रिक/प्रोटोकॉल)
वॉल्यूमेट्रिक: यूडीपी बाढ़, यूडीपी-प्रतिबिंब/प्रवर्धन (डीएनएस/सीएलडीएपी/एनटीपी/एसएसडीपी/मेमकैड/एमडीएनएस), जीआरई बाढ़।
प्रोटोकॉल/राज्य थकावट: SYN बाढ़, ACK/RST बाढ़, TCP कनेक्शन-थकावट, ICMP बाढ़, TCP विखंडन।
QUIC/UDP सुविधाएँ: झूठे प्रारंभिक/पुन: तूफान, खराब स्रोत।
2. 2 L7 (आवेदन)
HTTP/1। 1: महंगे मार्गों के पीछे प्रश्न, हेडर ओवरसाइज ़/फील्ड तस्करी।
HTTP/2: रैपिड रीसेट, स्ट्रीम-फ्लड, हेडर्स बाढ़, प्राथमिकता दुरुपयोग।
HTTP/3 (QUIC): समाप्ति के बिना कनेक्शन/धागे, प्रारंभिक बाढ़।
धीमा - атаки: स्लोवोरिस/स्लो-रीड/स्लो-पोस्ट।
gRPC/WebSocket: अंतहीन धाराएँ, संदेश-बाढ़, बड़े फ्रेम।
3) बुनियादी सुरक्षा वास्तुकला
1. Anycast + स्क्रबिंग
विश्व स्तर पर यातायात स्प्रे करें और प्रदाता स्क्रबिंग केंद्रों के माध्यम से ड्राइव करें (किनारे पर वॉल्यूमेट्रिक/स्पूफिंग को काटें)।
2. मल्टी-सीडीएन/मल्टी-एज
डोमेन पृथक्करण (वेब, एपीआई, स्थिर), पठन भार के लिए सुरक्षा और कैश का एकत्रीकरण।
3. इसकी परिधि पर निम्न-स्तरीय फ़िल्टर
सीमा राउटर पर एसीएल (RFC1918, बोगन, ज्ञात झूठे बंदरगाह)।
हस्ताक्षर और दर पर शुरुआती ड्रॉप के लिए eBPF/XDP कनेक्ट करने के लिए सीमित है।
4. L7 परिधि (NGINX/दूत/WAF)
आरपीएस संपीड़न कुंजी, चुनौती (कैप्चा/पीओडब्ल्यू), कैश, "महंगे" रास्तों का प्राथमिकता।
5. आंतरिक स्थिरता
कनेक्शन पूल, कतारें, सर्किट/टाइमआउट, सेवा अलगाव (बल्कहेड) और शेडर ऑटोस्कलिंग।
4) नेटवर्क "वाल्व": तुरंत क्या चालू करना है
4. 1 लिनक्स 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 nftable: पैकेज पर बुनियादी फिल्टर और रेटलिमिट
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 (विचार)
खराब स्रोत के साथ प्रारंभिक-ड्रॉप पैकेट (राउटर पर यूआरपीएफ का स्वागत है)।
हैश बाल्टी पीपीएस प्रति/32 और प्रति/24; स्रोतों की गतिशील "संगरोध"।
यूडीपी-प्रतिबिंब: डीएनएस प्रतिक्रिया जैसे हस्ताक्षर (संदर्भ से बाहर फ़िल्टर)।
5) यूडीपी प्रवर्धन: इन्वेंट्री और ब्लॉक
लगातार परावर्तक/एम्पलीफायरों: डीएनएस (ओपन रिज़ॉल्वर), एनटीपी (मोनलिस्ट), सीएलडीएपी, एसएसडीपी, एमडीएनएस, मेमकैड (यूडीपी), चार्जेन।
उपाय:- UDP सेवाओं को बंद/प्रतिबंधित करें, खुले पोर्ट को कम करें।
- परिधि में, ज्ञात बंदरगाहों के लिए पीपीएस/बिटरेट को सीमित करें।
- डीएनएस सिफारिश: केवल अपने नेटवर्क के लिए पुनरावर्ती, आरआरएल (प्रतिक्रिया दर सीमित), किसी भी को कम करना।
- NTP - केवल "बूटस्ट्रैप" विश्वसनीय, सार्वजनिक के लिए 'noquery'।
6) टीसीपी राज्य थकावट
SYN बाढ़: 'tcp _ syncookies = 1', 'tcp _ max _ syn _ backlog', 'synack _ retries = 3', pps द्वारा ड्रॉप।
ACK/RST बाढ़: निम्न-स्तरीय सीमा, नाजायज अनुक्रमों की स्क्रीनिंग (nftables/ebpf)।
सीमा पर कॉनट्रैक-कम: राज्य तालिकाओं को बर्बाद न करें जहां फिल्टर स्टेटलेस हस्ताक्षर द्वारा संभव है।
7) HTTP/2/3 और स्मार्ट L7 हमले
HTTP/2 रैपिड रीसेट: आरएसटी फ्रेम की आवृत्ति और खुली धाराओं की संख्या को सीमित करें; विसंगतियों के मामले में कनेक्शन बंद करें।
स्ट्रीम दुरुपयोग: лимит समवर्ती धाराएँ, हेडर का आकार, अधिकतम फ्रेम आकार।
QUIC/HTTP/3: प्रारंभिक पीपीएस को सीमित करें, रीट्री सक्षम करें; शॉर्ट हैंडशेक टाइमआउट।
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) धीमी गति से हमले और संसाधन सुरक्षा
स्लोवोरिस/स्लो-रीड/स्लो-पोस्ट: 'प्रॉक्सी _ रिक्वेस्ट _ बफरिंग ऑन', लो-टाइमआउट, न्यूनतम स्वीकार्य 'रीड _ रेट' सक्षम करें।
प्रति अनुरोध लंबे अंतर-पैकेट अंतराल पर कनेक्शन समाप्त करें.
आवेदन पर - प्रारंभिक पढ़ ने/शरीर छोड़ ने, JSON आकार/गहराई सीमा।
9) L7 फ़िल्टरिंग: कौन अधिक महत्वपूर्ण है - इसे पारित करने दें
ट्रैफिक वर्गीकरण: ज्ञात अच्छा (mTLS/JWT भागीदार), पंजीकृत उपयोगकर्ता, अनाम।
प्राथमिकताएं: "महंगे" लेखन-मार्ग (जमा/निष्कर्ष) - सुरक्षा, लेकिन पुष्टि की; रीड-डायरेक्ट्रीज़ - कैश + थ्रॉटल।
चुनौती परत: कैप्चा/पीओडब्ल्यू/जेएस चरम पर ग्रे जोन के लिए चुनौतियां।
10) कैश, कोलेसिंग और क्षरण
स्थैतिक/अर्ध-स्थिर प्रतिक्रियाओं के लिए एज कैश, 'बासी-जबकि-पुनर्नवीनीकरण'।
अनुरोध करें: एक कुंजी के लिए समानांतर अनुरोध समाप्त करें - प्रॉक्सी में और अनुप्रयोग में।
डिग्रेड मोड: अक्षम माध्यमिक सुविधाएँ (निजीकरण, भारी रिपोर्ट), "प्रकाश" पृष्ठ जारी करें।
11) अवलोकन और टेलीमेट्री
मेट्रिक्स (प्रति पीओपी/नोड/क्लस्टर):- L3/L4: 'pps _ in/out', 'bps _ in/out', 'drow _ pps {resease}', 'syn _ recv', 'conntrack _ used/comment', 'xdp _ drop _ pps'।
- L7: 'अनुरोध _ कुल {मार्ग}', '429 _ कुल', 'चुनौती _ कुल {प्रकार}', 'h2 _ rst _ दर', 'स्लो _ req _ total'।
- निर्भरता: सीपीयू आईआरक्यू नरम/कठोर, एनआईसी कतार बूंदें, रन-कतार लंबाई।
लॉग: नमूना, 24 द्वारा एकत्र, एएसएन, बंदरगाहों और हस्ताक्षर; पीआईआई के बिना।
ट्रेसिंग: व्हाइटलिस्ट पर सक्षम, दुर्घटना डिबगिंग के लिए नमूना विस्तार।
12) प्रतिक्रिया योजना (रनबुक)
1. पता लगाना: pps/bps/429/h2_rst_rate थ्रेसहोल्ड का ट्रिगर।
2. वर्गीकरण: स्तर (L3/4/7), प्रोटोकॉल (UDP/TCP/h2/h3), भू/एएसएन।
3. वाल्व:- प्रदाता पर स्क्रबिंग/ब्लैकहोल प्रोफाइल सक्षम करें
- Nftables/ebpf सीमाओं को मजबूत करना,
- कम एल 7 सीमाएं और चुनौतियों को बढ़ाना,
- QUIC (प्रारंभिक बाढ़) के लिए पुनः प्रयास सक्षम करें।
- 4. संचार: स्थिति पृष्ठ, साझेदार सूचना टेम्पलेट।
- 5. फोरेंसिक: पीसीएपी 60-120 सेकंड के लिए कब्जा कर लेता है, शीर्ष टॉकर्स एएसएन/पोर्ट का नमूना लेता है।
- 6. पूर्वव्यापी: अपडेट हस्ताक्षर, थ्रेसहोल्ड, रिफ्लेक्टर सूची।
13) परीक्षण और अभ्यास
DDoS-ड्रिल प्लेबुक त्रैमासिक: सिंथेटिक UDP/HTTP फटता है, धीमा यातायात, HTTP/2 रीसेट।
खेल दिवस: Anycast CDN के बीच स्विच/माइग्रेशन, "आसान मोड" के लिए गिरावट।
प्रदाता सत्यापन: SLA स्क्रबिंग, फ़िल्टर ऑन/ऑफ टाइम, max pps/bps।
14) एंटीपैटर्न
वॉल्यूमेट्रिक हमले के लिए केवल L7-WAF पर भरोसा करें।
अंकुश और कनेक्ट्रैक-भारी फ़िल्टरिंग हेड-ऑन पर कोई uRPF/ACL नहीं।
असीमित हेडर/शरीर और चरम पर लंबे समय तक जीवित रहना।
Anycast/मल्टी-एज के बिना एकल क्षेत्र/ROR।
कोई एनआईसी/आईआरक्यू/सीपीयू सूची और कतार निगरानी नहीं।
बैकेंड के लिए कोई कैश/कोलसिंग - अतिरिक्त आरपीएस नहीं।
15) आईगेमिंग/वित्त की विशिष्टताएं
अस्थायी चोटियाँ (मैच/डर्बी/लोट्टो ड्रॉ): अग्रिम में POP क्षमता का विस्तार करें, गुणांक का एक आक्रामक कैश शामिल करें, गुमनाम लोगों के लिए कैनरी चुनौतियां दें।
भुगतान/आउटपुट मार्ग: एमटीएलएस के साथ एक अलग किनारा पूल, कम समय, प्रतिस्पर्धी सीमा; नहीं 0-RTT।
भू-राजनेता: क्षेत्रीय अनुमति-रोशनी, एएसएन-फ़िल्टरिंग "होस्टिंग", फास्ट जियो-स्विचिंग।
एंटीफ्राड के साथ चौराहे: वेग सीमा और जोखिम एपीआई एक डीडीओएस घटना में "हार्ड" प्रोफाइल में जाते हैं।
16) प्रोड रेडीनेस चेकलिस्ट
- Anycast или मल्टी-एज/CDN; स्क्रबिंग चैनलों की जाँच की।
- सीमा-एसीएल/यूआरपीएफ; Nftables/ebpf/XDP प्रोफाइल, कॉनट्रैक-कम फ़िल्टरिंग।
- Sysctl TCP/SYN ट्यूनिंग, UDP एम्पलीफायर पोर्ट के लिए pps को सीमित करें।
- सीमा (धाराएं, फ्रेम, हेडर), धीमी गति से सुरक्षा, शरीर/हेडर-लिमिट।
- L7 सीमा और चुनौती; कैश और परिधि पर coalessing।
- डैशबोर्ड pps/bps/conntrack/IRQ + L7 RED; h2_rst/429 विसंगतियों के लिए अलर्ट।
- रनबुक/प्लेबुक, प्रदाता संपर्क, एक-क्लिक सक्षम प्रोफाइल।
- शिक्षाएँ: फटता है, धीमा, रीसेट करता है; रिपोर्ट और रिकॉर्ड सुधार।
- भुगतान/महत्वपूर्ण मार्गों, एमटीएलएस और सख्त सीमाओं के लिए पूल विभाजित करें।
17) टीएल; डीआर
स्ट्रैटी प्रोटेक्शन: Anycast + स्क्रबिंग डैम्पेंस वॉल्यूम, eBPF/XDP + nftables ने स्टैक, L7 लिमिट/चुनौतियों/कैश को बरकरार रखा। ट्यून टीसीपी (SYN कुकीज़, बैकलॉग), यूडीपी एम्पलीफायरों को सीमित करें, HTTP/2/3 सीमा और धीमी सुरक्षा निर्धारित करें। एक रनबुक रखें और इसे प्रशिक्षित करें; iGaming के लिए - पीक ऑवर्स के दौरान अग्रिम में बढ़ त का विस्तार और mTLS और हार्ड लिमिट के साथ अलग भुगतान पथ।