2011-06-09 13 views
6

slowban को कार्यान्वित करना कैसे संभव है जो हमारी साइट पर डीओएस के लिए एक उपकरण नहीं होगा?सर्वर के अनुकूल slowban। मुमकिन?

समस्या यह है कि एक HTTP प्रतिक्रिया की सेवा में जानबूझकर देरी सर्वर संसाधनों को व्यस्त रखेगी (वेब ​​सर्वर धागे और संभवतः अन्य उपप्रणाली)।

उत्तर

4

यदि आपका वेब एप्लिकेशन जटिल है और काफी संसाधन लेता है, तो slowloris-attack की समस्याग्रस्त होने के कारण धीमी गति को लागू करने के लिए यह गलत जगह हो सकती है।

इसके बजाए, आप हल्के प्रॉक्सी या वेबसर्वर के माध्यम से अपने आवेदन को प्रॉक्सी कर सकते हैं जैसे कि lighttpd या nginx कैश और स्थिर सामग्री से सेवा और आपके फ़ायरवॉल का उपयोग करना। वहां से, आप अपने फ़ायरवॉल में shape the bandwidth कर सकते हैं, आवश्यक संसाधनों को अपेक्षाकृत कम रखते हुए, क्योंकि ट्रोल के कनेक्शन को मुख्य रूप से आपके भारी एप्लिकेशन सर्वर की बजाय हल्के प्रॉक्सी द्वारा परोसा जाता है।

हालांकि इसमें कुछ खतरे हैं (अर्थात् संभावित रूप से असुरक्षित एप्लिकेशन को अपने फ़ायरवॉल में आईपी-आधारित नियमों को सम्मिलित करने के लिए सक्षम करने के लिए), iptables और कर्नेल संसाधनों पर अपेक्षाकृत आसान हैं।

केवल एक चीज जो आपको विचार करनी है वह है कि आपके सिस्टम को बर्दाश्त करने वाले खुले कनेक्शन की मात्रा और नए लोगों के लिए जगह बनाने के लिए सबसे लंबे समय तक खुले कनेक्शनों को कब शुरू करना है। निश्चित रूप से fighting against low bandwidth -attacks के लिए अपनी साइट तैयार करें।

+2

क्या एक महान जवाब। धन्यवाद! – cherouvim

2

आप संसाधन निगरानी के साथ धीमीबान को शामिल कर सकते हैं ताकि अगर यह स्पष्ट हो जाए कि धीमी गति से उपयोगकर्ता DoS करने का प्रयास कर रहा है, तो उसे इसके बजाय अनुमति दी जाएगी।

-2

आपके ट्रोल कितने समझदार हैं? आप सर्वर पर वापस पोस्ट किए गए किसी भी तत्व पर जावास्क्रिप्ट में देरी शुरू कर सकते हैं।

-2

आप slowban क्लाइंट साइड के बजाय सर्वर साइड, उदा लागू कर सकते हैं:

सीएसएस:

body { 
    visibility: hidden; 
} 

जावास्क्रिप्ट:

$(document).ready(function() { 
    window.setTimeout(function() { 
     $("body").css("visibility", "visible"); 
    }, /*How long you want the delay to be*/); 
}); 
संबंधित मुद्दे