मैं Amazon EC2 पर DDOS हमले को कैसे रोक सकता हूं?


46

मेरे द्वारा उपयोग किए जाने वाले सर्वरों में से एक को Amazon EC2 क्लाउड पर होस्ट किया गया है। हर कुछ महीनों में हमें इस गंभीर हमले पर डीडीओएस हमला होता है। यह सर्वर को अविश्वसनीय रूप से धीमा कर देता है। लगभग 30 मिनट के बाद, और कभी-कभी बाद में एक रिबूट, सब कुछ वापस सामान्य हो जाता है।

अमेज़ॅन के पास सुरक्षा समूह और फ़ायरवॉल हैं, लेकिन मुझे हमले को कम करने या रोकने के लिए ईसी 2 सर्वर पर और क्या होना चाहिए?

इसी तरह के सवालों से मैंने सीखा है:

  • किसी विशेष IP पते से IP तालिकाओं (या शायद UFW) के माध्यम से अनुरोधों / मिनट (या सेकंड) की दर को सीमित करें?
  • ऐसे हमले से बचने के लिए पर्याप्त संसाधन हों - या -
  • संभवतः वेब एप्लिकेशन का निर्माण करें ताकि यह लोचदार हो / जिसमें एक इलास्टिक लोड बैलेंसर हो और वह इतनी अधिक मांग को पूरा करने के लिए जल्दी से स्केल कर सके)
  • यदि mySql का उपयोग कर रहे हैं, तो mySql कनेक्शन सेट करें ताकि वे क्रमिक रूप से चलें ताकि धीमी क्वेरी सिस्टम से न टकराए

मैं और क्या भुल रहा हूं? मुझे विशिष्ट टूल और कॉन्फ़िगरेशन विकल्पों (फिर से, यहां लिनक्स का उपयोग करके), और / या अमेज़ॅन ईसी 2 के लिए विशिष्ट चीज़ों के बारे में जानकारी पसंद आएगी।

ps: DDOS के लिए निगरानी के बारे में नोटों का भी स्वागत किया जाएगा - शायद नागों के साथ? ;)


इसे रोकना लगभग असंभव है लेकिन आप अपनी भेद्यता को कम कर सकते हैं।
बेलमिन फर्नांडीज

1
सच सच। और मैं उन जवाबों से खुश
रहूंगा जो

इसे रोकने के तरीके को जानने के लिए, किसी को हमले की प्रकृति के बारे में अधिक जानने की आवश्यकता होगी। क्या यह सिंट-फ्लड था? क्या एक वेब पेज था जो महंगा है जो हिट हो रहा था? क्या यह कोई और सेवा थी?
स्टू

मुझे लगता है कि यह एक वेबपेज था लेकिन मुझे यकीन नहीं है। मैं इनकी निगरानी और जांच के सुझावों का भी स्वागत करूंगा। कुछ प्रवेश लॉग पहले ही हटा दिए गए हैं - मुझे और क्या चाहिए?
cwd

और वास्तव में, अगर कोई रिबूट समस्या को ठीक करता है, तो मुझे नहीं पता कि यह क्या हो सकता है, सिवाय इसके कि शायद आपके सर्वर में कहीं रिसोर्स लीक हो। एक रिबूट निश्चित रूप से अपने आप पर एक DDoS को रोक नहीं सकता है। आपको कैसे पता चलेगा कि यह डीडीओएस है?
स्टू

जवाबों:


36

एक DDOS (या यहां तक ​​कि एक डॉस), इसके सार में, एक संसाधन थकावट है। आप कभी भी अड़चनों को खत्म नहीं कर पाएंगे, क्योंकि आप केवल उन्हें दूर धकेल सकते हैं।

AWS पर, आप भाग्यशाली हैं क्योंकि नेटवर्क घटक बहुत मजबूत है - यह जानकर बहुत आश्चर्य होगा कि अपस्ट्रीम लिंक संतृप्त था। हालांकि, सीपीयू, साथ ही डिस्क I / O, बाढ़ के लिए आसान हैं।

कार्रवाई का सबसे अच्छा कोर्स कुछ मॉनिटरिंग शुरू करना होगा (स्थानीय जैसे SAR, Nagios के साथ रिमोट और / या स्काउटऐप) और कुछ रिमोट लॉगिंग सुविधाएं (Syslog-ng)। इस तरह के सेटअप के साथ, आप यह पहचानने में सक्षम होंगे कि कौन से संसाधन संतृप्त हो जाते हैं (सिंट बाढ़ के कारण नेटवर्क सॉकेट; खराब एसक्यूएल प्रश्नों या क्रॉलर के कारण सीपीयू; राम की वजह से ...)। EBS संस्करणों (बाद में लॉग का अध्ययन करने के लिए) पर अपना लॉग विभाजन (यदि आपके पास रिमोट लॉगिंग सक्षम नहीं है) को भूलना न भूलें।

