पहला, इस तरह का हमला DNS (मुख्य रूप से) को लक्षित करना नहीं है जैसा कि आपका शीर्षक बताता है। यह निश्चित रूप से DNS सर्वरों पर कुछ अतिरिक्त भार पैदा करेगा, लेकिन मुख्य उद्देश्य किसी और को DDoS करना है। खराब सर्वर कॉन्फ़िगरेशन इसे बदतर बना सकता है लेकिन अंत में यह मुद्दा DNS और UDP के डिजाइन में अंतर्निहित है और वास्तव में, किसी भी स्टेटलेस संचार प्रोटोकॉल।
यह मूल रूप से इस तरह काम करता है: एक हमलावर एक (DNS) सर्वर पर साधारण (DNS) क्वेरी भेजता है। उन प्रश्नों को प्रकट करने के लिए जाली है जैसे कि वे लक्ष्य प्रणाली से उत्पन्न हुए थे। DNS सर्वर अब क्वेरी का उत्तर देता है, उत्तर को उसके कथित मूल में वापस भेज देता है - पीड़ित। यही कारण है कि इसे प्रतिबिंब हमला कहा जाता है ।
यह संभव है क्योंकि आप स्टेटलेस संचार के स्रोत (DNS पर यूडीपी के रूप में) को सत्यापित कर सकते हैं क्योंकि आप पोस्टकार्ड पर प्रेषक के पते पर भरोसा कर सकते हैं। सर्वर के पास यह तय करने का कोई तरीका नहीं है कि कोई क्वेरी वैध है या इस तरह के हमले का हिस्सा है। DNS यहां सबसे लोकप्रिय प्रोटोकॉल है क्योंकि इसके आसपास बहुत सारे और बहुत सारे सर्वर हैं और आपको (गलत) इसका उपयोग करने के लिए बहुत तकनीकी जानकारी या विशेष उपकरण की आवश्यकता नहीं है।
चीजों को बदतर बनाने के लिए (और सभी हमले-कुशल), प्रवर्धन भाग को देखें। इससे ज्यादा नुकसान नहीं होगा अगर हमलावर का ट्रैफिक परिणामी ट्रैफिक के आकार के बराबर होता। हमलावर के लिए एकमात्र लाभ यह होगा कि उसका पता डीएनएस सर्वर के पीछे छिपा हो। वह सीधे प्रेषक के पते को नकली कर सकता है, डीएनएस पर फिर से रूट करने की कोई आवश्यकता नहीं होगी। लेकिन DNS जवाब देता है, और यह एक और बिंदु है कि DNS यहां क्यों लोकप्रिय है, सवाल से बहुत बड़ा हो सकता है । आप उपयोग किए गए सटीक प्रश्नों के आधार पर इस पर अलग-अलग संख्या पा सकते हैं, लेकिन अगर सर्वर पुनरावर्ती प्रश्नों को करने के लिए पर्याप्त अनुकूल है तो यह 1:60 तक जा सकता हैतुम्हारे लिए। इसलिए हमलावर को बहुत सारे दुर्भावनापूर्ण ट्रैफ़िक का उत्पादन करने के लिए उसके नियंत्रण में कई मशीनों की आवश्यकता नहीं होती है।
जैसा कि आप सार्वजनिक इंटरनेट पर सैकड़ों और हजारों "ओपन" डीएनएस सर्वर आसानी से पा सकते हैं, आप क्विक गणित कर सकते हैं कि एक हमलावर को कितना कम काम करना पड़ता है यदि प्रत्येक ओपन डीएनएस सर्वर वह जानता है कि उसके प्रश्नों को लक्षित साठ गुना बढ़ जाएगा। जैसा कि मैंने शुरुआत में कहा था, इस पर जवाबी कार्रवाई करने का कोई अच्छा तरीका नहीं है। स्वाभाविक रूप से कई DNS सर्वर हर किसी के लिए खुले हैं जबकि वे नहीं होने चाहिए, गलतफहमी के कारण। लेकिन उतने ही खुले सर्वर हैं, जिन्हें खुला रहना है, क्योंकि वास्तव में यही उनका उद्देश्य है।
जब आप यह नहीं बता सकते हैं कि अनुरोध एक हमले का हिस्सा है या नहीं, तो आपका एकमात्र विकल्प सर्वर को चलाना नहीं है। आप दर सीमित करने और अन्य खिलौनों के साथ बेला कर सकते हैं लेकिन आप इससे पूरी तरह से छुटकारा नहीं पा सकते हैं। यदि आप मज़े के लिए DNS प्रदान कर रहे हैं तो आप अनुरोधों के स्रोत IP को ब्लैकलिस्ट कर सकते हैं। लेकिन अगर आप बड़े पैमाने पर हैं तो इससे पीड़ित को और भी अधिक नुकसान होगा। याद रखें, DNS सर्वर पर आप सभी देख सकते हैं कि पीड़ित का पता है। कल्पना करें कि आपकी कंपनी आपके प्रदाता के DNS के माध्यम से हमला कर रही है और आपका प्रदाता आपकी कंपनी के लिए DNS सेवा में कटौती करने का निर्णय लेता है। हमलावर इसे एक बोनस बोनस अंक के रूप में अस्वीकार कर सकता है जो सेवा से वंचित है ।
किसी भी तरह, उन हमलों को पूरे दिन और रात में होता है और उन्हें इंटरनेट का "पृष्ठभूमि शोर" माना जाता है। यदि आप एक सार्वजनिक (पुनरावर्ती) DNS सर्वर सेट करते हैं तो आपको यादृच्छिक हमलों में भाग लेने में बहुत समय नहीं लगेगा। बेशक कभी-कभी चीजें तब खराब होती हैं जब बड़े इन्फ्रास्ट्रक्चर (जैसे डीएनएस रूट सर्वर) का भी गलत इस्तेमाल किया जाता है, लेकिन उन मामलों में प्रोएक्टिव काउंटरमेसर को व्यक्ति द्वारा लिया जाता है, जब तक कि हमला "सामान्य" स्तर तक नहीं हो जाता।
अब तक शिक्षण पर। अपने प्रश्न का उत्तर देने के लिए, अंत में:
यदि आप प्रतिबंध के बिना प्रश्नों का उत्तर देते हैं, तो आप जानते हैं कि आपका सर्वर असुरक्षित है। अवधि। यदि आप पुनरावर्ती प्रश्नों की सेवा कर रहे हैं, तो आपका सर्वर हमलावर के लिए उल्लेखित 1:60 अनुपात उत्पन्न कर सकता है। अगर यह केवल अन-रिकर्सिव सर्व कर रहा है तो यह उतना बुरा नहीं है, लेकिन फिर भी ...
इसलिए...
- सुनिश्चित करें कि आपको वास्तव में सार्वजनिक DNS सर्वर चलाने की आवश्यकता है
- अगर आपको करना है, तो BIND
allow-recursion
और allow-query
निर्देशों पर एक नज़र डालें
- यदि आपका DNS सर्वर आपके अपने क्षेत्र के लिए आधिकारिक होगा , तो पुनरावृत्ति की कोई आवश्यकता
allow-recursion
नहीं है, "कोई भी" पर सेट नहीं है;
- यदि आप अन्य डोमेन के लिए एक रिज़ॉल्वर चलाना चाहते हैं , तो क्वेरी और पुनरावर्ती प्रश्नों के लिए अनुमत उपयोगकर्ताओं को प्रतिबंधित करें। आप उल्लिखित निर्देशों में आईपी पते, नेटवर्क या एक्सेस सूची को परिभाषित कर सकते हैं
- न केवल BIND में बल्कि सिस्टम स्तर पर भी DNS ट्रैफ़िक को सीमित करने के बारे में सोचें । एक बहुत ही सरल उदाहरण के रूप में, ये iptables नियम प्रत्येक आईपी पते से प्रति मिनट 10 से अधिक प्रश्नों की अनुमति नहीं देंगे:
।
iptables -A INPUT -p udp --dport 53 --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP
अब, इन बिंदुओं को ध्यान में रखते हुए आपको जाना अच्छा होना चाहिए। आपके सर्वर पर अभी भी दुर्भावनापूर्ण ट्रैफ़िक हो सकता है, लेकिन ऐसी मात्रा में नहीं जो आपकी अच्छी रात की नींद ले।