सवाल एसएसएच पासवर्ड प्रमाणीकरण एक सुरक्षा जोखिम क्यों है?


OpenSSH कॉन्फ़िगरेशन के लिए अधिकांश मार्गदर्शिका कुंजी-आधारित प्रमाणीकरण के पक्ष में पासवर्ड प्रमाणीकरण को अक्षम करने की सलाह देते हैं। लेकिन मेरी राय में पासवर्ड प्रमाणीकरण का एक महत्वपूर्ण लाभ है: एक कुंजी के बिना बिल्कुल कहीं से कनेक्ट करने की क्षमता। यदि हमेशा एक मजबूत पासवर्ड के साथ प्रयोग किया जाता है, तो यह सुरक्षा जोखिम नहीं होना चाहिए। या यह चाहिए?


63
2017-11-24 12:12


मूल


पासवर्ड एक-कारक प्रमाणीकरण हैं जिन्हें स्नीफ किया जा सकता है, अनुमान लगाया जा सकता है और फिर से चलाया जा सकता है। कुंजी (संभवतः) दो-कारक हैं। किसी भी कारक से कहीं भी लॉग इन करने में सक्षम होना कुछ प्रणालियों पर अस्वीकार्य है। - Alex Holst


जवाब:


पीडब्ल्यू या कुंजी-आधारित प्रमाणीकरण के लिए प्रो और कॉन हैं।

कुछ मामलों में, उदाहरण के लिए, कुंजी-आधारित प्रमाणीकरण है कम से पासवर्ड प्रमाणीकरण से सुरक्षित। अन्य मामलों में, इसका पीडब्लू-आधारित जो कम सुरक्षित है। कुछ मामलों में, दूसरों में कम, एक और अधिक सुविधाजनक है।

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

इसे तय करते समय बॉक्स के बाहर सोचें। चाहे आप सुरक्षा के मामले में लाभ या ढीला हों, अपने बाकी के पर्यावरण और अन्य उपायों पर निर्भर करता है।

संपादित करें: ओह, बस देखा कि आप एक होम सर्वर के बारे में बात कर रहे हैं। मैं हमेशा उसी स्थिति में था, "पासवर्ड" या "इसके साथ यूएसबी स्टिक" हमेशा मेरे साथ? मैं पूर्व के लिए गया था परंतु एसएसएच श्रवण बंदरगाह को 22 से अलग कुछ बदल दिया। इससे उन सभी लंगड़ा स्क्रिप्ट kiddies ब्रूट पूरे नेटवर्क श्रेणियों को मजबूर कर देता है।


23
2017-11-24 13:22



22 से एसएसएच पोर्ट बदलना कई मामलों में बिल्कुल अच्छा विचार नहीं हो सकता है। adayinthelifeof.nl/2012/03/12/... - Tymek


एसएसबी कुंजी का उपयोग करने से पासवर्ड लॉगिन की तुलना में एक अनूठी सुविधा होती है: आप अनुमत आदेश निर्दिष्ट कर सकते हैं। यह संशोधित करके किया जा सकता है ~/.ssh/authorized_keys सर्वर पर फ़ाइल।

उदाहरण के लिए,

command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

उस विशेष कुंजी के साथ केवल '/usr/local/bin/your_backup_script.sh "कमांड की अनुमति होगी।

आप कुंजी के लिए स्वीकृत होस्ट भी निर्दिष्ट कर सकते हैं:

from="yourclient,yourotherclient", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

या दोनों को गठबंधन करें:

from="yourbackupserver", command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

चाबियों के साथ आप किसी विशेष खाते के पासवर्ड को प्रकट किए बिना किसी सर्वर को कुछ उपयोगकर्ता (कहें, परामर्शदाता) तक अस्थायी पहुंच भी दे सकते हैं। परामर्शदाता ने अपना काम पूरा करने के बाद, अस्थायी कुंजी को हटाया जा सकता है।


73
2017-11-24 13:32



