हम ssh जांच के प्रभाव को कैसे सीमित कर सकते हैं?


13

मेरे वेबसर्वर पर लगातार विभिन्न IP पतों द्वारा हमला किया जाता है। वे पाँच पासवर्ड आज़माते हैं और फिर आईपी एड्रेस बदलते हैं।

मैंने विभिन्न लॉकडाउन किए हैं जैसे ssh- कीज़ का उपयोग करना और पासवर्ड की अनुमति नहीं देना, और रिमोट रूट लॉगिन की अनुमति नहीं देना।

क्या इन हमले के प्रयासों से छुटकारा पाने के लिए मैं कुछ कर सकता हूं? असफल होना, क्या ऐसे विशेष बचाव हैं जिन्हें मुझे करना चाहिए?


1
सुरक्षा के लिए माइग्रेट करने के लिए फ़्लैग करना। जहाँ यह थोड़ा और अधिक विषय पर है
रोरी अलसॉप

1
लगता है बहुत स्पष्ट रूप से विषय पर यहाँ यह - @Rory वहाँ के बीच "और थोड़ा अधिक विषय पर कोई" और "विषय से हटकर यहाँ" एक अंतर है
माइकल Mrozek

कोई चिंता नहीं @Michael। गिल्स से एक पिंग आया था और इसे देखने के लिए क्योंकि यह संभवतः यहाँ पर ऑफॉपिक था।
रोरी अलसॉप

@ रोरी ओके, मैं उससे इसके बारे में पूछूंगा; वह आमतौर पर मुझे कुछ समझाने में बहुत अच्छा है, जो मुझे लगता है कि {off, on} विषय वास्तव में {on, off} विषय है
Michael Mrozek

1
मेरा प्रश्न मान्यता से परे बदल दिया गया लगता है। अपने मूल प्रश्न में मैं वास्तव में यह पता लगाने की कोशिश कर रहा था कि क्या प्रत्येक साइट के लिए जानवर बल के हमलों का अनुभव करना सामान्य था - यानी यह जीवन का एक तथ्य है। इसका उत्तर माटेयो ने "यह वास्तव में जीवन का एक तथ्य है" के साथ दिया। सवाल का दूसरा हिस्सा यह पूछ रहा था कि मैं इन हमलों को अलग से बचाव करने के अलावा सक्रिय रूप से क्या कर सकता हूं । यह एक प्रासंगिक माध्यमिक प्रश्न होता अगर केवल कुछ साइटें ब्रूट बल के हमलों से पीड़ित होतीं। इसका उत्तर ब्रूस ने अपने टारपीट विचार के साथ दिया। मैं वास्तव में रक्षात्मक सुझाव नहीं मांगता था।
JW01

जवाबों:


14

यह वास्तव में जीवन का एक तथ्य है। आप उन होस्ट को फ़िल्टर करने के लिए उपकरण स्थापित कर सकते हैं जो विफल प्रयासों के बाद आप पर हमला कर रहे हैं।

DenyHosts आपकी लॉग फ़ाइलों का विश्लेषण करता है और स्वचालित रूप से आपकी /etc/hosts.denyफ़ाइल पर हमलावर जोड़ता है ।

अपनी आवश्यकताओं के लिए इसे कॉन्फ़िगर करने के तरीके के बारे में दस्तावेज़ देखें।

अपडेट : टिप्पणियों में सुझाए गए कुछ महत्वपूर्ण बिंदु

  • DenyHosts के रूप में उपकरण को ठीक से कॉन्फ़िगर करना सुनिश्चित करें क्योंकि आप खुद को लॉक कर सकते हैं (उदाहरण के लिए, आप एक मशीन या नेटवर्क को कॉन्फ़िगर कर सकते हैं जो कभी भी फ़िल्टर नहीं किया जाता है)

  • DenyHosts आपके सिस्टम की सुरक्षा को नहीं बढ़ाता है: यह केवल आईपी स्तर पर हमलों को फ़िल्टर करता है (यह छोटी मशीनों पर लोड को कम कर सकता है और लॉग फ़ाइलों के आकार को कम कर सकता है लेकिन इससे अधिक कुछ नहीं)


1
आह। मुझे लगने लगा था कि मैं खास हूं। मुझे सीधे डालने के लिए धन्यवाद।
JW01

माटेओ पर विस्तार करते हुए, आपके प्रश्न का लगभग सही उत्तर दिया गया है, जो refs Q1.3 denyhosts.sourceforge.net/faq.html#1_0
whoami

@whoami लिंक के लिए धन्यवाद, एक अच्छा सारांश। यद्यपि एक चीज जो हमेशा मेरे दिमाग में जाती है, जब मैं उपयोग को एक अलग पोर्ट टिप देखता हूं , ' आप कैसे जानते हैं कि आपके द्वारा चुना गया वैकल्पिक पोर्ट पहले से ही कुछ और द्वारा उपयोग नहीं किया गया है? '
JW01

1
DenyHosts और इसी तरह के उपकरणों के साथ सावधान रहें, क्योंकि वे अतिरिक्त जटिलता का परिचय देते हैं, अर्थात वे वहां सुरक्षा संबंधी समस्याएं पैदा कर सकते हैं, cf. 2 टिप्पणी unix.stackexchange.com/questions/2942/…
maxschlepzig

1
इसके अलावा DenyHosts से सावधान रहें क्योंकि आप खुद को अपनी मशीन से बाहर कर सकते हैं। एक साधारण apt-get install denyhostsने मुझे अपनी मशीन से बाहर निकाल दिया।
नत्फुली के

