IPH6 पर SSH Brute Force के हमलों को रोकना


10

मुझे हाल ही में कुछ सर्वरों के साथ काम करना पड़ा, जिनके पास एक आईपीवी 6 कनेक्शन है और मुझे यह जानकर आश्चर्य हुआ कि असफल 2 आईबोन के पास आईपीवी 6 समर्थन नहीं है, न ही डेनिहोस्ट्स। Google पर खोज करने पर मैंने पाया कि लोग आमतौर पर सलाह देते हैं:

  • IPv6 के माध्यम से निष्क्रिय ssh लॉगिन (मेरे लिए कोई समाधान नहीं)
  • सर्वर पर केवल निजी / सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करना, बिना पासवर्ड प्रमाणीकरण के साथ (काम करता है, लेकिन बहुत सारे हमलों से सर्वर को बहुत प्रसंस्करण शक्ति खर्च हो सकती है, या यह डीडीओएस-आईएनजी द्वारा इसे अनुपलब्ध भी बना सकता है)
  • एक ही आईपी से लगातार हमलों को रोकने के लिए ip6tables का उपयोग करना
  • शशगार्ड का उपयोग करना जिसमें IPv6 का समर्थन है

जो मैंने अब तक IPv6 में पतों पर प्रतिबंध लगाने के लिए इकट्ठा किया है, वह IPv4 की तुलना में थोड़ा अलग है, क्योंकि ISPs एक उपयोगकर्ता को एक पता (/ 128) नहीं देते हैं, लेकिन एक संपूर्ण सबनेट (मेरे पास वर्तमान में / 48 है)। इस प्रकार एकल IPv6 पतों पर प्रतिबंध लगाना हमलों के खिलाफ अप्रभावी होगा। मैंने ip6tables के विषय पर उच्च और निम्न खोज की है और हमले का पता लगाने पर सबनेट ब्लॉकिंग सबशेट किया है, लेकिन मैंने कोई जानकारी खोजने में कामयाबी नहीं पाई है।

किसी को भी पता है अगर sshguard IPv6 हमलों पर सबनेट पर प्रतिबंध लगाता है?
क्या किसी को पता है कि IPv6 हमलों पर सबनेट पर प्रतिबंध लगाने के लिए ip6tables कॉन्फ़िगरेशन कैसे करें?
या किसी को भी हमलों के शमन का एक बेहतर तरीका पता है कि मैंने पहले से ही क्या पाया है?

पुनश्च: मैं सिस्टम पर CentOS 7 का उपयोग कर रहा हूं।


3
IPv6 समर्थन को जोड़ने में विफल 2ban के बारे में अधिक जानकारी के लिए: github.com/fail2ban/fail2ban/issues/39 । ऐसा लगता है कि वे सबनेट ब्लॉकिंग के साथ एक समस्या का सामना कर रहे हैं , जो आगे के कार्यान्वयन में देरी करता है (ऐसा लगता है कि वास्तव में हमसे आगे और आगे दूर हो जाएगा ...)।
जॉन डब्ल्यूएच स्मिथ

Iptables में नियमों को सीमित / प्रतिबंधित करना। उसके लिए अपना प्रश्न बदलें और प्रतिनिधि-वेश्या के एक जोड़े को सटीक उत्तर देना चाहिए।

क्या यह एक काल्पनिक समस्या है? मैं कुछ सर्वरों से ब्रूट बल प्रयासों के लॉग को देख रहा हूं, और उनमें से प्रत्येक को आईपीवी 4 पर प्रयास किया गया था। और मैंने किसी सर्वर को ऐसे प्रयासों के कारण बहुत अधिक लोड के तहत नहीं देखा है जब सर्वर पर पासवर्ड प्रमाणीकरण अक्षम हो जाता है।
कैस्परल्ड

1
@kasperd मुझे IPv6 पर एक दिन में कुछ हज़ार प्रयास मिले, नहीं, यह कोई काल्पनिक समस्या नहीं है। सर्वर का पता सार्वजनिक है क्योंकि यह एक साइट को होस्ट करता है, इसलिए यह बहुत वास्तविक समस्या है।
डार्थरिवन 13

@ user123418 मैं इस सवाल का शीर्षक छोड़ दूंगा क्योंकि यह अभी के लिए है, मैं वास्तव में इस पर नियंत्रण बनाम आईपी 6tables में एक नियम के कारण शशगार्ड जैसा कुछ पसंद करूंगा। अगर अगले हफ्ते कोई जवाब नहीं देगा तो मैं अपना सवाल बदल दूंगा।
डार्थरिवन 13