यदि हमला वेब पृष्ठों के माध्यम से आता है, तो प्रवेश लॉग (या समतुल्य) बहुत उपयोगी हो सकता है।


आप "लोड के आधार पर" अनुभाग की जाँच कर सकते हैं serverfault.com/a/531942/87017
Pacerier

24

आप अपने EC2 उदाहरणों को एक इलास्टिक लोड बैलेंसर के पीछे लगाकर और केवल ELB उदाहरण से ट्रैफ़िक स्वीकार करके भी अलग कर सकते हैं। यह डीडीओएस हमलों के प्रबंधन के लिए अमेज़ॅन पर अधिक दबाव डालता है।

मुझे लगता है कि आपके पास अभी भी एसएसएच सभी के लिए खुला है, इसलिए यह संभव है कि आप अभी भी कुछ बदमाश ट्रैफिक को वहां आते हुए देखेंगे, जब तक कि आप उस पोर्ट को कुछ स्थिर आईपी पर लॉक नहीं कर सकते। आप डीडीओएस हिट को कम करने के लिए एसएसएचडी पोर्ट को कुछ अधिक अस्पष्ट (यानी, 22 के अलावा कुछ और) बदल सकते हैं (अधिकांश बॉट केवल ज्ञात बंदरगाहों की जांच करते हैं)।

मैं विफल 2 आईएनबी का भी उल्लेख करूंगा, जो लॉग्स की निगरानी कर सकता है और विशिष्ट आईपी को ब्लॉक करने के लिए अस्थायी रूप से आपके आईपी तालिकाओं को संशोधित कर सकता है (उदाहरण के लिए, अगर आपके एकल आईपी पते से एसएसएच में 6 असफल प्रयास हुए हैं, तो यह उस आईपी को 30 के लिए ब्लॉक कर सकता है। मिनट या तो)। ध्यान रखें कि (जैसा कि जॉर्डन ने अचरज से टिप्पणी की थी) फेल 2ब्बन शायद अनुमानित यातायात को अवरुद्ध करने के लिए उपयुक्त नहीं है (उदाहरण के लिए, एक ईएलबी से) क्योंकि यह प्रॉक्सी के आईपी को ब्लॉक करेगा, जरूरी नहीं कि मूल रिमोट आईपी हो।

मैंने इसका उपयोग नहीं किया है, लेकिन Apache mod_evasive भी जांच के लायक हो सकता है; हालाँकि, यह विफलता के रूप में एक ही कमजोरी हो सकती है जब यह आईपी-आधारित ब्लॉकिंग की बात आती है।


+1 धन्यवाद। वास्तव में मैंने ssh को बंद कर दिया है;)
cwd

1
ध्यान दें कि यदि आप एक ईएलबी के पीछे हैं, तो विफलता 2 एबान काम नहीं करेगा - क्योंकि यह आम तौर पर आईपीपीटी में एक आईपी को अवरुद्ध करके कार्य करता है। लेकिन IP हमेशा आपके ELB की ही रहने वाली है। मुझे एहसास हुआ कि मेरे सेटअप में विफल 2 चैनल जोड़ने की कोशिश करने के बाद। यह काम नहीं करता है अगर उपयोगकर्ता केवल ELB के माध्यम से पहुंच रहा है।
जॉर्डन रीटर

5

यदि आप अपाचे का उपयोग कर रहे हैं, तो मैं mod_security का उपयोग करने का सुझाव देता हूं । अधिकांश विक्रेताओं द्वारा पैक किए गए, मुख्य नियम सेट एक शानदार काम करते हैं।

एक और सख्त कदम वेबसर्वर स्तर पर अनुरोधों को सीमित कर रहा है। Nginx ।, Apache आने वाले अनुरोधों को थ्रॉटल और सीमित कर सकता है।


भयानक - उन शानदार विकल्पों की तरह लग रहे हैं धन्यवाद!
cwd

2

समाधान मैं वास्तविक समय खराब गतिविधि को रोकने के लिए उपयोग करता हूं, आईपी एडब्ल्यूएस से बाहर आ रहा है और अन्य यह है ... एलएफडी ब्लॉकर्स के लिए मेरे सीएसएफ फ़ायरवॉल में मैं यहां पाई गई सूची का उपयोग करता हूं - http://myip.ms/browse/blublist/ Blacklist_IP_Blacklist_IP_Addresses_Live_Database_Real समय

CSF फ़ायरवॉल के लिए ब्लैकलिस्ट डाउनलोड करें। http://myip.ms/files/blacklist/csf/latest_blacklist.txt

कोई और अधिक अपमानजनक रूप से AWS ट्रैफ़िक नहीं है।


1
इस सवाल का जवाब नहीं है।
kasperd

2

मैं पक्षपाती हूं, क्योंकि मैं एक कंटेंट डिलीवरी नेटवर्क के लिए एक सुरक्षा प्रेसेल्स इंजीनियर के रूप में काम करता हूं।