15

मैंने प्रत्येक गलत-पासवर्ड SSH लॉगिन प्रयास में 7-सेकंड की देरी को जोड़ने के लिए इन निर्देशों का पालन ​​किया । मैंने ब्रूट-फोर्स स्कैनर के लिए एक "टारपीट" में अपना sshd बनाया।

मुझे यह भी जोड़ना चाहिए कि मेरे पास मेरा संशोधित, tarpit sshd लॉग इन किया हुआ पासवर्ड है। यह पूरी तरह से नैतिक नहीं हो सकता है, क्योंकि यह रूट उपयोगकर्ता को यह बताता है कि नियमित उपयोगकर्ता अपने पासवर्ड के रूप में क्या गलत टाइप करते हैं, लेकिन चूंकि मैं केवल "वास्तविक" उपयोगकर्ता हूं, इसलिए मैं ठीक हूं।

मेरे पास यह एक गैर-मानक पोर्ट पर नहीं है, क्योंकि "टारपीट" पहलू किसी का समय बर्बाद नहीं करेगा।


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

यह एक अच्छा जवाब है क्योंकि इसमें विशुद्ध रूप से 'रक्षात्मक' होने के बजाय एक 'आक्रामक' दृष्टिकोण है, जो मुझे लगता है कि नैतिकता को जोड़ता है।
JW01

9

यदि सिस्टम में केवल बहुत कम लोगों को SSH की आवश्यकता होती है, तो SSH को एक गैर-मानक पोर्ट (जैसे 6422, 8080, इत्यादि) पर जाने पर विचार करें। यह अकेले लॉगिन प्रयासों की संख्या को बहुत कम कर देगा (और संभवतः आपको कुछ अप्रकाशित से बचाएगा। एसएसएच शोषण आधारित कृमि, उदाहरण के लिए)।


3
+1 बल्कि उपयोगी है क्योंकि यह झुंझलाहट को सीमित करता है, लेकिन सुरक्षा उपाय के लिए यह गलती न करें - यह सुरक्षा लॉक की तुलना में मच्छरों के खिलाफ एक स्क्रीन दरवाजे के करीब है।
पिस्कोर ने बिल्डिंग सेप

1
+1 यह भी सर्वर संसाधनों पर एक बचत है।
Xeoncross 18

6

@ माटेओ के जवाब के साथ कॉन्सुर; आप जो देख रहे हैं, वह अनिवार्य रूप से हजारों ज़ोंबी सिस्टम हैं जो आपके सर्वर पर वितरित ब्रूट-फोर्स अटैक को अंजाम दे रहे हैं क्योंकि इस पर एक वेबसाइट चल रही है, जिसका अर्थ है कि ऐसे उपयोगकर्ता हो सकते हैं जिनके पास एक लॉगिन खाता हो सकता है जिसके साथ संभवतः अनुमान लगाया जा सकता है। स्क्रिप्ट किडी की ओर से न्यूनतम प्रयास - उन्हें एक ऐसा कार्यक्रम मिला है जो एक ही समय में कुछ सौ वेबसाइट होस्ट पर ब्रूटफोर्स प्रयासों को करने के लिए हजारों लाशों का आदेश देता है और बस सफल रिटर्न की सूची संकलित करता है।

इसी प्रकार, आप कभी-कभी अपनी /var/log/apache2/access.logफ़ाइलों में "http://your.web.host/phpmyadmin/" के बहुत सारे अनुज्ञा पत्र देख सकते हैं ; PHPMyAdmin को स्थापित करने के सबसे सामान्य तरीकों के लिए ये स्वचालित स्कैन हैं, और कई ज्ञात कारनामों का प्रयास करेंगे यदि एक पाया जाता है (यह, संयोगवश, यही कारण है कि मैंने ग्राहकों को पीएमए साइट का उपयोग करने के लिए कहना शुरू कर दिया है जिसे मैंने व्यक्तिगत रूप से स्थापित किया है और अपने स्वयं के संस्करण को स्थापित करने के बजाय अद्यतित रखें और इसे अद्यतन रखने के लिए भूल जाते हैं, लेकिन अब हम एक स्पर्शरेखा पर हैं)।

मूल आदेश भेजने के अलावा, यह भी उसे समय या बैंडविड्थ खर्च नहीं करता है; यह आग है और भूल जाओ।

इस तरह की स्थितियों के लिए सॉफ़्टवेयर का एक और बहुत उपयोगी बिट है विफल 2ban , जो कई स्पष्ट रूप से झूठे लॉगऑन या अन्य शोषण प्रयासों के बाद कनेक्शन प्रयासों को ब्लॉक करने के लिए iptables का उपयोग करता है।


4

Fail2ban को कॉन्फ़िगर करने का प्रयास करें । यह विफल प्रयासों की खोज करने के लिए एक बहुत ही लचीला तरीका प्रदान करता है, और इसमें एसएसएच, एचटीटीपी और सामान्य सेवाओं के लिए टेम्पलेट हैं।

Fail2ban आपके कार्यों के अनुसार iptables को अपडेट करेगा .. मुझे यह पसंद है।


3

आप Fail2Ban या DenyHosts जैसे डेमॉन को चलाए बिना ट्रैफिक को रोकने के लिए IPTABLES का उपयोग कर सकते हैं ।

#  Allows SSH connections (only 4 attempts by an IP every 3 minutes, drop the rest to prevent SSH attacks)
-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 180 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

2

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


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