जवाबों:


4

सर्वर पर हमला करने के लिए हमलावर को पहले अपना आईपी पता जानना चाहिए। IPv6 के साथ आपके पास चुनने के लिए इतने पते होंगे कि आईपी रेंज को स्कैन करके सही पता लगाना संभव नहीं है।

इसका मतलब है कि आप इंटरफ़ेस में केवल दो अलग-अलग आईपीवी 6 पते असाइन कर सकते हैं। आप अपनी साइट के डोमेन नाम को हमेशा की तरह एक ही आईपी पते की ओर संकेत करते रहने देते हैं, और आप sshd को केवल नए अंतिम पते पर ही सुनने देते हैं।

उसके बाद अपनी साइट के डोमेन नाम और आईपी पते को जानने के बाद बदलाव करें, इससे हमलावर को आपके sshd पर कोई पहुंच प्राप्त नहीं होगी।

बेशक आपको ssh का उपयोग करते समय कनेक्ट करने के लिए एक द्वितीयक होस्ट नाम की आवश्यकता होगी। होस्ट नाम एक IPv6 पते की तुलना में बहुत अधिक एन्ट्रापी हो सकता है। यदि आप 63 अल्फ़ान्यूमेरिक वर्णों का उपयोग करते हैं, तो ssh के लिए होस्ट नाम का अनुमान लगाने वाला कोई व्यक्ति समझ से बाहर है।

क्या किसी को sshd के लिए उपयोग किया जाने वाला IPv6 पता होना चाहिए, आप बस sshd को एक नए IPv6 पते पर ले जाएँ और AAAA रिकॉर्ड को अपडेट करें। फिर उन्हें सब शुरू करना होगा।

यदि आप चिंतित हैं कि एक वैध ssh उपयोगकर्ता होस्ट नाम और / या IP पतों को लीक कर सकता है, तो आप ssh तक पहुँचने के लिए प्रत्येक उपयोगकर्ता के लिए एक अलग होस्ट नाम बना सकते हैं। प्रारंभ में मैं उन सभी को एक एकल होस्ट नाम पर CNAME दूँगा, जिसे अद्यतन करने के लिए केवल एक AAAA रिकॉर्ड है।


वर्तमान में जो मेरे पास है, उससे बेहतर लगता है, लेकिन वह नहीं जो मैं देख रहा था। फिर भी धन्यवाद।
डार्थरिवन 13

0

अच्छी खबर यह है कि हाल ही में IPv6 के लिए असफल 2लन ने समर्थन जारी किया।

डेबियन आईपीवी 6 सर्वर के लिए मैं इस ट्यूटोरियल का पालन करने की सलाह दूंगा

CentOS IPv6 सर्वर के लिए, मैं इसे यहाँ डाउनलोड करने की सलाह दूंगा और फिर संस्करण क्रमांक के अनुसार इन कमांड को निष्पादित करूंगा :

tar xvfj fail2ban-0.11.0.tar.bz2
cd fail2ban-0.11.0
python setup.py install

सुनिश्चित करें कि sshd के लिए जेल /etc/fail2ban/jail.local में सक्षम है , उदाहरण के लिए:

[sshd]
enabled=1

1
हालाँकि मैं यह स्वीकार करता हूँ कि असफल लोगों पर जो काम किया है वह असफल है। IPv6 प्रोटोकॉल द्वारा उनके चैंज github.com/fail2ban/fail2ban/blob/0.10/ChangeLog के अनुसार सभी विशेषताओं का समर्थन नहीं किया गया है और अभी भी सबनेट्स github -fail2ban/fail2ban/issues/927 पर प्रतिबंध लगाने के लिए कोई समर्थन नहीं है, जो इसके लिए महत्वपूर्ण है IPv6 के बाद से कोई भी ISP एक ग्राहक को केवल एक IPv6 पता नहीं देगा, बल्कि एक संपूर्ण सबनेट। जब तक यह सही रहता है, तब तक कोई भी उत्पादन मशीन असफल 2 का उपयोग नहीं करना चाहिए! कृपया इसे दर्शाने के लिए अपना उत्तर बदलें, क्योंकि यह पृष्ठ बहुत सारे लोगों द्वारा देखा जाता है।
डार्थरिवन 13
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.