क्या कस्टम SSH DH समूहों को केवल-ग्राहक सिस्टम पर तैनात करने के लिए कोई सुरक्षा लाभ हैं?


16

SSH पर लोगजाम से संबंधित हमलों के खिलाफ एक मितव्ययी रणनीति का सुझाव दिया गया है कि कस्टम SSH डिफि-हेलमैन समूहों को कुछ (जैसे ओपनएसएसएच के लिए नीचे) का उपयोग करके उत्पन्न किया जाता है।

ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates

आउटपुट फ़ाइल के साथ सिस्टम-वाइड मोडुली फ़ाइल को प्रतिस्थापित करने के बाद moduli-2048। ( ssh-keygen -Gउम्मीदवार डीएच-जीईएक्स प्रिम्स ssh-keygen -Tबनाने के लिए और सुरक्षा के लिए उत्पन्न उम्मीदवारों का परीक्षण करने के लिए उपयोग किया जाता है ।)

यह SSH सर्वरों पर स्पष्ट रूप से एक उचित बात है जो अन्यथा जाने-माने समूहों का उपयोग करेगा जो खुद को प्री-कॉम्पट्यूट करने के लिए अच्छी तरह से उधार देते हैं, लेकिन क्या ग्राहक-केवल सिस्टम पर कस्टम SSH DH समूहों को तैनात करने के लिए कोई सुरक्षा लाभ हैं? (अर्थात, सिस्टम जो SSH सर्वर से जुड़ते हैं, लेकिन कभी SSH सर्वर के रूप में कार्य नहीं करते हैं।)

मैं मुख्य रूप से लिनक्स पर ओपनएसएसएच से संबंधित उत्तरों में रुचि रखता हूं, लेकिन अधिक सामान्य उत्तरों की भी सराहना की जाएगी।

जवाबों:


18

यदि आप वास्तव में चाहते हैं, तो आप कर सकते हैं, लेकिन मैं ओपनएसएसएच के लिए 2048-बिट डीएच मापदंडों को पुनर्जीवित करने से परेशान नहीं होगा। SSH को सुरक्षित करने के लिए आपको और भी कई महत्वपूर्ण चीजें करने की आवश्यकता है , जैसे कमजोर क्रिप्टो को अक्षम करना

मैं जो करूंगा उसे मौजूदा वाले हटा देंगे जो 2048 बिट्स से कम है।

awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli

यदि आपने ध्यान नहीं दिया है, तो ओपनएसएसएच जहाज बड़ी संख्या में पूर्व-निर्मित मोडुली के साथ है, सभी तरह से 8192 बिट्स तक। जब हम निश्चित रूप से 1024-बिट प्राइम के बारे में चिंतित हैं, तो 2048-बिट्स को भविष्य के लिए सुरक्षित माना जाता है। और जब कि अंततः बदल जाएगा, यह अगले सप्ताह हो सकता है, लेकिन पेंशनभोगी बनने के बाद लंबे समय तक होने की संभावना अधिक है ...

ssh-keygenमैन पेज में यह जिज्ञासु बिट भी है :

यह महत्वपूर्ण है कि इस फ़ाइल में कई बिट लंबाई की मोडुली होती है और कनेक्शन के दोनों सिरे आम तौर पर साझा होते हैं।

जो मौजूदा मोडुली को बदलने के खिलाफ तर्क देता है, हालांकि यह वास्तव में ऐसा करने के लिए वास्तविक कारण प्रदान नहीं करता है।


संबंधित: Diffie-Hellman दोनों पक्षों पर एक अलग मापांक का उपयोग कर पर क्रिप्टोग्राफी । मेरी सीमित समझ के अनुसार, ऐसा प्रतीत होता है कि यदि वांछित लंबाई का कोई साझा मापांक नहीं है, तो उस लंबाई के समूह के साथ डिफी-हेलमैन सामान्य मामले में संभव नहीं है, और किसी भी विशिष्ट मामले में संभव नहीं हो सकता है। इसलिए, दो एंडपॉइंट के बीच साझा किए गए मोडुली में डिफी-हेलमैन कुंजी विनिमय प्रोटोकॉल की गणितीय आवश्यकता है, और दो एंडपॉइंट के बीच एक डिफी-हेलमैन कुंजी विनिमय करने का प्रयास किया जाता है, जिसमें कोई सामान्य मॉड्यूल विफल नहीं होगा।
बजे एक CVn

2
RFC 4419 [ tools.ietf.org/html/rfc4419] सर्वर को कस्टम डीएच पैरामीटर प्रदान करने की अनुमति देने के लिए ठीक है। सर्वर क्लाइंट के लिए उम्मीदवार पैरामीटर भेजता है, और यदि ग्राहक सहमत है, तो दोनों पक्ष साझा-रहस्य उत्पन्न करने के लिए सर्वर-प्रदान किए गए मापदंडों का उपयोग करते हैं जो सत्र कुंजी के रूप में उपयोग किया जाता है। इसलिए, यह पूरी तरह से ठीक है अगर सर्वर और क्लाइंट के पास अपनी मोडुली फ़ाइल में समान प्रविष्टियां नहीं हैं।
ब्रायन मिंटन

2

जवाब है: नहीं। कोई लाभ नहीं है। :)

/etc/ssh/moduli फ़ाइल केवल सर्वर-साइड के लिए उपयोग की जाती है।

आपको SSH क्लाइंट-साइड के लिए उस फ़ाइल के बारे में चिंता करने की आवश्यकता नहीं है:

आप एसएसएच क्लाइंट के निष्पादन का पता लगा सकते हैं और जांच सकते हैं कि यह उस फ़ाइल को नहीं खोलता है।

$ strace -e openat ssh user@localhost
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.