बहुत उपयोगी टिप। - Sachin Divekar
इसके अलावा कुंजी का उपयोग लंबे 2000 वर्ण पासवर्ड (अच्छी तरह से तकनीकी रूप से इसकी अधिक ताकत) जैसा है, जैसा कि आप टर्मिनल में मैन्युअल रूप से कुंजी में कर सकते हैं की तुलना में: डी - Abhishek Dujari
एसएसएच प्रमाणीकरण के बारे में दो बहुत उपयोगी टिप्स, लेकिन वास्तव में मेरे लिए सवाल का जवाब नहीं देता है ... - MikeMurko
यदि आप किसी विशिष्ट कमांड के माध्यम से पासवर्ड-प्रमाणीकृत उपयोगकर्ता को मजबूर करना चाहते हैं, तो उसका लॉगिन खोल बदलें। साथ ही, "पासवर्ड प्रकट किए बिना अस्थायी पहुंच प्रदान करना" एक बहुत बुरा विचार है। बाद में पहुंच रखने के लिए सैकड़ों अलग-अलग तरीके हैं। - b0fh
आखिरी पैराग्राफ अकेले सवाल आईएमओ का जवाब देता है - चाबियाँ दानेदार निरसन की अनुमति देती हैं, जबकि पासवर्ड के साथ आपको हर किसी को यह सूचित करने की आवश्यकता होती है कि आप इसे बदल रहे हैं। - Riking


आप केवल अपने नेटवर्क के भीतर से पासवर्ड प्रमाणीकरण की अनुमति देकर दोनों दुनिया के सर्वश्रेष्ठ प्राप्त कर सकते हैं। अपने अंत में निम्नलिखित जोड़ें sshd_config:

PasswordAuthentication no
Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

45
2017-11-24 13:31



यह एक सुपर आसान टिप है। मेरे पास कुछ सर्वर हैं जो मैं इसके साथ कर सकता हूं। - Sirex


आपने अपने प्रश्न का आंशिक रूप से जवाब दिया है - अधिक स्थानों पर हमलावर कनेक्ट हो सकता है, ब्रूटफोर्सिंग (डीडीओएस पर विचार करें) द्वारा आपके सर्वर में जितनी अधिक संभावनाएं तोड़नी होंगी।

कुंजी आकार (आमतौर पर हजारों बिट्स) के साथ अपने पासवर्ड की लंबाई की तुलना करें।


6
2017-11-24 12:15



एन्ट्रॉपी के 96-बिट्स का मतलब है 80-वर्ण पासवर्ड, अगर यह अंग्रेजी लिखा गया है; 15 वर्ण अगर यह प्रिंट करने योग्य चरित्र सेट से यादृच्छिक gibberish है। क्या आप पूरी तरह से सुनिश्चित हैं कि आपके एसएसएच पासवर्ड लंबे / मजबूत हैं? - MadHatter
यदि आपके पास 96-बिट्स एन्ट्रॉपी के साथ कई पासवर्ड हैं जो डिक्शनरी हमलों के लिए कमजोर नहीं होंगे, तो आपको शायद किसी भी प्रकार के पासवर्ड प्रबंधन सॉफ़्टवेयर का उपयोग करने की आवश्यकता होगी, ताकि आप पासवर्ड का उपयोग करने के लिए हर जगह आसानी से सुलभ हो सकें । - Nick Downton
@SachinDivekar केवल 9 बिट्स एंट्रॉपी है अगर सेट [ए-जेए-जेड] से यादृच्छिक पासवर्ड का उपयोग करते हैं, न कि यह अंग्रेजी शब्द है। - Jaap Eldering
@ निकडाउनटन - कुंजीपटल सॉफ़्टवेयर का उपयोग किए बिना आपके पास एक लंबा लंबा पासवर्ड हो सकता है। कुछ इस तरह mywifesnameisangelaandshehasanicebutt शब्दकोश हमलों के लिए अनावश्यक है, बहुत मजबूत है, और याद रखना बहुत आसान है, लेकिन अनुमान लगाना असंभव है। और अगर आपको कभी भी अपनी पत्नी को अपना पासवर्ड देने की ज़रूरत है तो ब्राउनी पॉइंट्स में बोनस के साथ आता है। - Mark Henderson♦
क्षमा करें, मार्क, लेकिन यह गलत है। आपके द्वारा दिए गए पासफ्रेज में 37 वर्ण हैं और इसलिए लगभग 44 बिट एंट्रॉपी हैं, जो कि 7 यादृच्छिक प्रिंट करने योग्य पात्रों से कमजोर है, और बेहद हमलावर है। विवरण के लिए क्लाउड शैनन के काम पर विकिपीडिया के लेख को पढ़ें, लेकिन उपरोक्त बात यह है कि लिखित अंग्रेजी अत्यधिक अनुमानित है - उदाहरण के लिए, "mywifesname" के बाद, शब्द "है" लगभग गारंटीकृत है। शब्दों को शामिल करने वाले मजबूत पासवर्ड के लिए, चार बिना सोचे समझे एक शब्दकोश से एक साथ जुड़े शब्द आपको कुछ 10 ** 23 संभावनाएं देंगे, जो लगभग 77 बिट एंट्रॉपी हैं; अभी भी महान नहीं है, लेकिन बुरा नहीं है। - MadHatter


