क्या आपकी SSH ज्ञात_होस्ट फ़ाइल का खुलासा करने के लिए सुरक्षा जोखिम है?


32

मैं अगले हफ्ते एक कॉन्फ्रेंस में बोल रहा हूं जो मैंने बनाया है कुछ सॉफ्टवेयर टूल्स के बारे में। इस प्रस्तुति के दौरान मेरा लैपटॉप प्रोजेक्टर स्क्रीन पर दिखाया जाएगा। प्रस्तुति को वीडियो और यूट्यूब पर पोस्ट किया जाएगा। यदि, किसी कारण से, मेरे पास ~/.ssh/known_hostsइस प्रस्तुति के दौरान अपनी फ़ाइल को खोलने और संपादित करने का अवसर है , तो क्या मुझे ऐसा करते समय प्रोजेक्टर को डिस्कनेक्ट करना चाहिए? क्या मेरी ज्ञात_होस्ट फ़ाइल का खुलासा करने के लिए कोई सुरक्षा जोखिम है?


7
known_hostsप्रेजेंटेशन के दौरान अपने वास्तविक को केवल एक नकली के साथ क्यों न बदलें ?
स्वेन

1
... या यदि आप पहली बार में होस्ट फ़िंगरप्रिंट की जांच नहीं करते हैं, ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostतो फिंगरप्रिंट प्रश्न को बायपास करने के लिए कुछ का उपयोग करें और मौजूदा ज्ञात-हॉस्ट के खिलाफ चेक से बचें।
११:

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

जवाबों:


43

ज्ञात_होस्ट फ़ाइल में आपके द्वारा अतीत में कनेक्ट किए गए होस्ट के लिए विश्वसनीय सार्वजनिक कुंजियाँ हैं। इन सार्वजनिक कुंजियों को केवल इन मेजबानों से जोड़ने की कोशिश करके प्राप्त किया जा सकता है। इसलिए यह प्रति सुरक्षा कोई जोखिम नहीं है।

लेकिन: इसमें आपके द्वारा होस्ट किए गए होस्ट का इतिहास शामिल है। उदाहरण के लिए सूचना को संभावित हमलावर द्वारा फुटप्रिंट संगठन के बुनियादी ढांचे के लिए इस्तेमाल किया जा सकता है। इसके अलावा यह संभावित हमलावरों को सूचित करता है कि आपके पास निश्चित रूप से कुछ मेजबानों तक पहुंच है और यह आपके लैपटॉप को चोरी करने से उन्हें भी एक्सेस मिलेगा।

संपादित करें: अपनी ज्ञात_होस्ट फ़ाइल दिखाने से बचने के लिए मैं आपको ssh-keygenउपयोगिता का उपयोग करने की सलाह देता हूं । ssh-keygen -R ssh1.example.orgउदाहरण के लिए ssh1.example.orgआपके ज्ञात_होस्ट से विश्वसनीय कुंजियों को निकालता है ।


15

इस बारे में विशेष रूप से खतरनाक कुछ भी नहीं है। हालाँकि, आप इस पहचान की जानकारी का खुलासा नहीं करना चाह सकते हैं। कभी-कभी मेजबानों का अस्तित्व उन झुकाव के लिए हमले की अच्छी रेखाओं को प्रकट करता है। आप या तो उपयोग HashKnownHostsकर सकते हैं, या आप इसे देखे बिना फ़ाइल को संपादित कर सकते हैं।


ब्लाइंड एडिट:
sed -i 25d .ssh/known_hostsस्क्रीन पर कोई सामग्री डाले बिना लाइन 25 को हटा देगा।

HashKnownHosts
इंगित करता है कि ssh (1) को ~ और .ssh / ज्ञात_होस्ट के लिए होस्ट नाम और पते हैश चाहिए। इन हैशेड नामों को आमतौर पर ssh (1) और sshd (8) द्वारा उपयोग किया जा सकता है, लेकिन वे यह नहीं बताते हैं कि पहचानने वाली जानकारी को फ़ाइल की सामग्री का खुलासा किया जाना चाहिए। डिफ़ॉल्ट "नहीं" है। ध्यान दें कि ज्ञात होस्ट फ़ाइलों में मौजूदा नाम और पते स्वचालित रूप से परिवर्तित नहीं होंगे, लेकिन ssh-keygen (1) का उपयोग करके मैन्युअल रूप से हैश किया जा सकता है।


4
मैन्युअल रूप से लाइन नंबर की गणना करने और इसे sed के साथ हटाने के बजाय, आप उपयोग भी कर सकते हैं ssh-keygen -R example.com
लेकेनस्टाइन

4
आप ssh-keygen -H -f ~/.ssh/known_hostsफ़ाइल में सभी नामों / पतों को हैश करने के लिए भी उपयोग कर सकते हैं ।
बारमर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.