सबसे सस्ती नहीं सबसे सुरक्षित है ये बाइक
विषयसूची:
- आवश्यक शर्तें
- प्रमाण पत्र स्थापित करें
- मजबूत धा (डिफी-हेलमैन) समूह उत्पन्न करें
- चलो एक SSL प्रमाणपत्र एन्क्रिप्ट करें
- ऑटो-रिन्यूिंग आइए SSL प्रमाणपत्र एन्क्रिप्ट करें
- निष्कर्ष
आइए एनक्रिप्ट इंटरनेट सुरक्षा अनुसंधान समूह (आईएसआरजी) द्वारा विकसित एक नि: शुल्क, स्वचालित और खुला प्रमाण पत्र प्राधिकरण है जो मुफ्त एसएसएल प्रमाणपत्र प्रदान करता है।
लेट्स एनक्रिप्ट द्वारा जारी किए गए प्रमाण पत्र सभी प्रमुख ब्राउज़रों द्वारा विश्वसनीय हैं और इश्यू डेट से 90 दिनों के लिए वैध हैं।
यह ट्यूटोरियल बताता है कि वेब सर्वर के रूप में अपाचे को चलाने वाले CentOS 8 पर एक निशुल्क लेट एनक्रिप्टेड एसएसएल सर्टिफिकेट कैसे स्थापित करें। हम प्रमाणपत्र प्राप्त करने और नवीनीकृत करने के लिए सर्टिफिकेट टूल का उपयोग करेंगे।
आवश्यक शर्तें
जारी रखने से पहले सुनिश्चित करें कि निम्न शर्तें पूरी की गई हैं:
- अपने सार्वजनिक सर्वर आईपी की ओर इशारा करते हुए एक डोमेन नाम रखें। हम
example.com
उपयोग करेंगे.Apache स्थापित है और आपके सर्वर पर आपके डोमेन के लिए कॉन्फ़िगर किए गए वर्चुअल होस्ट के साथ चल रहा है। आपके 80 और 443 आपके फ़ायरवॉल में खुले हैं।
SSL एन्क्रिप्टेड वेब सर्वर के लिए आवश्यक पैकेजों को स्थापित करें:
sudo dnf install mod_ssl openssl
जब mod_ssl पैकेज स्थापित किया जाता है, तो उसे स्थानीय होस्ट के लिए एक स्व-हस्ताक्षरित कुंजी और प्रमाण पत्र फ़ाइलों को बनाना चाहिए। यदि फ़ाइलें स्वचालित रूप से नहीं बनाई जाती हैं, तो आप उन्हें
openssl
कमांड का उपयोग करके बना सकते हैं:
sudo openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \
-out /etc/pki/tls/certs/localhost.crt \
-keyout /etc/pki/tls/private/localhost.key
प्रमाण पत्र स्थापित करें
सर्बोट एक फ्री कमांड-लाइन टूल है, जो आपके सर्वर पर HTTPS से और ऑटो-इनेबल करने वाले SSL सर्टिफिकेट को प्राप्त करने और नवीनीकृत करने की प्रक्रिया को सरल बनाता है।
सर्टिफिकेट पैकेज मानक CentOS 8 रिपॉजिटरी में शामिल नहीं है, लेकिन इसे विक्रेता की वेबसाइट से डाउनलोड किया जा सकता है।
निम्नलिखित स्क्रिप्ट कमांड को रूट या sudo उपयोगकर्ता के रूप में
/usr/local/bin
निर्देशिका में सर्टिफिकेट स्क्रिप्ट डाउनलोड करने के लिए चलाएँ:
sudo wget -P /usr/local/bin
डाउनलोड पूरा होने के बाद, फ़ाइल को निष्पादन योग्य बनाएं:
sudo chmod +x /usr/local/bin/certbot-auto
मजबूत धा (डिफी-हेलमैन) समूह उत्पन्न करें
डिफिए-हेलमैन कुंजी एक्सचेंज (डीएच) एक असुरक्षित संचार चैनल पर क्रिप्टोग्राफिक कुंजियों का सुरक्षित रूप से आदान-प्रदान करने का एक तरीका है। सुरक्षा को मजबूत करने के लिए 2048 बिट डीएच मापदंडों का एक नया सेट उत्पन्न करें:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
आप आकार 4096 बिट्स तक बदल सकते हैं, लेकिन सिस्टम एंट्रोपी के आधार पर पीढ़ी को 30 मिनट से अधिक समय लग सकता है।
चलो एक SSL प्रमाणपत्र एन्क्रिप्ट करें
उस डोमेन के लिए एक SSL प्रमाणपत्र प्राप्त करने के लिए, हम Webroot प्लगइन का उपयोग करने जा रहे हैं जो अनुरोधित डोमेन को
${webroot-path}/.well-known/acme-challenge
निर्देशिका के सत्यापन के लिए एक अस्थायी फ़ाइल बनाकर काम करता है। चलो एन्क्रिप्ट करें सर्वर HTTP फ़ाइल को यह प्रमाणित करने के लिए अस्थायी अनुरोध करता है कि अनुरोधित डोमेन उस सर्वर पर जाता है जहां सर्टिफिकेट चलता है।
सेटअप को अधिक सरल बनाने के लिए हम
/var/lib/letsencrypt
.well-known/acme-challenge
लिए सभी HTTP अनुरोधों को एक ही निर्देशिका,
/var/lib/letsencrypt
।
निर्देशिका बनाने और Apache सर्वर के लिए इसे लिखने योग्य बनाने के लिए निम्न कमांड चलाएँ।
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
डुप्लिकेटिंग कोड से बचने और कॉन्फ़िगरेशन को अधिक बनाए रखने के लिए, निम्नलिखित दो कॉन्फ़िगरेशन स्निपेट बनाएं:
/etc/httpd/conf.d/letsencrypt.conf
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM # Requires Apache 2.4.36 & OpenSSL 1.1.1 SSLProtocol -all +TLSv1.3 +TLSv1.2 SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1 # Older versions # SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
ऊपर वाला स्निपेट सिफरली द्वारा सुझाए गए चिपर्स का उपयोग कर रहा है। यह OCSP स्टेपलिंग, HTTP स्ट्रक्ट ट्रांसपोर्ट सिक्योरिटी (HSTS), Dh कुंजी को सक्षम करता है और कुछ सिक्योरिटी को लागू करता है ers ध्यान केंद्रित HTTP हेडर।
परिवर्तनों को प्रभावी करने के लिए अपाचे कॉन्फ़िगरेशन को पुनः लोड करें:
sudo systemctl reload
अब, आप वेबरूट प्लगइन के साथ सर्टिफिकेट स्क्रिप्ट को चला सकते हैं और एसएसएल प्रमाणपत्र फ़ाइलों को प्राप्त कर सकते हैं:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
सफलता मिलने पर, सर्टिफिकेट निम्नलिखित संदेश को प्रिंट करेगा:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2020-01-26. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
अब जब सब कुछ सेट हो गया है, तो अपने डोमेन वर्चुअल होस्ट कॉन्फ़िगरेशन को निम्नानुसार संपादित करें:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
उपरोक्त कॉन्फ़िगरेशन HTTPS को मजबूर कर रहा है और www से गैर-www संस्करण पर पुनर्निर्देशित कर रहा है। यह HTTP / 2 को भी सक्षम बनाता है, जो आपकी साइटों को तेज और अधिक मजबूत बनाएगा। अपनी आवश्यकताओं के अनुसार विन्यास को समायोजित करने के लिए स्वतंत्र फेल।
अपाचे सेवा को पुनरारंभ करें:
sudo systemctl restart
अब आप
https://
का उपयोग करके अपनी वेबसाइट खोल सकते हैं, और आपको हरे रंग का लॉक आइकन दिखाई देगा।
ऑटो-रिन्यूिंग आइए SSL प्रमाणपत्र एन्क्रिप्ट करें
आइए एन्क्रिप्ट करें के प्रमाण पत्र 90 दिनों के लिए वैध हैं। समाप्त होने से पहले प्रमाणपत्रों को स्वचालित रूप से नवीनीकृत करने के लिए, हम एक क्रोनजोब बनाएंगे जो दिन में दो बार चलेगा और अपनी समाप्ति से 30 दिन पहले स्वचालित रूप से किसी भी प्रमाण पत्र को नवीनीकृत करेगा।
एक नया क्रोनजोब बनाने के लिए निम्नलिखित कमांड चलाएँ जो प्रमाणपत्र को नवीनीकृत करेगा और अपाचे को फिर से शुरू करेगा:
echo "0 0, 12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto -q renew --renew-hook \"systemctl reload httpd\"" | sudo tee -a /etc/crontab > /dev/null
नवीनीकरण प्रक्रिया का परीक्षण करने के लिए,
--dry-run
स्विच द्वारा प्रमाणित सर्बोट कमांड का उपयोग करें:
sudo /usr/local/bin/certbot-auto renew --dry-run
यदि कोई त्रुटि नहीं है, तो इसका मतलब है कि नवीनीकरण प्रक्रिया सफल थी।
निष्कर्ष
इस ट्यूटोरियल में, हमने आपके डोमेन के लिए SSL प्रमाणपत्र प्राप्त करने के लिए CentOS पर ग्राहक एन्क्रिप्ट करें का उपयोग करने के तरीके के बारे में बात की। आपने प्रमाणपत्रों का उपयोग करने के लिए अपाचे को कॉन्फ़िगर करने और स्वत: प्रमाणपत्र नवीकरण के लिए क्रोनजोब स्थापित करने का तरीका भी दिखाया है।
Certbot स्क्रिप्ट के बारे में अधिक जानने के लिए, Certbot प्रलेखन पर जाएँ।
अपाचे सेंटोस सर्टिफिकेट सर्बोट ssl को एन्क्रिप्ट करते हैंसेंटो 7 पर एन्क्रिप्ट के साथ सुरक्षित अपाचे

इस ट्यूटोरियल में, हम अपाचे को एक वेब सर्वर के रूप में चल रहे एक CentOS 7 सर्वर पर एक निशुल्क लेट एनक्रिप्टेड एसएसएल प्रमाणपत्र स्थापित करने के लिए आवश्यक चरणों को कवर करेंगे।
सुरक्षित अपाचे के साथ चलो debian 9 पर एन्क्रिप्ट करें

यह ट्यूटोरियल आपको मुफ्त में प्राप्त करने की प्रक्रिया के माध्यम से मार्गदर्शन करेगा। आइए हम डेबियन 9 पर सर्टिफिकेट टूल का उपयोग करके एन्क्रिप्ट करें। हम यह भी दिखाएंगे कि नए एसएसएल प्रमाणपत्र का उपयोग करने के लिए अपाचे को कैसे कॉन्फ़िगर करें और HTTP / 2 को सक्षम करें।
Ubuntu 18.04 पर एन्क्रिप्ट होने के साथ सुरक्षित अपाचे

इस ट्यूटोरियल में, हम उबंटू 18.04 पर सर्पोट टूल का उपयोग करके अपाचे को सुरक्षित करने के तरीके के बारे में कदम से कदम निर्देश प्रदान करेंगे।