linux कमांड netstat और iptables का उपयोग करके डॉस के हमले को रोकने के लिए


11

मैं ddos ​​हमले को रोकने के लिए प्रति आईपी 200 से अधिक अनुरोधों को रोकना चाहता हूं। यह वह आदेश है जिसका उपयोग मैंने प्रति आईपी में अनुरोधों की गणना के लिए किया था:

netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr

अब मैं उन सभी IP पतों को जोड़ना चाहता हूं, जिन्होंने DROP इनपुट और आउट पुट में IPtables में 200 से अधिक अनुरोध किए हैं।


जैसा कि @dawud ने उल्लेख किया है कि आप जानते हैं कि आप केवल "कम कर सकते हैं" और वास्तव में अपने सर्वर पर DDOS हमले को पूरी तरह से रोक नहीं सकते हैं।
कप्पन

जवाबों:


12

आप आने वाले कनेक्शन की दर को सीमित करने के लिए iptables का उपयोग कर सकते हैं। उदाहरण के लिए यदि आप स्रोत से प्रति मिनट 200 से अधिक कनेक्शन नहीं चाहते हैं:

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 200 -j DROP


1
इसकी व्याख्या करना भी बहुत अच्छा होगा।
ffledgling

18

आप एक बना सकते हैं ipset। इस तरह से आप सेट के रूप में कई आईपी जोड़ सकते हैं जैसा कि आपको iptablesनियम को संशोधित किए बिना आवश्यक है ।

ipset -N myset iphash
ipset -A myset 1.1.1.1
ipset -A myset 2.2.2.2

या, अपने मामले में, अपनी स्क्रिप्ट के आउटपुट का उपयोग करें, और इसे कुछ इस तरह पढ़ें:

while read a; do ipset -A myset "$a"; done < <(your script here)

और यह आपके iptablesनियमों में संदर्भ :

iptables -A INPUT -m set --set myset src -j DROP

अधिक विवरण और विकल्पों के लिए मैनपेज पढ़ें ।

सीधे उपयोग करके DDOS हमले को कम करने के अन्य तरीके भी iptablesहैं। मॉड्यूल और मॉड्यूल के iptablesबारे में मेन्यू अनुभाग पढ़ें ।connlimitrecent


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