दस्तावेज़
Diffie-Hellman मापदंडों के बिट आकार को बढ़ाकर TLS/SSL कनेक्शन की सुरक्षा में सुधार
डिफ़ी-हेलमैन कुंजी विनिमय यह सुरक्षित तरीका है कि कुंजी प्रारंभिक TLS/SSL कनेक्शन पर विनिमय की जाती है; उदाहरण के लिए एक वेब ब्राउज़र और एक वेब सर्वर के बीच एक HTTPS कनेक्शन। यह एक महत्वपूर्ण घटक है जो अधिकतम करने के लिए है आगे की गोपनीयता.
डिफ़ॉल्ट रूप से, v16.0+ TurnKey Linux सर्वर एक Diffie-Hellman पैरामीटर फ़ाइल उत्पन्न करते हैं, जो कि 1024 के कुछ आकार के साथ पहलीबूट पर है। सुरक्षा सबसे ज्यादा FREAK और/or लॉग-इन हालांकि, जैसा कि उल्लेख किया गया है RFC 8270:
[...] 1024 बिट्स का न्यूनतम मूल्य राज्य प्रायोजित अभिनेताओं और पर्याप्त कंप्यूटिंग संसाधनों के साथ किसी भी संगठन के खिलाफ सुरक्षा के लिए अपर्याप्त है [...]
TurnKey डिफ़ॉल्ट 1024 बिट्स के लिए; 2048 + बिट्स की सिफारिश की गई
इस तरह, अत्यधिक संसाधन वाले हमलावरों (जैसे राष्ट्र-राज्य) द्वारा हमले से सुरक्षा सुनिश्चित करने के लिए न्यूनतम 2048 बिट्स की सिफारिश की जाती है। 2048 (या उच्च) का एक DH समूह उत्पन्न करना विशेष रूप से CPU गहन है और यह एक लंबे समय तक ले सकता है; विशेष रूप से कम स्पेक क्लाउड सर्वर, VPS या कम स्पेक हार्डवेयर पर। इसलिए हम 1024 बिट्स (अनुमत 2048 के बजाय) का उपयोग करने के लिए क्यों डिफ़ॉल्ट हैं।
हालांकि, 2048 बिट्स का एक नया डिफी-हेलमैन समूह काफी आसानी से उत्पन्न किया जा सकता है (आपको सिर्फ थोड़ा रोगी होने की आवश्यकता होगी)। यदि आप विशेष रूप से अपने कनेक्शन की सुरक्षा के बारे में चिंतित हैं तो 4096 का थोड़ा आकार भी बेहतर है, लेकिन कम होने पर शायद कुछ दिनों तक इसका समय लग सकता है। युक्ति हार्डवेयर।
dhparams फ़ाइल को फिर से उत्पन्न करना
आप आसानी से स्वयं हस्ताक्षरित TLS / SSL प्रमाणपत्रों या Let's Encrypt प्रमाणपत्रों के लिए डिफी-हेलमैन पैरामीटर फ़ाइल (डिफ़ॉल्ट द्वारा /etc/ssl/private/dhparams.pem) को फिर से उत्पन्न कर सकते हैं। द्वारा उत्पन्न किया गया है Confconsole Let's Encrypt प्लगइन. यह Confconsole के माध्यम से किया जा सकता है DH मापदंडों की पुनर्जनन प्लगइन. या कमांड लाइन के माध्यम से किया जा सकता है।
Please note that if you are using some other method to include or generate your SSL/TLS certificate(s)/key(s) then hopefully you know what to do and how to do it! यदि आप अनिश्चित हैं, तो कृपया बेझिझक हमसे संपर्क करें मंचकृपया यह दस्तावेज दें कि आपका SSL/TLS certs कैसे सेट किया गया है।
Confconsole प्लगइन डिफ़ॉल्ट रूप से इसे एक अलग सत्र में चलाने के लिए। लेकिन अगर आप इसे कमांडलाइन के माध्यम से कर रहे हैं (जब तक आप भौतिक टर्मिनल के माध्यम से जुड़ रहे हों) तो यह एक dtach (या स्क्रीन या tmux) सत्र के भीतर नई फाइल उत्पन्न करने के लिए सबसे अच्छा है। स्पष्ट रूप से यदि आप ऐसा करते हैं तो भी यदि आपका SSH सत्र डिस्कनेक्ट हो जाता है तो प्रक्रिया पूरी हो जाएगी। उदाहरण के लिए, एक डच सत्र के भीतर 2048 बिट्स की एक नई डिफी-हेलमैन पैरामीटर फ़ाइल उत्पन्न करने के लिए:
dtach -c /tmp/regen-dhparams turnkey-make-ssl-cert --dh-params-only --dh-bits 2048
By default, that will open a new dtach session and run the turnkey-make-ssl-cert command. यदि आप डिस्कनेक्ट करना चाहते हैं तो आप SSH सत्र को बंद कर सकते हैं और कमांड जारी रहेगा। वैकल्पिक रूप से, आप <Ctrl><\> (डबल चेक कि आपका SSH क्लाइंट उस कुंजी कॉम्बो के माध्यम से गुजरता है) के साथ अलग सत्र से बाहर निकल सकते हैं। यदि आप सत्र में वापस आना चाहते हैं (जैसे यह सिर्फ एक खाली स्क्रीन होगी, जब तक कि यह समाप्त नहीं हो गया हो) तो ऐसा करें:
dtach -a /tmp/regen-dhparams
सेवा शुरू करना
एक बार जब यह पूरा हो जाता है, तो आपको उन वेबसर्विसों को पुनः आरंभ करने की भी आवश्यकता होगी जो DH params फ़ाइल का उपयोग कर रहे हैं। उदाहरण के लिए Apache और Stunnel को Webmin और Webshell दोनों के लिए पुनरारंभ करने के लिए:
systemctl restart apache2 systemctl restart stunnel4@webmin systemctl restart stunnel4@shellinabox
यदि आप 100% सुनिश्चित नहीं हैं कि कौन से सेवा आपको पुनरारंभ करने की आवश्यकता है और सुरक्षित पक्ष पर होना चाहते हैं, तो एक रिबूट एक अच्छा विकल्प है।