जब आप किसी पासवर्ड से लॉग इन करते हैं तो आप सर्वर पर अपना पासवर्ड भेजते हैं। इसका मतलब है कि सर्वर का ऑपरेटर आपके पासवर्ड तक पहुंच प्राप्त करने के लिए एसएसएचडी को संशोधित कर सकता है। सार्वजनिक कुंजी प्रमाणीकरण के साथ, वे आपकी निजी कुंजी प्राप्त नहीं कर सकते क्योंकि केवल आपकी सार्वजनिक कुंजी सर्वर पर जाती है।


6
2017-07-09 08:10



जब आप टाइपो की वजह से गलत सर्वर से कनेक्ट होते हैं तो यह विशेष रूप से प्रासंगिक होता है। उदाहरण के लिए, समय पर किसी बिंदु पर, .cg एक वाइल्डकार्ड था जो एसएसएच सक्षम के साथ एक मशीन को इंगित करता था। जब भी आप .ch के लिए .cg को गलत टाइप करेंगे, तो आप उस बॉक्स से कनेक्ट होकर अपना पासवर्ड लीक कर देंगे ... - b0fh


यह एक व्यापार-बंद है, जैसा कि @ मार्टिन वेजमेल्का कहते हैं।

कुंजी आधारित ऑथ का उपयोग करने का कारण यह है कि कुंजी वर्तमान से ऊपर है या भविष्य के पास ब्रूट को मजबूर करना कि आपको या तो अपने पीसी से आने की आवश्यकता है, या यूएसबी स्टिक या इसी तरह की कुंजी है।

पासवर्ड में निम्नलिखित समस्याएं हैं:

  • यदि यह छोटा है तो इसे बलपूर्वक मजबूर किया जा सकता है
  • यदि यह लंबा है तो इसे आसानी से भुला दिया जाता है
  • यह कंधे सर्फ किया जा सकता है

एक कुंजी परिमाण के आदेश लंबे समय तक होती है, और किसी भी बिंदु पर प्रदर्शित नहीं होती है, इसलिए यह इन तीन मुद्दों से बचाती है।


5
2017-11-24 12:43



लेकिन एक कुंजी फ़ाइल का उपयोग करके पेन ड्राइव, या जो भी स्टोरेज आप उपयोग कर रहे हैं उसे खोने का मुद्दा जोड़ता है। - João Portela
जिस बिंदु पर खोया कुंजी हटाया जा सकता है, और एक नई कुंजी जोड़ा गया। पासवर्ड (विशेष रूप से साझा पासवर्ड) के साथ यह मुझे एक बड़ा दर्द कर सकता है, और इसमें बहुत सारी चिल्लाहट शामिल है। - SplinterReality
मेरे (हाल ही में सेवानिवृत्त) पासवर्ड में से एक: 08Forging2?seminal*^Rajas-(Posed/|। यह यादृच्छिक रूप से जेनरेट किया गया है लेकिन मुझे इसे याद करने में कोई परेशानी नहीं है। और शुभकामनाएं कंधे-सर्फिंग या ब्रूट-इसे मजबूर करना। - finnw
@finnw सही घोड़े बैटरी स्टेपल :-) security.stackexchange.com/q/6095/485 - Rory Alsop


