SSH पर जड़ क्यों खराब है
वहाँ बहुत सारे बॉट हैं जो SSH के ऊपर आपके कंप्यूटर में लॉग इन करने की कोशिश करते हैं। ये बॉट निम्नलिखित तरीके से काम करते हैं।
वे कुछ ऐसा निष्पादित करते हैं ssh root@$IP
और फिर वे "रूट" या "पासवर्ड123" जैसे मानक पासवर्ड आज़माते हैं। वे ऐसा तब तक करते हैं जब तक वे सही पासवर्ड नहीं पाते हैं। एक विश्व व्यापी सुलभ सर्वर पर आप अपनी लॉग फ़ाइलों में बहुत सी लॉग प्रविष्टियाँ देख सकते हैं। मैं 20 प्रति मिनट या अधिक तक जा सकता हूं।
जब हमलावरों का भाग्य (या पर्याप्त समय) होता है, और एक पासवर्ड मिलता है, तो उनकी जड़ तक पहुंच होगी और इसका मतलब है कि आप मुसीबत में हैं।
लेकिन जब आप SSH पर लॉग इन करने के लिए रूट को अस्वीकार करते हैं, तो बॉट को पहले एक उपयोगकर्ता नाम और फिर मिलान पासवर्ड का अनुमान लगाने की आवश्यकता होती है। तो मान लें कि प्रशंसनीय पासवर्डों की सूची में N
प्रविष्टियाँ हैं और प्रशंसनीय उपयोगकर्ताओं की सूची M
बड़ी प्रविष्टियाँ हैं। बॉट में N*M
परीक्षण करने के लिए प्रविष्टियों का एक सेट है , इसलिए यह रूट मामले की तुलना में बॉट के लिए थोड़ा कठिन है जहां यह केवल आकार का एक सेट है N
।
कुछ लोग कहेंगे कि यह अतिरिक्त M
सुरक्षा में वास्तविक लाभ नहीं है और मैं मानता हूं कि यह केवल एक छोटी सुरक्षा वृद्धि है। लेकिन मैं इसे इन छोटे पैडलॉक के रूप में अधिक सोचता हूं जो अपने आप में सुरक्षित नहीं हैं, लेकिन वे बहुत से लोगों को आसान पहुंच से रोकते हैं। यह निश्चित रूप से केवल तभी मान्य है जब आपकी मशीन में कोई अन्य मानक उपयोगकर्ता नाम नहीं है, जैसे कि टोर या अपाचे।
रूट को अनुमति नहीं देने का बेहतर कारण यह है कि रूट मशीन पर एक मानक उपयोगकर्ता की तुलना में बहुत अधिक नुकसान कर सकता है। इसलिए, अगर डंबल किस्मत से वे आपका पासवर्ड ढूंढते हैं, तो पूरी प्रणाली खो जाती है, जबकि एक मानक उपयोगकर्ता खाते के साथ आप केवल उस उपयोगकर्ता की फ़ाइलों को जोड़ सकते हैं (जो अभी भी बहुत खराब है)।
टिप्पणियों में यह उल्लेख किया गया था कि एक सामान्य उपयोगकर्ता को उपयोग करने का अधिकार हो सकता है sudo
और अगर इस उपयोगकर्ता के पासवर्ड से यह अनुमान लगाया जाएगा कि सिस्टम पूरी तरह से भी खो गया है।
संक्षेप में, मैं कहूंगा कि यह कोई फर्क नहीं पड़ता कि उपयोगकर्ता का पासवर्ड किस हमलावर को मिलता है। जब वे एक पासवर्ड का अनुमान लगाते हैं तो आप सिस्टम पर कोई भरोसा नहीं कर सकते। एक हमलावर उस उपयोगकर्ता के अधिकारों का उपयोग कमांड के साथ निष्पादित sudo
करने के लिए कर सकता है, हमलावर आपके सिस्टम में एक कमजोरी का फायदा उठा सकता है और रूट विशेषाधिकार प्राप्त कर सकता है। यदि किसी हमलावर के पास आपके सिस्टम तक पहुंच है, तो आप उस पर भरोसा नहीं कर सकते।
यहां याद रखने वाली बात यह है कि आपके सिस्टम का प्रत्येक उपयोगकर्ता जिसे SSH के माध्यम से लॉग इन करने की अनुमति है, एक अतिरिक्त कमजोरी है। जड़ को निष्क्रिय करके आप एक स्पष्ट कमजोरी को दूर करते हैं।
SSH पर पासवर्ड खराब क्यों हैं
पासवर्ड को निष्क्रिय करने का कारण वास्तव में सरल है।
- उपयोगकर्ता खराब पासवर्ड चुनते हैं!
पासवर्ड आज़माने का पूरा विचार तभी काम करता है जब पासवर्ड अनुमान लगाने योग्य हों। इसलिए जब किसी उपयोगकर्ता के पास "pw123" पासवर्ड होता है, तो आपका सिस्टम असुरक्षित हो जाता है। लोगों द्वारा चुने गए पासवर्ड के साथ एक और समस्या यह है कि उनके पासवर्ड वास्तव में कभी भी यादृच्छिक नहीं होते हैं क्योंकि फिर उन्हें याद रखना मुश्किल होगा।
यह भी मामला है कि उपयोगकर्ता अपने पासवर्ड का पुन: उपयोग करते हैं, इसका उपयोग फेसबुक या अपने जीमेल खातों और अपने सर्वर के लिए लॉग इन करने के लिए करते हैं। इसलिए जब किसी हैकर को इस यूजर के फेसबुक अकाउंट का पासवर्ड मिल जाता है तो वह आपके सर्वर में आ सकता है। उपयोगकर्ता फ़िशिंग के माध्यम से इसे आसानी से खो सकता है या फेसबुक सर्वर हैक हो सकता है।
लेकिन जब आप लॉग इन करने के लिए प्रमाणपत्र का उपयोग करते हैं, तो उपयोगकर्ता अपना पासवर्ड नहीं चुनता है। प्रमाणपत्र एक यादृच्छिक स्ट्रिंग पर आधारित है जो 1024 बिट्स से 4096 बिट्स (~ 128 - 512 चरित्र पासवर्ड) तक बहुत लंबा है। इसके अतिरिक्त यह प्रमाणपत्र केवल आपके सर्वर में लॉग इन करने के लिए है और किसी भी बाहरी सेवाओं के साथ इसका उपयोग नहीं किया जाता है।
लिंक
http://bsdly.blogspot.de/2013/10/the-hail-mary-cloud-and-lessons-learned.html
यह लेख टिप्पणियों से आता है और मैं इसे थोड़ा और प्रमुख स्थान देना चाहता था, क्योंकि यह बॉटनेट्स के मामले में थोड़ा गहरा हो जाता है जो एसएसएच के माध्यम से लॉग इन करने की कोशिश करते हैं, वे इसे कैसे करते हैं, लॉग फाइलें कैसे दिखती हैं और उन्हें रोकने के लिए कोई क्या कर सकता है। इसे पीटर हैनस्टीन ने लिखा है।