हालाँकि, सामग्री वितरण नेटवर्क पर एक Ddos शमन समाधान का लाभ यह सुनिश्चित करता है कि आप मूल रूप से संसाधनों से बाहर कभी नहीं चलते हैं। यह आपकी साइट के सामने एक एफ 5 लोड बैलेंसर लगाने के समान है, लेकिन दुनिया भर में हजारों स्थानों पर फैला हुआ है।

एक अच्छा सीडीएन आपको एक श्वेतसूची के साथ मूल को लादने की अनुमति देगा जिसे आप अर्स फ़ायरवॉल पर स्थापित करते हैं। इसलिए जब हमलावर अमेज़ॅन पर अपनी टोही प्रदर्शन करते हैं, तो आपका आईपी पता खाली हो जाएगा क्योंकि सब कुछ अवरुद्ध हो जाएगा।

इसलिए जब ट्रैफ़िक नोड हमलावर के पास संभव के रूप में एक नोड को हिट करता है, तो Ddos हमले अवरुद्ध होते हैं। यह सुनिश्चित करता है कि आप उस Ddos के हमलों को कम करें जहां आप उस संपत्ति से दूर हैं जिसे आप संरक्षित करने की कोशिश कर रहे हैं।

एक अच्छा सीडीएन अन्य स्थानों पर स्वास्थ्य जांच और फेलओवर ट्रैफ़िक का प्रदर्शन भी कर सकता है, जैसे गधे, एज़्योर, रैक स्पेस, सॉफ्ट लेयर, एक फिजिकल डीसी आदि पर एक और अहंकार। आपके पास यह सुनिश्चित करने के लिए एक WAF होना चाहिए कि आप एप्लिकेशन लेयर थकावट के हमलों को रोक सकते हैं जैसे RUDY, स्लोपोस्ट, स्लोक्लोरिस के साथ-साथ sqli, xss, rfi, lfi आदि।

डिफ़ॉल्ट रूप से सीडीएन नेटवर्क लेयर के हमलों को भी रोक देता है, जैसे कि अश्रु, आईसीएमपी हमले, सिंफ्लड्स इत्यादि। एक सीडीएन डीडोस हमलों को कम करने में सक्षम है क्योंकि ट्रे में अनुरोधों को स्वीकार करने, खराब ट्रैफ़िक को फ़िल्टर करने और अच्छे ट्रैफ़िक को पारित करने की क्षमता बड़ी मात्रा में है। इसलिए एनटीपी, डीएनएस, एसएसडीपी, चार्गेन और स्नैम्प वॉल्यूमेट्रिक हमलों जैसे एम्पलीफाइंग हमलों को अवरुद्ध किया जा सकता है।

मैंने जुलाई 2014 में अब तक का सबसे बड़ा हमला 321gbps देखा है। इस हमले के दौरान 20gbps पर DNS प्रोटोकॉल हमला भी हुआ था। इसलिए आपको यह सुनिश्चित करने की आवश्यकता होगी कि DNS इन्फ्रास्ट्रक्चर भी भारी संख्या में अनुरोधों का सामना करने के लिए लचीला है।

आपके द्वारा दिए गए विवरण से ऐसा लगता है कि आप थकावट के हमले के अधीन थे, जहां थ्रू हमलावर ने बहुत सारे धागे खोल दिए, जैसे कि सभी धागे वेब सर्वर, ऐप सर्वर या फ़ायरवॉल पर खपत हो गए। यह एक धीमे, धीमे या रुडी की तरह है।

एप्लिकेशन परत थकावट के हमलों के खिलाफ ब्लॉक करने के लिए आपको एक वेब एप्लिकेशन फ़ायरवॉल (WAF) प्राप्त करना होगा। एक विशिष्ट नेटवर्क फ़ायरवॉल (जिसमें एमेज़ॉन फ़ायरवॉल और अगली पीढ़ी के फ़ायरवॉल शामिल हैं) इसे ब्लॉक नहीं कर पाएंगे। इन दिनों भेजे गए काम फायरवॉल इन दिनों (नवंबर 2014) के सभी हमलों का लगभग 30% ही ब्लॉक कर सकते हैं।


1

यहाँ एक उपकरण है जो मैं अपाचे, ईएलबी और एसीएल के साथ एले पर Fail2Ban का उपयोग करने वालों के लिए बनाया है: https://github.com/anthonymartin/aws-acl-fail2ban

यह DoS के हमलों का पता लगाने और रोकने और ec2 उदाहरणों के दुरुपयोग के लिए उपयोगी है।


0

कॉन्फ़िगर सर्वर फ़ायरवॉल सबसे अच्छा है जिसे मैंने EC2 में सॉफ्टवेयर आधारित VM के DDoS शमन के लिए देखा है। यदि आप syslog सुविधा को संयोजित करते हैं तो यह लोड संतुलित वातावरण के विरुद्ध सुरक्षा कर सकता है।

http://configserver.com/cp/csf.html


सर्वर दोष में आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
स्कॉट पैक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.