एसएसएच कुंजी आपके पासवर्ड पर मध्य आधारित हमलों में आदमी को रोकती है।

जब आप कुंजी के साथ लॉगिन करने का प्रयास करते हैं तो सर्वर आपकी सार्वजनिक कुंजी के आधार पर एक चुनौती का निर्माण करेगा और इसे आपके क्लाइंट को भेज देगा। जो इसे डिक्रिप्ट करेगा और भेजने के लिए उचित प्रतिक्रिया देगा।

आपकी निजी कुंजी कभी भी सर्वर पर नहीं भेजी जाती है और कोई भी सुनना किसी भी सत्र को रोकने के अलावा कुछ भी करने में असमर्थ है।

एक पासवर्ड के साथ वे आपके प्रमाण पत्र होगा।

मेरा समाधान एक यूएसबी कुंजी पर एन्क्रिप्टेड विभाजन पर उपयुक्त स्वरूपों में एक पोर्टेबल एसएसएच कुंजी होना है। यह मुझे करने की अनुमति देता है:
खो जाने की स्थिति में उस कुंजी को आसानी से वापस ले लें।
प्रतिबंधित करें कि कौन से सर्वर मुझे यह एक्सेस करने की अनुमति देता है
और अभी भी इसे चारों ओर ले जाते हैं

हालांकि माउंट सॉफ्टवेयर स्थापित करना एक दर्द है (सच्चाई)


5
2017-11-25 11:04



ये गलत है। जैसे ही आप सर्वर की सार्वजनिक कुंजी को जानते हैं (जो आप करते हैं यदि आपने इसे अपने कैश में जोड़ा है और पहले कनेक्शन पर एमआईटीएम नहीं मिला है) तो आप एमआईटीएम हमलों से प्रतिरक्षा हैं। कुंजी / पासवर्ड-आधारित प्रमाणीकरण के साथ इसका कोई लेना-देना नहीं है। पासवर्ड है कभी नहीँ तार पर स्पष्ट रूप से भेजा गया, मशीन-स्तर प्रमाणीकरण (आपकी / मेरी सार्वजनिक कुंजी क्या है) पर एक सुरक्षित कनेक्शन हमेशा उपयोगकर्ता स्तर के प्रमाणीकरण से पहले स्थापित किया जाता है (आपका पासवर्ड क्या है / मुझे यह साबित करें कि यह सार्वजनिक कुंजी आपका है)। - Thomas
थॉमस, वास्तव में कई लोग एक फिंगरप्रिंट परिवर्तन के बारे में चेतावनी को अनदेखा करते हैं। पब्की ऑथ एमआईटीएम सुरक्षा की गारंटी देता है भले ही सर्वर की निजी कुंजी किसी तरह से समझौता हो या मानव प्रकार "हां" अनुपस्थित हो: हमलावर को यातायात देखने और सार्वजनिक कुंजी भेजने में सक्षम न होने के बीच चयन करना है जो लॉग इन नहीं करेगा, जो कि है जीत। - Score_Under
और उत्तर देने के लिए: आपको Truecrypt का उपयोग करने की आवश्यकता नहीं है, openssh निजी कुंजी अपने वैकल्पिक पासवर्ड-आधारित एन्क्रिप्शन के साथ आती है। - Score_Under


पहले से वर्णित अच्छे अंक।

