लिनक्स: निवर्तमान टीसीपी बाढ़ को रोकें


9

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

मैं निम्नलिखित विकल्पों पर विचार कर रहा हूं। तुम किसकी सिफारिश करना चाहोगे? क्या आपने इन्हें लागू किया है, और कैसे?

  • वेबसर्वर (iptables) पर आउटगोइंग टीसीपी पैकेट्स सोर्स पोर्ट के साथ! = 80
  • समान लेकिन कतारबद्ध (tc) के साथ
  • प्रति सर्वर प्रति उपयोगकर्ता आउटगोइंग ट्रैफ़िक की दर सीमा। काफी हद तक एक प्रशासनिक बोझ है, क्योंकि प्रति एप्लिकेशन सर्वर पर संभावित रूप से 1000 उपयोगकर्ता हैं। शायद यह: मैं प्रति उपयोगकर्ता बैंडविड्थ को कैसे सीमित कर सकता हूं?
  • और कुछ?

स्वाभाविक रूप से, मैं हैकर्स द्वारा हमारी मेजबानी की गई साइटों में से एक में होने की संभावना को कम करने के तरीकों पर भी गौर कर रहा हूं, लेकिन जैसा कि तंत्र कभी भी 100% जलरोधी नहीं होगा, मैं घुसपैठ के प्रभाव को गंभीर रूप से सीमित करना चाहता हूं।

अपडेट: मैं वर्तमान में इन नियमों के साथ परीक्षण कर रहा हूं, जिससे इस विशिष्ट हमले को रोका जा सकेगा। आप उन्हें और अधिक सामान्य बनाने का प्रस्ताव कैसे देंगे? क्या मुझे एक ज्ञात TCP DoS अटैक याद आ रहा है जब मैं SYN पैकेट पर केवल दर सीमा रखता हूँ?

iptables -A OUTPUT -p tcp --syn -m limit --limit 100/min -j ACCEPT
iptables -A OUTPUT -p tcp --syn -m limit --limit 1000/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A OUTPUT -p tcp --syn -j REJECT --reject-with tcp-reset

चीयर्स!

जवाबों:


3

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

मुझे उम्मीद है यह मदद करेगा :)


-3

रुख मैं हमेशा से रहा है कि एक वेबसर्वर को आउटबाउंड टीसीपी कनेक्शन नहीं करना चाहिए - केवल इनबाउंड अनुरोधों का जवाब देने वाले सर्वर के रूप में ट्रैफ़िक भेजना। (मैं केवल वेबसर्वर और एसएसएच के लिए इनबाउंड टीसीपी की भी अनुमति देता हूं।) (इससे संबंधित मैं यह भी मानता हूं कि एक वेबसर्वर कभी भी मेल भेजने के लिए सही मेजबान नहीं है।) यह सिर्फ आउटबाउंड हमलों को नहीं रोकेगा - इसमें थोड़ी कठिनाई भी होती है। आपके सिस्टम पर किए गए हमलों के लिए (हैकर्स एक xterm विंडो प्राप्त नहीं कर सकते हैं या अपने होस्ट को अपने टूलकिट को भूल सकते हैं)।


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