SSH कुंजी कॉपी हुई या एजेंट फ़ॉरवर्ड? दो अलग जोखिम
हस्ताक्षर कोई कुंजी फ़ाइल नहीं है, और प्रत्यायोजित एजेंट कोई प्रकटीकरण नहीं है। प्रोटोकॉल के तथ्य को अंतिम बिंदु के भरोसे के प्रश्न से अलग कीजिए, फिर उत्तर दीजिए।
VPN के ज़रिए SSH कुंजी इस्तेमाल करने वाला लॉगिन इसका मतलब नहीं है कि निजी कुंजी नेटवर्क ऑपरेटर को सौंप दी गई है, और यह आश्वासन लोगों के सुनने से ज़्यादा सीमित है। सार्वजनिक-कुंजी प्रमाणीकरण एक सार्वजनिक कुंजी और एक हस्ताक्षर भेजता है जिसे क्लाइंट स्थानीय रूप से बनाता है। एजेंट फ़ॉरवर्डिंग अलग जोखिम वाली अलग व्यवस्था है, और यह आपके नियंत्रण से बाहर की मशीन पर उपयोग योग्य प्रमाणीकरण क्षमता छोड़ सकती है। आपको जो उत्तर देना है वह इस पर निर्भर है कि इन दोनों में से वास्तव में क्या हुआ।
सार्वजनिक-कुंजी प्रमाणीकरण क्या भेजता है
मानक सार्वजनिक-कुंजी विधि में क्लाइंट एक सार्वजनिक कुंजी पेश करता है, सर्वर तय करता है कि वह उस कुंजी को स्वीकार करता है या नहीं, और क्लाइंट निजी कुंजी से एक चुनौती पर हस्ताक्षर करता है, जो उसकी फ़ाइल या उसके एजेंट में रहती है। नेटवर्क पार करने वाली चीज़ सार्वजनिक कुंजी और उससे बनने वाला हस्ताक्षर है। उस आदान-प्रदान में कुछ भी सर्वर, टनल या रास्ते में किसी से निजी सामग्री रखने की मांग नहीं करता।
प्रमाणीकरण विनिर्देश उस प्रमाण को परिभाषित करता है, और निजी कुंजी अनुरोध में कोई फ़ील्ड नहीं है।
यह किसी प्रोटोकॉल के बारे में कथन है, हर शामिल अंतिम बिंदु के लिए चरित्र-प्रमाणपत्र नहीं। मेज़बान पहचान की जाँच अभी भी अक्षुण्ण रहनी चाहिए, क्योंकि जो सर्वर खुद को साबित नहीं कर सकता वह ऐसे उद्देश्य के लिए हस्ताक्षर इकट्ठा कर सकता है जो आपका इरादा नहीं था। किराए की VM, विरासत में मिला बैस्टियन और अनजान एक्सटेंशन चलाने वाला लैपटॉप तीन अलग भरोसा-प्रश्न हैं। उन्हें क्रिप्टोग्राफ़िक प्रश्न से अलग रखिए, जो सचमुच तय हो चुका है।
एजेंट फ़ॉरवर्डिंग क्या प्रत्यायोजित करती है
एजेंट फ़ॉरवर्डिंग दूरस्थ मेज़बान से आपकी मशीन के एजेंट तक एक चैनल खोलती है, ताकि उस मेज़बान की प्रक्रियाएँ निजी कुंजी रखे बिना एजेंट से हस्ताक्षर करने को कह सकें। कुंजी जहाँ है वहीं रहती है, और क्षमता नहीं। दूरस्थ मेज़बान पर उस फ़ॉरवर्ड किए गए सॉकेट तक पहुँच सकने वाली कोई भी चीज़, सत्र के जीवनकाल के दौरान, लोड की गई पहचानों में से एक के रूप में प्रमाणीकरण क्रियाओं का अनुरोध कर सकती है। यह प्रत्यायोजित प्राधिकार है, इसलिए फ़ॉरवर्डिंग सार्वजनिक कुंजी सौंपने से ज़्यादा सीमित नीति की हक़दार है।
कॉपी की गई कुंजी फ़ाइल एक प्रकटीकरण है। फ़ॉरवर्ड किया गया एजेंट एक अनुमति है, और दोनों को अलग उत्तर चाहिए।
नामित आवश्यकता और नामित मेज़बानों के लिए फ़ॉरवर्डिंग सक्षम कीजिए, और जाँचिए कि क्लाइंट वास्तव में क्या करता है, न कि कॉन्फ़िगरेशन क्या कहता दिखता है। प्रभावी सेटिंग्स ही मायने रखती हैं, क्योंकि मेज़बान ब्लॉक चुपचाप एक वैश्विक डिफ़ॉल्ट को ओवरराइड करता है। यही तर्क सर्वर पक्ष पर भी लागू होता है, जो तैनाती को कभी ज़रूरत न होने पर फ़ॉरवर्डिंग पूरी तरह अस्वीकार कर सकता है।
उत्तर चुनने से पहले साक्ष्य पढ़िए
अगर माना जाता है कि कोई निजी कुंजी फ़ाइल या समतुल्य हस्ताक्षर पहचान उजागर हुई है, तो उत्तर है आपके संगठन की प्रक्रिया के ज़रिए प्रतिस्थापन और निरसन, साथ में उस हर सेवा से उसकी स्वीकृति हटाना जिसने उस पर भरोसा किया था। एक स्थानीय प्रति मिटाना उन प्रतियों को अमान्य नहीं करता जिन्हें आप नहीं देख सकते।
अगर चिंता अस्थायी एजेंट पहुँच की है, तो उत्तर अधिक सीमित है: अनावश्यक प्रत्यायोजन रोकिए, शामिल सत्रों और पहचानों की समीक्षा कीजिए, और घटना के स्वामी को तय करने दीजिए कि प्रतिस्थापन उचित है या नहीं। यहाँ साक्ष्य मायने रखते हैं, क्योंकि कोई देखा गया निर्यात न होना यह साबित नहीं करता कि किसी प्रमाणीकरण का दुरुपयोग नहीं हुआ, और अकेले पथ बदलना चोरी हुई कुंजी का निदान नहीं है। लिखिए कि किस घटक पर भरोसा था, फ़ॉरवर्डिंग सक्षम थी या नहीं, और वास्तव में क्या देखा गया। फिर उस रिकॉर्ड से मेल खाने वाला उत्तर चुनिए, उपलब्ध सबसे नाटकीय उत्तर के बजाय।
ssh-add -l
ssh -G host.example | grep -i forwardagent
बदलाव से पहले और बाद में उन्हें चलाइए ताकि तुलना का कोई अर्थ हो। पहले स्थापित सत्र उसे दिया गया प्रत्यायोजन बनाए रखता है, अब सेटिंग्स कुछ भी कहें।
दो नियंत्रण जो विनिमेय नहीं हैं
निजी सामग्री की रक्षा, यह सीमित करना कि कौन उसके हस्ताक्षर मांग सकता है, और साथी की पहचान सत्यापित करना तीन संबंधित नियंत्रण हैं, और कोई किसी का विकल्प नहीं है। जो टीम मेज़बान कुंजियाँ जाँचे बिना फ़ॉरवर्डिंग हटाती है उसने आधी समस्या ठीक की है। जो टीम मार्ग बदलने के कारण कुंजी घुमाती है उसने कुछ भी ठीक नहीं किया।
समझौता किया गया अंतिम बिंदु चौथा प्रश्न है, क्योंकि आपकी अपनी मशीन पर विशेषाधिकार प्राप्त सॉफ़्टवेयर पैकेट देखने से कहीं अधिक कर सकता है।
कुछ भी छूने से पहले घटना को उन श्रेणियों में बाँटिए, और हर एक को एक स्वामी दीजिए। किस पर भरोसा था, क्या प्रत्यायोजित हुआ और क्या सत्यापित हुआ, इसका छोटा रिकॉर्ड रखिए, क्योंकि वही रिकॉर्ड अगली समीक्षा को एक और बहस के बजाय सस्ता बनाता है। अगर कोई श्रेणी अज्ञात है, तो सौम्य मामला मानने के बजाय अज्ञात लिखिए। अंतर व्यावहारिक है, शैक्षणिक नहीं: यह तय करता है कि आप कोई क्रेडेंशियल बदलते हैं, सत्र रद्द करते हैं, या बस फ़ॉरवर्डिंग बंद करते हैं।