मैं सबसे बड़ा जोखिम मानता हूं, बशर्ते आपने एक मजबूत पासवर्ड के साथ मूल बातें का ख्याल रखा हो, यह है कि बहुत से कंप्यूटरों को उपयोगकर्ता को यह महसूस किए बिना कीलॉगर्स इंस्टॉल किए जाते हैं। यहां तक ​​कि लोग उपयोगी उपयोगिताओं की पूरी साइटें भी बना रहे हैं जिनमें ट्रोजन शामिल हैं, इसलिए यह हमारे लिए सबसे अच्छा हो सकता है। उदाहरण के लिए एक कीलॉगर एक हैकर को लॉगिन विवरण ईमेल करेगा जो तब आसानी से सर्वर तक पहुंच सकता है।

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


2
2017-11-24 19:28





पासवर्ड पर एसएसएच का एक संभावित लाभ यह है कि यदि आप एक एसएसएच पासफ्रेज निर्दिष्ट नहीं करते हैं, तो आपको फिर से पासवर्ड टाइप करना पड़ेगा ... आपका कंप्यूटर सर्वर पर आंतरिक रूप से भरोसा है क्योंकि इसकी कुंजी है। उस ने कहा, मैं आमतौर पर हमेशा एक एसएसएच पासफ्रेज का उपयोग करता हूं, इसलिए मैं इसका लाभ उठाता हूं।

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

यदि आपको नहीं लगता कि यह महत्वपूर्ण है, तो अगले सप्ताह के लिए आपको मिलने वाले सभी दुर्भावनापूर्ण लॉगिन प्रयासों को लॉग इन करने का प्रयास करें। मेरा कंप्यूटर - एक बिल्कुल सामान्य डेस्कटॉप पीसी - मेरे पासवर्ड का अनुमान लगाने के लिए 4,000 से अधिक प्रयास और अकेले पिछले सप्ताह में लगभग 2,500 ब्रेक-इन प्रयास किए गए थे। आप कितने हजार यादृच्छिक अनुमानों को सोचते हैं कि हमलावर आपके पासवर्ड पर ठोकर खाने से पहले ले जाएगा?

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


2
2017-11-24 23:48





Passwd auth विधि वास्तव में असुरक्षित (imho) है। इस तंत्र के साथ पासवर्ड एसएसडीडी सर्वर पर प्रेषित किया जाएगा (जैसे @ramon पहले ही कह चुका है)। इसका मतलब है कि कुछ व्यक्ति पासवर्ड पुनर्प्राप्त करने के लिए एसएसडीडी सर्वर को संशोधित कर सकते हैं। मैन-इन-द-मध्य हमले के साथ स्थानीय नेटवर्क के अंदर इसे पूरा करना बहुत आसान है।

आप इस पैच को स्थापित करके एसएसडीडी सर्वर को पैच कर सकते हैं (https://github.com/jtesta/ssh-mitm)। उपयोग arpspoof तथा iptables अपने पैच किए गए सर्वर को क्लाइंट और प्रामाणिक एसएसडीडी सर्वर के बीच डालने के लिए।

कृपया पासवर्ड ऑथ अक्षम करें: कॉन्फ़िगरेशन फ़ाइल खोलें /etc/ssh/ssh_config और रेखा जोड़ें PasswordAuthentication no


1
2018-05-20 14:17



आरएसए फिंगरप्रिंट के लिए एसएसएच क्लाइंट चेक सर्वर नहीं है? कम से कम एक बार इस विशेष सर्वर पर जाने के बाद, यह फिंगरप्रिंट याद किया जाएगा, इसलिए संभावित एमआईटीएम हमलों के मामले में एसएसएच चेतावनी को उजागर करेगा, है ना? - Septagram
हाँ। चेतावनी दिखाई देती है लेकिन ओएस पुनर्स्थापना के कारण 99% समय बीकॉइस होता है, कॉन्फ़िगर ईसीसी बदल जाता है, अधिकतर उपयोगकर्ता चेतावनी को अनदेखा करेंगे और आगे बढ़ेंगे। - Pioz
@Septagram कई शेल खाता प्रदाता नए ग्राहकों के लिए मौजूदा सर्वर कुंजी फिंगरप्रिंट पोस्ट करने की आदत में नहीं हैं, नए खातों में उपयोगकर्ता खातों के माइग्रेशन के लिए इत्यादि। - Damian Yerrick