इस ट्यूटोरियल में हम सीखेंगे कि कैसे सुरक्षित करें अपाचे एचटीटीपी सर्वर के साथ टीएलएस/एसएसएल द्वारा प्रदान किए गए प्रमाण पत्र आइए एन्क्रिप्ट करें में फ्रीबीएसडी 11.x. हम यह भी कवर करेंगे कि Let's Encrypt के लिए प्रमाणपत्र नवीनीकरण की प्रक्रिया को स्वचालित कैसे करें।
यह भी पढ़ें: FreeBSD पर Nginx के लिए Let's Encrypt स्थापित करें
टीएलएस/एसएसएल अपाचे वेब सर्वर द्वारा प्रमाणपत्रों का उपयोग अंत नोड्स के बीच संचार को एन्क्रिप्ट करने के लिए किया जाता है, या सुरक्षा प्रदान करने के लिए सर्वर और क्लाइंट के बीच अधिक सामान्य है। आइए एन्क्रिप्ट करें प्रदान करता है सर्टिफिकेट कमांड लाइन उपयोगिता, जो एक ऐसा एप्लिकेशन है जो आपको विश्वसनीय प्रमाण पत्र मुफ्त में प्राप्त करने के तरीके की सुविधा प्रदान कर सकता है।
1. सर्टबॉट उपयोगिता स्थापित करना शुरू करने से पहले और इसके लिए टीएसएल कॉन्फ़िगरेशन फ़ाइल बनाएं अमरीका की एक मूल जनजाति
, पहले नाम की दो अलग-अलग निर्देशिकाएँ बनाएँ साइट-उपलब्ध तथा साइट-सक्षम नीचे दिए गए आदेश जारी करके अपाचे रूट कॉन्फ़िगरेशन निर्देशिका में।इन दो निर्देशिकाओं का उद्देश्य मुख्य अपाचे को संशोधित किए बिना सिस्टम में वर्चुअल होस्टिंग कॉन्फ़िगरेशन प्रबंधन को सुविधाजनक बनाना है httpd.conf कॉन्फ़िगरेशन फ़ाइल हर बार जब हम एक नया वर्चुअल होस्ट जोड़ते हैं।
# mkdir /usr/local/etc/apache24/sites-उपलब्ध। # mkdir /usr/local/etc/apache24/sites-enabled.
2. दोनों निर्देशिका बनाने के बाद, अपाचे खोलें httpd.conf एक टेक्स्ट एडिटर के साथ फाइल करें और फाइल के अंत के करीब निम्न लाइन जोड़ें जैसा कि नीचे दिखाया गया है।
# नैनो /usr/स्थानीय/आदि/apache24/httpd.conf.
निम्नलिखित पंक्ति जोड़ें:
वैकल्पिक आदि/apache24/साइट-सक्षम/*.conf शामिल करें।
3. अगला, सक्षम करें टीएलएस निम्नलिखित नाम की एक नई फ़ाइल बनाकर अपाचे के लिए मॉड्यूल: 020_mod_ssl.conf में मॉड्यूल.डी निम्नलिखित सामग्री के साथ निर्देशिका।
# नैनो /usr/स्थानीय/आदि/apache24/modules.d/020_mod_ssl.conf.
फ़ाइल में निम्न पंक्तियाँ जोड़ें 020_mod_ssl.conf.
443 सुनो। एसएसएलप्रोटोकॉल ऑल -एसएसएलवी2 -एसएसएलवी3. SSLCipherSuite High: MEDIUM:!aNULL:!MD5. SSLPassPhraseDialog बिलिन। SSLSessionCacheTimeout 300.
4. अब, अनकम्मेंट करें एसएसएल से मॉड्यूल /usr/local/etc/apache24/httpd.conf निम्नलिखित पंक्ति की शुरुआत से हैशटैग को हटाकर फ़ाइल करें जैसा कि नीचे दिखाया गया है:
लोडमॉड्यूल ssl_module libexec/apache24/mod_ssl.so.
5. अगला, बनाएँ टीएलएस आपके डोमेन के लिए कॉन्फ़िगरेशन फ़ाइल साइट-उपलब्ध निर्देशिका, अधिमानतः आपके डोमेन के नाम के साथ, जैसा कि नीचे दिए गए अंश में प्रस्तुत किया गया है:
# नैनो /usr/स्थानीय/आदि/apache24/साइट-उपलब्ध/bsd.lan-ssl.conf.
फ़ाइल में निम्नलिखित वर्चुअलहोस्ट कॉन्फ़िगरेशन जोड़ें bsd.lan-ssl.conf.
सर्वरनाम www.yourdomain.com ServerAlias yourdomain.com DocumentRoot "/usr/local/www/apache24/data/" SSLEngine SSLCertificateFile पर "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem" SSLOptions +StdEnvVars. SSLOptions +StdEnvVars. BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log" \ "%t %h %{SSL_PROTOCOL} x %{SSL_CIPHER}x \"%r\" %b" विकल्प अनुक्रमणिका FollowSymLinks MultiViews #AllowOverride नियंत्रित करता है कि .htaccess फ़ाइलों में कौन से निर्देश रखे जा सकते हैं। AllowOverride All #Controls जो इस सर्वर फ़ाइल से सामान प्राप्त कर सकते हैं सभी की आवश्यकता है ErrorLog "/var/log/apache/yourdomain.ssl-error.log" CustomLog "/var/log/apache/yourdomain.ssl-access_log" संयुक्त
सुनिश्चित करें कि आप डोमेन नाम चर को से बदल दें सर्वर का नाम, सर्वरअलियास, त्रुटि संग्रह, कस्टमलॉग तदनुसार बयान।
6. अगले चरण पर, स्थापित करने के लिए निम्न आदेश जारी करें सर्टिफिकेट द्वारा प्रदान की गई उपयोगिता आइए एन्क्रिप्ट करें, जिसका उपयोग प्राप्त करने के लिए किया जाएगा अपाचे टीएसएल आपके डोमेन के लिए निःशुल्क प्रमाणपत्र।
स्थापित करते समय सर्टिफिकेट आपकी स्क्रीन पर प्रॉम्प्ट की एक श्रृंखला प्रदर्शित होगी। कॉन्फ़िगर करने के लिए नीचे दिए गए स्क्रीनशॉट का उपयोग करें सर्टिफिकेट उपयोगिता। साथ ही, आपके मशीन संसाधनों के आधार पर सर्टिफिकेट उपयोगिता को संकलित और स्थापित करने में कुछ समय लग सकता है।
# सीडी /यूएसआर/पोर्ट/सुरक्षा/पीई-सर्टिफिकेट. #इंस्टॉल क्लीन करें।
7. संकलन प्रक्रिया समाप्त होने के बाद, अद्यतन करने के लिए निम्न आदेश जारी करें सर्टिफिकेट उपयोगिता और सर्टिफिकेट आवश्यक निर्भरताएँ।
# pkg py27-certbot स्थापित करें। # pkg py27-acme स्थापित करें।
8. अपने डोमेन के लिए एक प्रमाणपत्र बनाने के लिए, नीचे दिए गए उदाहरण के अनुसार आदेश जारी करें। सुनिश्चित करें कि आपने सही वेबूट स्थान प्रदान किया है जहां आपकी वेबसाइट फ़ाइलें फ़ाइल सिस्टम में संग्रहीत हैं (दस्तावेज़ रूट आपके डोमेन कॉन्फ़िगरेशन फ़ाइल से निर्देश) का उपयोग कर डब्ल्यू
झंडा। यदि आपके पास एकाधिक उप डोमेन हैं, तो उन सभी को इसके साथ जोड़ें -डी
झंडा।
# सर्टिफ़िकेट केवल --webroot -w /usr/local/www/apache24/data/ -d yourdomain.com -d www.yourdomain.com।
प्रमाणपत्र प्राप्त करते समय, प्रमाणपत्र नवीनीकरण के लिए एक ईमेल पता प्रदान करें, लेट्स एनक्रिप्ट नियमों और शर्तों से सहमत होने के लिए a दबाएं और एन
ईमेल पता साझा न करने के लिए आइए भागीदारों को एन्क्रिप्ट करें।
सर्टिफिकेट कमांड आउटपुट
डिबग लॉग को /var/log/letsencrypt/letsencrypt.log में सहेजा जा रहा है। ईमेल पता दर्ज करें (तत्काल नवीनीकरण और सुरक्षा नोटिस के लिए उपयोग किया जाता है) ('c' को दर्ज करें। रद्द करना):[ईमेल संरक्षित] ऐसा लगता है कि उस पते में कोई समस्या है. ईमेल पता दर्ज करें (के लिए प्रयुक्त। तत्काल नवीनीकरण और सुरक्षा नोटिस) यदि आप वास्तव में इसे छोड़ना चाहते हैं, तो आप कर सकते हैं। क्लाइंट को --register-unsafely-बिना ईमेल के साथ चलाएं लेकिन सुनिश्चित करें कि आप तब। /etc/letsencrypt/accounts से अपनी खाता कुंजी का बैकअप लें (रद्द करने के लिए 'c' दर्ज करें):[ईमेल संरक्षित] कृपया सेवा की शर्तें यहां पढ़ें। https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. आपको सहमत होना होगा। पर ACME सर्वर के साथ पंजीकरण करने के लिए। https://acme-v01.api.letsencrypt.org/directory. (ए) सहमत / (सी) रद्द:ए
क्या आप अपना ईमेल पता इलेक्ट्रॉनिक फ्रंटियर फाउंडेशन, लेट्स एनक्रिप्ट प्रोजेक्ट के संस्थापक भागीदार और सर्टबॉट को विकसित करने वाले गैर-लाभकारी संगठन के साथ साझा करने के इच्छुक होंगे? हम आपको EFF और वेब को एन्क्रिप्ट करने, इसके उपयोगकर्ताओं की सुरक्षा और डिजिटल अधिकारों की रक्षा करने के हमारे कार्य के बारे में ईमेल भेजना चाहते हैं। (हाँ नही:एन
एक नया प्रमाणपत्र प्राप्त करना निम्नलिखित चुनौतियों का पालन करना: www.domain.com के लिए http-01 चुनौती सभी बेजोड़ डोमेन के लिए वेबूट पथ /usr/local/www/apache24/data का उपयोग करना। सत्यापन की प्रतीक्षा की जा रही है... चुनौतियों का सफाया करना महत्वपूर्ण नोट: - बधाई हो! आपका प्रमाणपत्र और श्रृंखला /usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem पर सहेजी गई है। आपका प्रमाणपत्र 2017-11-15 को समाप्त हो जाएगा। भविष्य में इस प्रमाणपत्र का नया या संशोधित संस्करण प्राप्त करने के लिए, बस फिर से सर्टिफिकेट चलाएं। अपने प्रमाणपत्रों के *सभी* को गैर-अंतःक्रियात्मक रूप से नवीनीकृत करने के लिए, "सर्टबॉट नवीनीकरण" चलाएँ - आपके खाते के प्रमाण-पत्र आपके Certbot कॉन्फ़िगरेशन निर्देशिका में /usr/local/etc/letsencrypt पर सहेजे गए हैं। अब आपको इस फोल्डर का सुरक्षित बैकअप बनाना चाहिए। इस कॉन्फ़िगरेशन निर्देशिका में सर्टिफिकेट और सर्टबॉट द्वारा प्राप्त निजी कुंजियाँ भी होंगी, इसलिए इस फ़ोल्डर का नियमित बैकअप बनाना आदर्श है। - यदि आप सर्टबॉट को पसंद करते हैं, तो कृपया हमारे काम का समर्थन करने पर विचार करें: ISRG को दान करना / आइए एन्क्रिप्ट करें: https://letsencrypt.org/donate ईएफएफ को दान: https://eff.org/donate-le
9. अपने डोमेन के लिए प्रमाणपत्र प्राप्त करने के बाद, आप दौड़ सकते हैं एलएस कमांड नीचे दिए गए उदाहरण में प्रस्तुत सभी प्रमाणपत्र घटकों (श्रृंखला, निजी कुंजी, प्रमाणपत्र) को सूचीबद्ध करने के लिए।
# ls -al /usr/local/etc/letsencrypt/live/www.yourdomain.com/
10. लेट्स एनक्रिप्ट सर्टिफिकेट को अपनी वेबसाइट में जोड़ने के लिए, अपने डोमेन के लिए अपाचे कॉन्फ़िगरेशन फ़ाइल खोलें और जारी किए गए प्रमाणपत्रों के पथ को दर्शाने के लिए निम्न पंक्तियों को अपडेट करें।
# नैनो /usr/स्थानीय/आदि/apache24/साइट-उपलब्ध/bsd.lan-ssl.conf.
इन TLS प्रमाणपत्र पंक्तियों को जोड़ें:
SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem"
11. अंत में, अपने डोमेन TLS कॉन्फ़िगरेशन फ़ाइल के लिए एक सिमलिंक बनाकर, TLS कॉन्फ़िगरेशन फ़ाइल को सक्षम करें साइट-सक्षम निर्देशिका, संभावित सिंटैक्स त्रुटियों के लिए अपाचे कॉन्फ़िगरेशन की जांच करें और, यदि सिंटैक्स ठीक है, तो नीचे दिए गए आदेश जारी करके अपाचे डेमॉन को पुनरारंभ करें।
# ln -sf /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf /usr/local/etc/apache24/sites-enabled/ # अपाचेक्टल -टी। # सेवा apache24 पुनरारंभ करें।
12. यह जांचने के लिए कि अपाचे सेवा सुन रही है या नहीं HTTPS के बंदरगाह 443, httpd नेटवर्क सॉकेट को सूचीबद्ध करने के लिए निम्न आदेश जारी करें।
# सॉक्सस्टेट -4 | ग्रेप httpd.
13. आप HTTPS प्रोटोकॉल के माध्यम से ब्राउज़र से अपने डोमेन पते पर नेविगेट कर सकते हैं ताकि यह पुष्टि हो सके कि Let’s Encrypt प्रमाणपत्र सफलतापूर्वक लागू हो गए हैं।
https://www.yourdomain.com.
14. कमांड लाइन से जारी किए गए Let's Encrypt प्रमाणपत्र के बारे में अतिरिक्त जानकारी प्राप्त करने के लिए, का उपयोग करें ओपनएसएल निम्नानुसार आदेश।
# opensl s_client - कनेक्ट www.yourdomain.com: 443.
15. आप यह भी सत्यापित कर सकते हैं कि ट्रैफ़िक एन्क्रिप्ट किया गया है या नहीं, इसके द्वारा प्रदान किए गए मान्य प्रमाणपत्र के साथ आइए CA को एन्क्रिप्ट करें मोबाइल डिवाइस से, जैसा कि नीचे दिए गए मोबाइल स्क्रीनशॉट में दिखाया गया है।
बस इतना ही! क्लाइंट अब आपकी वेबसाइट पर सुरक्षित रूप से जा सकते हैं, क्योंकि सर्वर और क्लाइंट के ब्राउज़र के बीच प्रवाहित होने वाला ट्रैफ़िक एन्क्रिप्ट किया गया है। सर्टबॉट उपयोगिता से संबंधित अधिक जटिल कार्यों के लिए निम्नलिखित लिंक पर जाएँ: https://certbot.eff.org/