DDoS सुरक्षा और पैकेट फ़िल्टरिंग
संक्षिप्त सारांश
DDoS हमले तीन वर्गों में आते हैं: L3/L4 वॉल्यूमेट्रिक (क्लॉग चैनल/उपकरण), राज्य-थकावट (संतुलन/फायरवॉल पर निकास राज्य तालिकाएं/सीपीयू) और L7 (आवेदन के लिए "प्रशंसनीय" अनुरोध उत्पन्न करते हैं)। प्रभावी रक्षा कई परतों में बनाई गई है: परिधि पर नेटवर्क उपाय, आपके नेटवर्क के बाहर फ़िल्टरिंग/स्क्रबिंग, संतुलन/प्रॉक्सी पर सुरक्षा और अनुप्रयोग, औसत दर्जे के एसएलओ के साथ परिचालन प्रक्रियाएं।
खतरा लैंडस्केप
वॉल्यूमेट्रिक (यूडीपी/आईसीएमपी बाढ़, डीएनएस/एनटीपी/एसएसडीपी/सीएलडीएपी/मेमकैच्ड प्रवर्धन): लक्ष्य चैनल और बंदरगाहों को बंद करना है।
TCP राज्य-थकावट (SYN/ACK बाढ़, TCP विखंडन, आधा-शंकु कनेक्शन): निकास कनेक्ट्रैक/श्रोता।
L7 HTTP (S )/WebSocket/GraphQL बाढ़, कैश-बस्टिंग, "धीमी" अनुरोध: CPU/IO एप्लिकेशन और कैश लेयर खाएं।
प्रतिबिंब/प्रवर्धन: आईपी स्रोत प्रतिस्थापन के साथ खुले परावर्तक/एम्पलीफायरों का उपयोग।
कालीन बमबारी: कई आईपी/उपसर्गों में यातायात का वितरण, जटिल बिंदु फ़िल्टरिंग।
बुनियादी नेटवर्क उपाय (हमलों से पहले)
1. एंटी-स्पूफिंग: uRPF/BCP38 सीमा पर; अन्य लोगों के स्रोतों के साथ निवर्तमान पैकेट छोड़ दें
2. किनारे/पीई पर एसीएल: अवांछित प्रोटोकॉल/बंदरगाहों से इनकार करें; mgmt खंड के लिए अलग सूची।
3. CoPP (कंट्रोल प्लेन पुलिसिंग): राउटर (BGP, OSPF, SSH, SNMP) को पॉलिश करना।
4. पोर्ट पर दर-सीमा/पॉलिशिंग: "शोर" वर्गों के लिए बीपीएस/पीपीएस, फट सेटिंग्स।
5. लोड शेयरिंग: सार्वजनिक आईपी के लिए Anycast, gomesources; स्थिर और कैश के लिए CDN/WAAP।
6. RPKI/ROA + सख्त BGP आयात: यातायात अपहरण/पुनर्निर्देशन के जोखिम को कम करता है।
7. सतह में कमी: प्रकाशित सेवाओं को कम से कम करें, प्रॉक्सी के पीछे "कच्चे" मूल को बंद करें।
हमला करते समय त्वरित प्रतिक्रिया: नेटवर्क
RTBH (रिमोट ट्रिगर ब्लैकहोल): मार्ग शून्य/32 (या/128) पीड़ित के लिए बीजीपी समुदाय।
BGP Flowspec: PE/edge को L3/L4 नियमों (src/dst/port/TCP फ्लैग्स) का तेजी से प्रसार।
स्क्रबिंग केंद्र/एंटी-डीडीओएस प्रदाता: जीआरई/वीआरएफ सुरंग या प्रत्यक्ष अपस्ट्रीम; फ़िल्टरिंग, फिर आपके लिए "शुद्ध" यातायात।
Anycast-antiDDoS: उपस्थिति बिंदुओं से प्रवाह विभाजन, स्थानीयकरण को नुकसान।
सीडीएन/एज कैश: स्क्रीन मूल, एल 7 सीमाएं और "चुनौती" तंत्र देता है।
होस्ट और L4 सुरक्षा
SYN कुकीज ़/SYNPROXY: क्लाइंट पुष्टि होने तक स्थिति न रखें।
लिनक्स: 'sysctl नेट। ipv4। tcp_syncookies=1' या इनपुट बैलेंसर पर 'SYNPROXY'।
ट्यूनिंग कनेक्ट्रैक (यदि उपयोग किया जाता है):- हैशसाइज़बढ़ाकर टेम्पर 'nf _ conntrack _ max' समझदारी से;
- "हाफ-ओपन" और निष्क्रिय राज्यों के लिए टाइमआउट कम करें।
- eBPF/XDP: NIC (PPS सुरक्षा) पर शुरुआती गिरावट, कोर पर हस्ताक्षर/गति फ़िल्टरिंग।
- Nftables/iptables: PPS सीमा, "संदिग्ध" झंडे को त्यागना, connlimit।
- यूडीपी सख्त: यदि सेवा यूडीपी का उपयोग नहीं करती है, तो सीमा पर एक बूंद; यदि उपयोग कर रहा है, स्रोतों/बंदरगाहों को प्रतिबं
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
}
}
}
इनपुट बैलेंसर पर SYNPROXY (उदाहरण के लिए 'इप्टेबल्स'):
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: महत्वपूर्ण रास्तों, दर-सीमा, चुनौती/जेएस, व्यवहार स्कोरिंग पर सकारात्मक मॉडल।
कैचिंग/स्थैतिक ऑफलोड: मूल के अनुरोध को कम करें; कैश-बस्टिंग सुरक्षा (सामान्यीकरण/पैरामीटर ब्लैकलिस्ट)।
ग्राफक्यूएल लिमिटर: 'मैक्सडेप्थ', 'मैक्सकॉस्ट', बिक्री में आत्मनिरीक्षण निषेध।
BFF पैटर्न: पतले क्लाइंट टोकन, सर्वर पर भारी तर्क/सीमा।
मूर्तिकला और कतारें: गिरावट के दौरान हिमस्खलन जैसी पुनरावृत्तियों को रोकें।
टेलीमेट्री और डिस्कवरी
नेटवर्क प्रवाह: NetFlow/sFlow/IPFIX (pps, टॉप टॉकर्स, प्रोटोकॉल/पोर्ट/ASN)।
निष्क्रिय L7 सेंसर: बैलेंसर/प्रॉक्सी लॉग (nginx/envoy), p95/99 मैट्रिक्स, त्रुटि-दर।
बुनियादी थ्रेसहोल्ड: "किनारे पर अप्रत्याशित पीपीएस/सीपीयू वृद्धि", "एसवाईएन-आरईसीवी उछाल", "यूडीपी अप्रतिबंधित।"
हस्ताक्षर/व्यवहार: IP/ASN/JA3 आवृत्तियाँ, 4xx/5xx स्पाइक्स, उपयोगकर्ता-एजेंट विसंगतियाँ।
विज़ुअलाइज़ेशन: व्यक्तिगत डैशबोर्ड L3/L4/L7; RTBH/Flowspec के लिए जियो/ASN ट्रैफिक मैप समय।
SLO/SLI और सतर्कता
एसएलओ उदाहरण:- "DDoS विसंगतियों का MTD ≤ 60 सेकंड, MTTM (RTBH/Flowspec सक्रियण) ≤ 3 मिनट।"
- "p95 विलंबता बढ़ त के माध्यम से ≤ 50 ms बाहर हमलों; शमन के तहत ≤ 200 एमएस पर हमला करते समय।"
- "वैध दुर्भावनापूर्ण यातायात का हिस्सा ≥ 99% वैध यातायात का ≥ 98% बनाए रखते हुए।"
- नेटवर्क नोड्स> सीमा के पीपीएस/सीपीयू/आईआरक्यू;
- SYN-RECV/आधा-खुला> X;
- सार्वजनिक समापन बिंदुओं पर 5xx/विलंबता वृद्धि;
- WAF> सीमा (FP जोखिम) पर प्रतिशत चुनौती/इनकार।
रक्षा वास्तुशिल्प पैटर्न
1. टायर्ड डिफेंस: एज (ACL/CoPP) → स्क्रबिंग/Anycast → L7 प्रॉक्सी/WAAP → एप्लिकेशन।
2. ट्रैफिक डायवर्सन: बीजीपी समुदाय गोता लगाने के लिए स्क्रबिंग, जीआरई बेकहोल में जाने के लिए।
3. स्टेटलेस एज: कनेक्ट्रैक के लिए अधिकतम स्टेटलेस फ़िल्टरिंग; स्थिति - आवेदन के करीब।
4. eBPF/XDP प्रथम: प्रारंभिक बूंदें (JA3/ports/speed द्वारा) कोर तक।
5. गोल्डन पथ: महत्वपूर्ण एपीआई के लिए अलग आईपी/डोमेन ताकि सब कुछ पूरी तरह से "ध्वस्त" न हो।
परिचालन प्रक्रियाएं और घटनाएं
रनबुक: कौन और क्या मेट्रिक्स RTBH/Flowspec/स्क्रबिंग पर बदल जाता है, Anycast/पूल को कैसे स्विच करें।
ब्लैकलिस्ट और टीटीएल: अल्पकालिक ब्लॉक ताकि "ओवरशूट" न हो; स्वचालित पुन: परीक्षण स्रोत।
संचार: प्रदाताओं/भागीदारों/विक्रेताओं के लिए संदेश टेम्पलेट; हमला किए गए डोमेन के बाहर संचार चैनल।
पोस्ट-हादसा: एक समयरेखा के साथ रिपोर्ट (T0..। Tn), "क्या काम किया/नहीं", परीक्षण कैटलॉग को अपडेट करना।
अभ्यास: नियमित खेल-दिन: RTBH ड्राई-रन, Anycast क्षेत्र का नुकसान, संतृप्ति लिंक, "धीमा" हमले।
लिनक्स/बैलेंसर ट्यूनिंग (नमूना)
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
सामान्य त्रुटियाँ
किनारे पर स्टेटफुल फ़ायरवॉल के माध्यम से सभी ट्रैफ़िक रखें - कनेक्ट्रैक की थकावट। स्टेटलेस करें जहां आप कर सकते हैं।
लेट RTBH/Flowspec → चैनल पहले से ही "शून्य है। "थ्रेसहोल्ड स्वचालित करें और सक्षम करें।
"सभी" के लिए एक आईपी/एक किनारा - कोई विस्फोट त्रिज्या अलगाव नहीं। डोमेन/आईपी और कोटा विभाजित करें।
शून्य कैश - प्रत्येक L7 कॉल बीट्स मूल; कैशिंग और पैरामीटर सामान्यीकरण सक्षम करें।
विरासत विश्लेषण के बिना देशों/एएसएन का अंधा अवरोधन - कटौती रूपांतरण; बारीक नियमों/चुनौतियों का उपयोग करें।
बहुत आक्रामक सीमाएं - व्यापार के चरम पर बड़े पैमाने पर एफपी।
कार्यान्वयन रोडमैप
1. सतह मूल्यांकन: आईपी/उपसर्ग/पोर्ट/प्रोटोकॉल इन्वेंट्री, महत्वपूर्ण पथ मानचित्र।
2. नेटवर्क स्वच्छता: एंटी-स्पूफिंग, एसीएल, सीओपीपी, आरपीकेआई/आरओए, अनावश्यक यूडीपी सेवाओं से इनकार।
3. ट्रैफिक डायवर्सन: स्क्रबिंग प्रदाता, Anycast/CDN, BGP समुदायों के साथ अनुबंध।
4. एज ट्यूनिंग: स्टेटलेस फ़िल्टरिंग, SYNPROXY/eBPF, उचित कनेक्ट्रैक टाइमआउट।
5. L7/WAAP: सकारात्मक मॉडल, सीमा/चुनौतियां, कैश।
6. अवलोकन: NetFlow/sFlow, डैशबोर्ड L3/L4/L7, अलर्ट, SLO।
7. स्वचालन: RTBH/Flowspec बटन, नियमों के लिए IaC, कॉन्फ़िग का कैनरी लेआउट।
8. ड्रिल और आरसीए: नियमित परीक्षण, प्लेबुक अपडेट।
IGaming/fintech के लिए सुविधाएँ
पीक इवेंट्स (टूर्नामेंट, प्रमोशन, मैच): प्लान क्षमता/सीमा, वार्म अप कैश, प्री-वार्मिंग सीडीएन।
भुगतान एकीकरण: समर्पित आईपी/डोमेन, प्राथमिकता चैनल एंटी-डीडीओएस प्रदाता, एमटीएलएस से पीएसपी के माध्यम से, महत्वपूर्ण समापन बिंदुओं पर सख्त सीमाएं।
एंटी-फ्रॉड/बॉट कंट्रोल: व्यवहार स्कोरिंग और पंजीकरण/लॉगिन/प्रोमो कोड पर मानव चुनौतियां।
यूएक्स और रूपांतरण: आक्रामक सुरक्षा के साथ, वीआईपी/भागीदारों के लिए अनुग्रह सूचियों का उपयोग करें, नरम गिरावट (कैश/रीडोनली)।
कानूनी आवश्यकताएं: लॉग पारदर्शिता, टेलीमेट्री भंडारण, टाइम-टू-वॉलेट और टर्नओवर मेट्रिक्स पर उपायों के प्रभाव को कम करना।
उदाहरण: फूल और आरटीबीएच (वैचारिक रूप से)
समुदाय के माध्यम से RTBH (उदाहरण):
route 203. 0. 113. 10/32 blackhole set community 65535:666 announce to upstream
फ्लॉस्पेक (यूडीपी इकाई> 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 और वॉल्यूमेट्रिक के खिलाफ, स्क्रबिंग/Anycast/नेटवर्क उपायों की आवश्यकता है।
SYN कुकीज़पर्याप्त?
यह SYN-बाढ़के खिलाफ बुनियादी सुरक्षा है, लेकिन नेटवर्क सीमा और स्क्रबिंग के बिना, चैनल को अभी भी बंद किया जा सकता है।
क्या मुझे ICMP अक्षम करने की आवश्यकता है?
नहीं, यह नहीं है। बेहतर दर-सीमा और केवल खतरनाक प्रकार, आईसीएमपी निदान/पीएमटीयू के लिए उपयोगी है।
स्क्रबिंग के साथ जीआरई सुरंग विलंबता नहीं जोड़ेगी?
हां, लेकिन आमतौर पर स्वीकार्य। निकटतम पीओपी के लिए कैश और सटीक मार्ग के साथ मुआवजा।
कुल
विश्वसनीय DDoS संरक्षण एक बहु-स्तरीय वास्तुकला है: नेटवर्क स्वच्छता (एंटी-स्पूफिंग/ACL/CoPP), फास्ट ट्रैफिक डायवर्सन (RTBH/Flowspec/any/anycast), होस्स्ट), होस्ट और L7 और L7 तंत। eBPF/XDP, WAAP), प्लस टेलीमेट्री, SLO और डिबग्ड प्लेबुक। यह दृष्टिकोण डाउनटाइम को कम करता है, चैनलों को जीवित रखता है, और वितरित हमलों के दबाव में भी व्यापार मैट्रिक्स रखता है।