2008-09-22 7 views
6

लोग, हम सभी जानते हैं कि आईपी ब्लैकलिस्टिंग काम नहीं करती है - स्पैमर प्रॉक्सी के माध्यम से आ सकते हैं, साथ ही, वैध उपयोगकर्ता प्रभावित हो सकते हैं ... उन्होंने कहा, ब्लैकलिस्टिंग मुझे एक कुशल होने लगती है एक सतत हमलावर को रोकने के लिए तंत्र, यह देखते हुए कि आईपी की वास्तविक सूची गतिशील रूप से निर्धारित की जाती है, एप्लिकेशन की प्रतिक्रिया और उपयोगकर्ता व्यवहार के आधार पर।गतिशील आईपी-आधारित ब्लैकलिस्टिंग

उदाहरण के लिए: - एक खराब लिखा बॉट मुद्दों अपनी साइट को बहुत ही अजीब HTTP अनुरोध - - किसी को अपने लॉगिन स्क्रीन जानवर बल की कोशिश कर रहा एक स्क्रिप्ट-किडी अपने अनुप्रयोग में संभावित खतरों को देखने के लिए एक स्कैनर का उपयोग करता

मैं अगर निम्न तंत्र काम करेगा सोच रहा हूँ, और यदि हां, तो आप जानते हैं कि क्या कोई उपकरण है कि यह कर रहे हैं:

  • एक वेब अनुप्रयोग में, डेवलपर एक "अपराध" रिपोर्ट करने के लिए एक हुक है । एक अपराध मामूली (अमान्य पासवर्ड) हो सकता है और ब्लैकलिस्टेड होने के लिए इस तरह के कई अपराधों को लेना होगा; या यह बड़ा हो सकता है, और 24 घंटे की अवधि में ऐसे कुछ अपराध आपको बाहर निकाल देते हैं।
  • प्रत्येक पृष्ठ लोड होने से पहले वेब-सर्वर-स्तरीय ब्लॉक का कुछ रूप चालू होता है, और यह निर्धारित करता है कि उपयोगकर्ता "खराब" आईपी से आता है या नहीं।
  • अंतर्निहित एक "क्षमा" तंत्र है: कुछ समय बाद अपराध आईपी के खिलाफ नहीं गिना जाता है।

धन्यवाद!

अतिरिक्त ध्यान दें: यह भयानक है, तो समाधान PHP में काम किया होगा, लेकिन मैं किसी भी भाषा/मंच

उत्तर

2

क्या आप * निक्स मशीन पर हैं? बात इस तरह की शायद बेहतर ओएस स्तर के लिए छोड़ दिया, जैसे iptables

संपादित कुछ का उपयोग कर रहा है:

टिप्पणी के जवाब में, हाँ (एक तरह से)। हालांकि, विचार यह है कि iptables स्वतंत्र रूप से काम कर सकते हैं। आप थ्रॉटल करने के लिए एक निश्चित दहलीज सेट कर सकते हैं (उदाहरण के लिए, पोर्ट 80 टीसीपी पर ब्लॉक अनुरोध जो एक्स अनुरोध/मिनट से अधिक है), और यह सब पारदर्शी रूप से संभाला जाता है (यानी, आपके आवेदन को वास्तव में इसके बारे में कुछ भी जानने की आवश्यकता नहीं है गतिशील अवरोधन होता है)।

यदि आपके पास बॉक्स का पूरा नियंत्रण है, तो मैं iptables विधि का सुझाव दूंगा, और आपके फ़ायरवॉल हैंडल को थ्रॉटलिंग देना पसंद करूंगा (फायदे हैं, आपको इस तर्क को अपने वेब ऐप में बनाने की आवश्यकता नहीं है, और यह बचा सकता है आपके वेबसर्वर को मारने से पहले अनुरोधों को छोड़ दिया जाता है)

अन्यथा, यदि आप अवरुद्ध होने की अपेक्षा करते हैं तो यह एक बड़ा घटक नहीं होगा, (या आपका ऐप पोर्टेबल है और iptables तक पहुंच की गारंटी नहीं दे सकता है), तो यह और अधिक होगा अपने ऐप में उस तर्क को बनाने के लिए समझदारी।

+0

क्या वेब अनुप्रयोग से iptables के साथ संवाद करने का कोई तरीका है? "हे आईपीटीबल्स की तरह, मुझे लगता है कि पता एक्स पर घुसपैठ करने वाला है, उन्हें देखने के लिए देखें कि क्या वे भविष्य में बुरी तरह व्यवहार करते हैं"। मैं वास्तव में लिनक्स पर चल रहा हूं, PHP चला रहा हूं। –

0

मुझे लगता है कि यह होना चाहिए के लिए, सामान्य रूप में दृष्टिकोण के बारे में अपने विचारों को जानने में खुशी होगी उपयोगकर्ता नाम प्लस आईपी ब्लॉक का संयोजन। सिर्फ आईपी नहीं।

+0

पर खुशी से मदद करूँगा वह उस स्थिति का जिक्र कर रहा है जहां उपयोगकर्ता ने अभी तक लॉग इन नहीं किया है , या बिल्कुल। वह स्पष्ट रूप से लॉगिन स्क्रीन का उल्लेख करता है ... यदि उपयोगकर्ता लॉग इन था, तो यह मामूली होगा। – AviD

5

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

0

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

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

आप प्रमाणीकरण में देरी भी दे सकते हैं, ताकि एक आईपी प्रत्येक 'वाई' सेकंड में एक से अधिक बार लॉगिन का प्रयास न कर सके ।

+0

आपके अंतिम बिंदु पर: प्रमाणीकरण में देरी मेरी पसंदीदा तकनीकों में से एक है। आवेदन के बाद यह निर्धारित किया गया कि प्रमाण-पत्र अमान्य हैं, लेकिन उपयोगकर्ता को प्रतिक्रिया दिखाई देने से पहले, 1 सेकंड के लिए सोएं। इस तरह, वैध उपयोगकर्ता धीमा नहीं होते हैं, लेकिन बॉट को अपने ट्रैक पर गोली मार दी जाती है। –

0

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

मैं आमतौर पर PHP की बजाय पर्ल में काम करता हूं, लेकिन, जब तक आपके पास कमांड लाइन है आपके फ़ायरवॉल नियम इंजन (जैसे, कहें,/sbin/iptables) में इंटरफ़ेस, आप किसी भी भाषा से इसे आसानी से करने में सक्षम होना चाहिए जिसमें सिस्टम कमांड निष्पादित करने की क्षमता है।

0

अं प्रणाली इस तरह की, आसान और आम बात है मैं तुम्हें मेरा आसानी से पर्याप्त दे सकते हैं

अपनी बस और संक्षेप में यहाँ http://www.alandoherty.net/info/webservers/

स्क्रिप्ट लिखा के रूप में समझाया डाउनलोड करने योग्य arn't {कोई commentry के रूप में वर्तमान में जोड़ा } लेकिन मुझे उपरोक्त साइट से एक ई-मेल छोड़ दो, और मैं आपको कोड फिसल दूंगा और खुशी से आपकी सर्वर

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^