SSH हमलों को रोकें


9

मैं iptables नियमों को सेटअप करने की कोशिश कर रहा हूं कि एसएसएच के माध्यम से नौकर से कनेक्ट करने के लिए केवल एक आईपी प्रति मिनट 3 प्रयासों की अनुमति दें, और एसएसएच हमलों को रोकने के बाद सभी कनेक्शनों को छोड़ दें; लेकिन ऐसा लगता है कि मैं कुछ गलत कर रहा हूँ!

-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

धन्यवाद

जवाबों:


10

मुझे लगता है कि आपको बेहतर उपयोग करना होगा fail2ban, क्योंकि आपके ipfilter नियम वैध कनेक्शन को भी रोकते हैं। fail2banविफल कनेक्शन के बाद केवल IP ब्लॉक करेगा।

अगला, एक सामान्य प्रैक्टिस है आईपी पर प्रतिबंध लगाने की जब वे 22 पोर्ट से कनेक्ट करने का प्रयास करते हैं, और अपने ssh सर्वर को दूसरे पोर्ट से बांधते हैं। आप प्रति सप्ताह केवल एक जोड़े के नाजायज संबंध का सामना करते हैं यदि आपका कंप्यूटर एक प्रसिद्ध लक्ष्य नहीं है।

आपके द्वारा पूछे गए सटीक प्रश्न के लिए:

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

1
चूंकि सर्वर एक कम अंत वीपीएस है, मैं इसे कम से कम सुरक्षित रखते हुए संसाधन खपत को कम से कम रखने की कोशिश कर रहा हूं। मैंने पहले ही ssh सर्वर पोर्ट बदल दिया है। क्या मुझे उन नियमों (ऊपर) को नए पोर्ट पर रखना चाहिए और डिफ़ॉल्ट एक (22) पर प्रतिबंध लगाना चाहिए?
एमजीपी

Fail2ban वास्तव में सबसे अच्छा समाधान है, यहां तक ​​कि कम VPS के लिए
MGP

7

आप निम्नलिखित 2 नियमों के साथ जो चाहें लागू कर सकते हैं

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP

ध्यान दें कि -Aश्रृंखला के अंत में जो नियम जोड़ता है, वह इस तरह से गलत हो सकता है कि iptables नियमों को संसाधित किया जाता है अर्थात यदि कोई सामान्य DROP या अनुमति नियम है तो आपके पहुंचने से पहले उन पर कार्रवाई नहीं की जाएगी।

यह कहकर कि आपको असफलता भी मिल सकती है। इस प्रकार के ब्लॉक को लागू करने का एक बेहतर तरीका है।


जब मैं उन नियमों को जोड़ने की कोशिश करता हूं, तो मुझे एक त्रुटि संदेश मिलता है: iptables: उस नाम से कोई श्रृंखला / लक्ष्य / मैच नहीं।
एमजीपी

विफलता के लिए Up2।
माइकल बी

4

आप लिमिट मॉड्यूल को आज़माना चाह सकते हैं।

iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/minute -j ACCEPT
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.