एक हैकर को धीमा कैसे करें


17

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

वह कहीं भी नहीं मिल रहा है, और हमारे मूल बचावों से भी आगे नहीं बढ़ रहा है (लेकिन वह हमारी लॉग फाइल भर रहा है)।

हम 403 Unauthorizedउनके अनुरोधों को वापस भेज रहे हैं जैसे ही वे आते हैं, लेकिन जितनी तेज़ी से हम उनके अनुरोधों को रोकते हैं, उतनी तेज़ी से उनकी स्क्रिप्ट चलती है।

हम 403 प्रतिक्रिया को वापस भेजने से पहले किसी प्रकार की "देरी" शुरू करना चाहते हैं। अब, बेहतर।

प्रश्न: बाकी साइट को प्रभावित किए बिना हम हैक प्रयासों में देरी कैसे कर सकते हैं?

  • मुझे लगता है कि एक स्लीप (15000) उसके धागे पर अन्य साइट आगंतुकों के लिए बुरी खबर होगी।
  • सिर्फ उसके लिए एक नया धागा उखाड़ना, ओवरकिल जैसा लगता है।
  • विलंबित प्रतिक्रिया भेजने का एक और तरीका है?
  • हम कब तक उसके ब्राउज़र को प्रतीक्षा करने के लिए मजबूर कर सकते हैं? मुझे लगता है कि अगर मुझे 403 Unauthorizedत्रुटि मिलती है या अंततः बाहर निकलते हैं तो मुझे ज्यादा परवाह नहीं है, इसलिए हम शायद अनिश्चितकालीन / अनंत प्रतीक्षा भी कर सकते हैं।

36
क्या कोई कारण है कि आप अपने फ़ायरवॉल को उसके आईपी पते से आने वाले ट्रैफ़िक को छोड़ने के लिए कॉन्फ़िगर नहीं कर सकते हैं? यह समस्या आवेदन स्तर की तुलना में नेटवर्क स्तर पर बेहतर ढंग से हल हो जाएगी। ट्रैफ़िक छोड़ने का मतलब होगा कि कनेक्ट रिक्वेस्ट आउट होने तक उसे वहीं बैठना होगा। और सभी का जवाब नहीं देना "अनधिकृत" प्रतिक्रियाओं को वापस फेंकने की तुलना में बहुत अधिक प्रभावी है क्योंकि यह उसे प्रभावी ढंग से निरीक्षण करने के लिए कोई जानकारी नहीं देता है।
cdhowie

3
सिर्फ उसका आईपी ब्लॉक क्यों नहीं?
होगन

2
अपने सर्वर को अनप्लग करें।
इब्राहिम हाशिमी

मेरे उत्तर को देखें - यह एक मानक बात है, मुझे आश्चर्य है कि आपको ऐसा उत्तर नहीं मिला जो पहले कुछ घुसपैठ का पता लगाने वाले सिस्टम की ओर इशारा करता हो।
अनकांशस

@Sayed, अपने सर्वर को अनप्लग करना सबसे खराब चीजों में से एक है जो आप कर सकते हैं। DoSing के अलावा, सुरक्षा
AviD

जवाबों:


37

आपके वेब सर्वर के सामने एक अलग फ़ायरवॉल होना चाहिए। आप कभी भी अपने सर्वर तक पहुँचने से वहाँ के अनुरोधों को रोकना चाहते हैं, जैसे कि उसका आईपी चिंतित है, आपका सर्वर अब मौजूद नहीं है।


1
हाय जोएल, यह "स्वीकृत" उत्तर है, लेकिन चूंकि प्रश्न स्टैकऑवरफ़्लो से स्थानांतरित किया गया था, इसलिए ऐसा प्रतीत होता है कि मेरे पास वास्तव में इसे स्वीकार करने का अधिकार नहीं है। मैंने आपका जवाब +1 कर दिया। यह वही है जो मैं करूंगा।
23

2
@flip अपने नाम पर क्लिक करें और फिर दाईं ओर पृष्ठ के नीचे 'खातों' लिंक भाग। यह आपको आपके स्टैक ओवरफ्लो खाते में वापस जोड़ देगा और प्रश्न के स्वामित्व को पुनः प्राप्त करेगा।
जोएल कोएल

1
लेकिन आप इसे स्वचालित रूप से करना चाहते हैं - मामले के आधार पर इस तरह के मुद्दों से निपटने का कोई मतलब नहीं है। (मेरा जवाब देखें)
अनरसन

5

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

उदाहरण के लिए, असफल 2 आईएनबी देखें जो लॉग के विश्लेषण के आधार पर कार्रवाई करने के लिए कॉन्फ़िगर किया जा सकता है।

