How to Secure Your Linux Web Server with Let’s Encrypt and HTTPS?
आपकी वेबसाइट और इसके उपयोगकर्ताओं की सुरक्षा सुनिश्चित करने के लिए अपने लिनक्स वेब सर्वर को सुरक्षित करना महत्वपूर्ण है। ऐसा करने का एक तरीका सर्वर और क्लाइंट के बीच संचार को एन्क्रिप्ट करने के लिए HTTPS का उपयोग करना है। एचटीटीपीएस प्रमाणीकरण की एक अतिरिक्त परत भी जोड़ता है, यह सुनिश्चित करता है कि उपयोगकर्ता वास्तविक सर्वर के साथ संचार कर रहा है न कि ढोंगी। इस लेख में, हम पता लगाएंगे कि Let’s Encrypt और HTTPS के साथ अपने लिनक्स वेब सर्वर को कैसे सुरक्षित किया जाए।
Let’s Encrypt क्या है?
चलो एनक्रिप्ट एक प्रमाणपत्र प्राधिकरण है जो मुफ्त एसएसएल/टीएलएस प्रमाणपत्र प्रदान करता है। एसएसएल/टीएलएस प्रमाणपत्र का उपयोग क्लाइंट और सर्वर के बीच संचार को एन्क्रिप्ट करने के लिए किया जाता है, पारगमन में डेटा को अवरोधन या छेड़छाड़ से बचाता है। चलो एनक्रिप्ट प्रमाणपत्र सभी प्रमुख वेब ब्राउज़रों द्वारा पहचाने जाते हैं, जिससे वे आपकी वेबसाइट को सुरक्षित करने के लिए एक बढ़िया विकल्प बन जाते हैं।
चरण 1: सर्टिफिकेट स्थापित करें
Certbot एक मुफ़्त, ओपन-सोर्स सॉफ़्टवेयर है जो Let’s Encrypt से SSL/TLS प्रमाणपत्र प्राप्त करने और नवीनीकरण करने की प्रक्रिया को स्वचालित करता है। सर्टबॉट अधिकांश लिनक्स वितरणों के लिए उपलब्ध है, और इसे पैकेज मैनेजर का उपयोग करके स्थापित किया जा सकता है।
उदाहरण के लिए, Ubuntu और Debian पर, Certbot को स्थापित करने के लिए निम्न आदेश चलाएँ:
sudo apt-get update
sudo apt-get install certbot
CentOS और Fedora पर, इसके बजाय निम्न आदेश चलाएँ:
sudo yum install epel-release
sudo yum install certbot
चरण 2: अपना वेब सर्वर कॉन्फ़िगर करें
SSL/TLS प्रमाणपत्र प्राप्त करने से पहले, आपको अपनी वेबसाइट को HTTPS पर सर्व करने के लिए अपने वेब सर्वर को कॉन्फ़िगर करना होगा। ऐसा करने के सटीक चरण आपके द्वारा उपयोग किए जा रहे वेब सर्वर सॉफ़्टवेयर पर निर्भर करते हैं।
उदाहरण के लिए, यदि आप अपाचे का उपयोग कर रहे हैं, तो आप अपनी वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियाँ जोड़कर HTTPS को सक्षम कर सकते हैं:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/intermediate_cert.crt
</VirtualHost>
example.com को अपनी वेबसाइट के डोमेन नाम से बदलें, और अपने सर्वर पर वास्तविक पथों के साथ SSL/TLS प्रमाणपत्र फ़ाइलों के पथों को बदलें। यदि आपके पास अभी तक एसएसएल/टीएलएस प्रमाणपत्र नहीं है, तो अभी के लिए इन पंक्तियों पर टिप्पणी छोड़ दें।
यदि आप Nginx का उपयोग कर रहे हैं, तो आप अपनी सर्वर ब्लॉक कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियाँ जोड़कर HTTPS को सक्षम कर सकते हैं:
server {
listen 443 ssl;
server_name example.com;
root /var/www/html;
ssl_certificate /path/to/your_domain_name.crt;
ssl_certificate_key /path/to/your_private.key;
ssl_trusted_certificate /path/to/intermediate_cert.crt;
}
example.com को अपनी वेबसाइट के डोमेन नाम से बदलें, और अपने सर्वर पर वास्तविक पथों के साथ SSL/TLS प्रमाणपत्र फ़ाइलों के पथों को बदलें। यदि आपके पास अभी तक एसएसएल/टीएलएस प्रमाणपत्र नहीं है, तो अभी के लिए इन पंक्तियों पर टिप्पणी छोड़ दें।
चरण 3: SSL/TLS प्रमाणपत्र प्राप्त करें
एक बार जब आप HTTPS पर अपनी वेबसाइट की सेवा के लिए अपने वेब सर्वर को कॉन्फ़िगर कर लेते हैं, तो आप Let’s Encrypt से SSL/TLS प्रमाणपत्र प्राप्त करने के लिए Certbot का उपयोग कर सकते हैं।
उदाहरण के लिए, यदि आप अपाचे का उपयोग कर रहे हैं, तो निम्न कमांड चलाएँ:
sudo certbot –apache
Certbot आपको अपना ईमेल पता दर्ज करने और Let’s Encrypt सेवा की शर्तों से सहमत होने के लिए संकेत देगा। इसके बाद यह स्वचालित रूप से आपकी वेबसाइट के लिए एक एसएसएल/टीएलएस प्रमाणपत्र प्राप्त और स्थापित करेगा।
यदि आप Nginx का उपयोग कर रहे हैं, तो इसके बजाय निम्न कमांड चलाएँ:
sudo certbot –nginx
Certbot आपको अपना ईमेल पता दर्ज करने और Let’s Encrypt सेवा की शर्तों से सहमत होने के लिए संकेत देगा। इसके बाद यह स्वचालित रूप से आपकी वेबसाइट के लिए एक एसएसएल/टीएलएस प्रमाणपत्र प्राप्त और स्थापित करेगा।
चरण 4: स्वचालित नवीनीकरण को कॉन्फ़िगर करें
आइए एन्क्रिप्ट करें एसएसएल/टीएलएस प्रमाणपत्र हर 90 दिनों में समाप्त हो जाते हैं, इसलिए यह सुनिश्चित करने के लिए स्वचालित नवीनीकरण को कॉन्फ़िगर करना महत्वपूर्ण है कि आपकी वेबसाइट सुरक्षित रहे। सौभाग्य से, Certbot इसे आसान बनाता है।
स्वचालित नवीनीकरण को कॉन्फ़िगर करने के लिए, निम्न कमांड चलाएँ:
sudo certbot renew –dry-run
यह आदेश नवीनीकरण प्रक्रिया का अनुकरण करेगा और सत्यापित करेगा कि सब ठीक से काम कर रहा है। यदि कोई त्रुटि नहीं है, तो आप प्रमाणपत्र को स्वचालित रूप से नवीनीकृत करने के लिए क्रॉन जॉब जोड़ सकते हैं।
ऐसा करने के लिए, crontab फ़ाइल संपादित करें:
sudo crontab -eb
फ़ाइल के अंत में निम्न पंक्ति जोड़ें:
0 0 1 * * /usr/bin/certbot renew >> /var/log/letsencrypt-renewal.log
यह क्रॉन जॉब हर महीने पहले दिन चलेगा और प्रमाणपत्र को नवीनीकृत करने का प्रयास करेगा। यदि प्रमाणपत्र नवीनीकरण के लिए देय है, तो Certbot स्वतः इसे नवीनीकृत कर देगा। यदि नहीं, क्रॉन जॉब कुछ नहीं करेगा।
चरण 5: अपने कॉन्फ़िगरेशन का परीक्षण करें
एसएसएल/टीएलएस प्रमाणपत्र प्राप्त करने और कॉन्फ़िगर करने के बाद, यह सुनिश्चित करने के लिए कि सब कुछ ठीक से काम कर रहा है, अपने कॉन्फ़िगरेशन का परीक्षण करना महत्वपूर्ण है।
यह सत्यापित करने के लिए कि आपकी वेबसाइट का एसएसएल/टीएलएस प्रमाणपत्र सही तरीके से स्थापित है और मान्य है, आप एक ऑनलाइन एसएसएल/टीएलएस चेकर टूल का उपयोग कर सकते हैं। एसएसएल लैब्स एसएसएल सर्वर टेस्ट ऐसा ही एक उपकरण है, जिसे https://www.ssllabs.com/ssltest/ पर पाया जा सकता है।
इस टूल का उपयोग करने के लिए, अपनी वेबसाइट का डोमेन नाम दर्ज करें और “सबमिट करें” बटन पर क्लिक करें। टूल आपकी वेबसाइट के एसएसएल/टीएलएस कॉन्फ़िगरेशन का विश्लेषण करेगा और एक रिपोर्ट प्रदान करेगा।
रिपोर्ट में A+ से F तक का ग्रेड शामिल होगा, जो आपकी वेबसाइट के SSL/TLS कॉन्फ़िगरेशन की समग्र सुरक्षा को दर्शाता है। आपको अपनी वेबसाइट के लिए सर्वोत्तम सुरक्षा सुनिश्चित करने के लिए A या A+ ग्रेड प्राप्त करने का लक्ष्य रखना चाहिए।
चरण 6: HTTP को HTTPS पर पुनर्निर्देशित करें
अंत में, यह सुनिश्चित करने के लिए सभी HTTP ट्रैफ़िक को HTTPS पर पुनर्निर्देशित करना एक अच्छा विचार है कि उपयोगकर्ता हमेशा आपकी वेबसाइट के साथ सुरक्षित रूप से संचार करते हैं।
ऐसा करने के लिए, अपने वेब सर्वर की कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियाँ जोड़ें:
अपाचे के लिए:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
नगनेक्स के लिए:
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
ये पंक्तियाँ सभी HTTP ट्रैफ़िक को HTTPS पर पुनर्निर्देशित करेंगी।
निष्कर्ष
अपने लिनक्स वेब सर्वर को लेट्स एनक्रिप्ट और एचटीटीपीएस के साथ सुरक्षित करना आपकी वेबसाइट और इसके उपयोगकर्ताओं की सुरक्षा सुनिश्चित करने के लिए एक महत्वपूर्ण कदम है। इस आलेख में बताए गए चरणों का पालन करके, आप आसानी से लेट्स एनक्रिप्ट से एसएसएल/टीएलएस प्रमाणपत्र प्राप्त और स्थापित कर सकते हैं, स्वचालित नवीनीकरण को कॉन्फ़िगर कर सकते हैं और यह सुनिश्चित करने के लिए अपने कॉन्फ़िगरेशन का परीक्षण कर सकते हैं कि सब कुछ ठीक से काम कर रहा है।