इस तरह आप कर सकते हैं

  • आसानी से एकल आईपी पते को फ़िल्टर करें जिसमें से आपकी साइट के अन्य उपयोगकर्ताओं को प्रभावित किए बिना एक हमला हो रहा है
  • लॉग का विश्लेषण करने के लिए आप अपना खुद का रेक्स लिख सकते हैं
  • आप अपने स्वयं के कार्यों को परिभाषित कर सकते हैं (प्रतिबंध के बजाय गला घोंटना, आदि)

अन्य और बड़े उपकरण हैं, देखें विकिपीडिया पर भी अनुभाग देखें।

जैसा कि आपके प्रश्न को asp.net के रूप में चिह्नित किया गया है, मुझे लगता है कि आपका सर्वर प्लेटफ़ॉर्म विंडोज़ है। फिर भी, अगर linux फ़ायरवॉल का उपयोग करना एक विकल्प है, तो आप ऊपर की कोशिश कर सकते हैं

  • WAN और आपके सर्वर के बीच एक linux फ़ायरवॉल डालें
  • अपने IIS लॉग में फ़ायरवॉल मशीन को एक्सेस दें
  • इसे लिखने के लिए रेगेक्स लिखें
  • प्रतिबंध के लिए इसे मौजूदा टेम्पलेट्स में प्लग करें

इस तरह के फ़ायरवॉल को बेहद मामूली हार्डवेयर पर चलाया जा सकता है - यहां तक ​​कि बहुत सभ्य लिंक बैंडविथ के लिए लिंकेज राउटर्स ( यहां देखें ) जैसा कुछ भी सोचें ।


4

यदि वे एक विशिष्ट आईपी पते या पते ब्लॉक से आते हैं, तो आप इसमें एक ब्लैकहोल मार्ग जोड़ना चाह सकते हैं:

ip ro add blackhole 10.69.96.0/24
ip ro flush cache

आप iptables नियम का उपयोग करके भी इसे पूरा कर सकते हैं, लेकिन यह महसूस करें कि iptables नियम रैखिक रूप से ट्रैवर्स किए गए हैं, इसलिए यदि आप अपने साथ आने वाले हर शरारती के लिए iptables नियमों को जोड़ना शुरू करते हैं, तो आप बहुत अधिक CPU खाना शुरू कर सकते हैं। रूटिंग टेबल कई, कई प्रविष्टियों को संभालने के लिए अनुकूलित हैं। उदाहरण के लिए, मेरे एक बॉक्स में 350K प्रविष्टियां हैं, जिसमें बिना किसी समस्या के राउटिंग टेबल है। लेकिन अगर मैं 3K iptables नियम था तो बॉक्स लगभग निश्चित रूप से खत्म हो जाएगा।

यदि आप कुछ ऐसा करने की कोशिश करते हैं जहां आपका एप्लिकेशन इन कनेक्शनों पर कई सेकंड के लिए सोता है, तो आप पर्याप्त संसाधनों को टाई कर सकते हैं जो वैध अनुरोधों को कोई संसाधन नहीं मिल सकता है।


1
+1। मुझे इस स्थिति में रूटिंग बनाम नेटफिल्टर की सापेक्ष दक्षता के बारे में आपकी जानकारी पसंद आई। क्षमता के iptablesसाथ कर्नेल पर ipsetबहुत ही कुशलता से आईपी पतों की बड़ी सूची का मिलान किया जा सकता है, लेकिन ऐसा लगता है कि कोई भी प्रमुख डिस्ट्रो ipsetअपने कर्नेल में सक्षम नहीं है।
स्टीवन सोमवार

अच्छा बिंदु, ipset ऐसा कुछ है जो ऐसा लगता है कि यह इस तरह की चीजों के लिए उपयोगी होगा, लेकिन अभी आसानी से उपलब्ध नहीं है। वहाँ एक और प्रणाली है, जिसे nf-hipac कहा जाता है, जो एक अधिक सामान्य iptables ऑप्टिमाइज़र था, लेकिन मेलिंग सूची और अंतिम रिलीज़ पर अंतिम पोस्ट 2005 से है।
सीन रिफ़्स्चाइडर

3

आप उसे धीमा नहीं करना चाहते क्योंकि उसे गलत तरीके से धीमा करने से आपकी साइट नीचे आ जाएगी जैसे कि वह एक DoS हमले के तहत था क्योंकि आपके धागे इस व्यक्ति के अनुरोधों की सेवा करने में 'व्यस्त' होंगे। आप जो करना चाहते हैं, वह उसका आईपी ब्लॉक करना और उसके साथ किया जाना है। ऐसा करने वाले व्यक्ति पर प्रतिबंध लगाने का कोई कारण नहीं है।


2

आप जो खोज रहे हैं वह अपाचे मॉड्यूल mod_evaisve है।

डेबियन आधारित डिस्ट्रोस पर, इसका उपयोग करके स्थापित करें

apt-get install libapache2-mod-evasive

CentOS / RHEL

yum install mod_evasive

mod_evasive Apache पर आने वाले अनुरोधों पर नज़र रखता है और IPtables का उपयोग करके IP पर प्रतिबंध लगाता है जो थ्रेशोल्ड मान पास करते हैं। यह HTTP आधारित DoS हमलों और यहां तक ​​कि वितरित DoS हमलों के खिलाफ एक अंतिम उपकरण है, जब आपको हजारों अलग-अलग आईपी के साथ एक विशाल बॉटनेट द्वारा लक्षित किया जाता है।

यह अपाचे मॉड्यूल के रूप में रनटाइम के दौरान लोड किया जाता है और एक अलग डेमॉन के रूप में नहीं।

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

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


0

यदि आप linux का उपयोग कर रहे हैं, तो बड़े विलंब के साथ आदमी को 1 बाइट / एस की तरह सीमित करने के लिए iptables का उपयोग करें और उसे हमेशा के लिए एक अनुरोध प्राप्त करने के लिए ले जाएं। यदि यह वितरित किया जाता है, तो इससे बहुत मदद नहीं मिलेगी।

मुझे यकीन नहीं है कि आप इसे विंडोज पर कैसे करेंगे, लेकिन यदि आपके पास एक है तो आप अपने राउटर या हार्डवेयर फ़ायरवॉल में कुछ समान विकल्प पा सकते हैं।

EDIT: उपरोक्त के साथ सहमत, यह एक सर्वर गलती प्रश्न की तरह है।


2
इस तकनीक का उपयोग कभी-कभी DDoS हमलों में - हमलावर द्वारा किया जाता है। सर्वर पर ऐसा करना अनुत्पादक की तरह है। <_ <
p-static

क्या यह कहना सही नहीं है कि इसका इस्तेमाल DDoS हमलों में किया जाता है - इस तरह का प्रभाव DDoS हमलों का लक्ष्य है। यह सर्वर / फ़ायरवॉल पर कर रहा है, लेकिन केवल कंप्यूटर पर हमला करने के लिए केवल वास्तविक बचाव (AFAIK) है।
बेखौफ

0

अगर उस व्यक्ति के सुंदर स्थिरांक का IP पता आप कस्टम HttpModule बना सकते हैं, तो उसे web.config फ़ाइल में परिवर्तन के माध्यम से प्लग करें और जब वह इस IP पते के रूप में पहचाना जाए, तो उस पर विलंब हो। या आप उसे कुछ 404 कोड वापस भेज सकते हैं या उसे कहीं और भेज दिया है।


0

आप जानते हैं कि वे भारत में हैं। क्या आपकी साइट में महत्वपूर्ण भारतीय संरक्षक हैं जो प्रवाह को रोकने तक वेतन वृद्धि में फ़ायरवॉल स्तर पर अपनी पूरी आईपी सीमा को रोकना चाहेंगे? यह निश्चित रूप से एक ठोस समाधान नहीं है, लेकिन यदि आप केवल एक विशिष्ट 'स्क्रिप्ट किडी' के साथ काम कर रहे हैं, तो उन्हें हतोत्साहित करने और उन्हें किसी अन्य लक्ष्य पर भेजने के लिए पर्याप्त होना चाहिए।

इससे भी बेहतर, अगर यह एक आईपी से है, तो आप सेवा हमले के अपने इनकार के साथ जवाब दे सकते हैं :)


वास्तव में एक समाधान नहीं है, कुल्हाड़ी के साथ जेली काटना। और बी, डीडीओएस वास्तव में एक अच्छी सिफारिश नहीं है (हालांकि मैं मान रहा हूं कि आप मजाक कर रहे थे), कोई कारण नहीं है) एसएल ईगल बी करें) अपने सर्वर पर अधिक लोड डालें!
बजे ट्रूफा

0

आपके द्वारा प्राप्त जवाब के अलावा, आप अपने दस्तावेज़ (लॉग, निशान) को सहेजना चाहेंगे और उन्हें अपने सेवा प्रदाता को आपूर्ति करेंगे। यह घटना के दौरान सबसे प्रभावी है क्योंकि आपका प्रदाता चीरा देख सकता है। भले ही आप अपने उपायों में सफल हों, लेकिन आगे के प्रयासों को रोकना महत्वपूर्ण है और यह आपके प्रदाता को हमलावर के सेवा प्रदाता के लिए अनुरोध बढ़ाने में मदद करता है; यकीनन सबसे कुशल कार्रवाई हमलावर के प्रदाता के लिए अपने ग्राहक को पहचानने वाले हमलावर को सेवा देने से मना करना है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.