यस लेखमा, हामी लिनक्स सर्भरमा Certbot स्थापना र कन्फिगर गर्ने प्रक्रियाको अन्वेषण गर्नेछौं । हामी तपाईंको डोमेनको लागि Let's Encrypt SSL/TLS प्रमाणपत्र कसरी प्राप्त गर्ने भनेर विस्तृत रूपमा व्याख्या गर्नेछौं । हामी यसलाई वेब सर्भर (जस्तै Nginx वा Apache) मा कसरी स्थापना गर्ने र तपाईंको वेब स्रोतसँग निरन्तर सुरक्षित जडान सुनिश्चित गर्न स्वचालित प्रमाणपत्र नवीकरणहरू सेट अप गर्ने भनेर पनि वर्णन गर्नेछौं।
Certbot एक नि:शुल्क, खुला स्रोत उपकरण हो जुन SSL/TLS प्रमाणपत्रहरूको स्वचालित अधिग्रहण र नवीकरणको लागि डिजाइन गरिएको हो । यसले सर्भर र क्लाइन्ट बीचको जडान सुरक्षित गर्न, अनधिकृत पहुँचबाट डेटालाई जोगाउन महत्त्वपूर्ण भूमिका खेल्छ। Certbot ले SSL प्रमाणपत्रको स्थापना र नवीकरण प्रक्रियालाई सरल बनाउँछ। प्रमाणपत्रले सुरक्षा बढाउने मात्र होइन, तर यसले तपाईंको वेब स्रोतमा प्रयोगकर्ताको विश्वास पनि बढाउँछ, जसले गर्दा साइटको प्रतिष्ठा र यसको खोज इन्जिन श्रेणीकरण दुवैमा सुधार हुन्छ।
सर्टबोट स्थापना गर्दै
Certbot पूर्वनिर्धारित रूपमा धेरैजसो वितरणहरूमा समावेश गरिएको छ, त्यसैले यसलाई Debian/Ubuntu प्रणालीहरूमा स्थापना गर्न, तपाईंले प्याकेज सूची मात्र अद्यावधिक गर्न आवश्यक छ:
apt update
त्यसपछि, स्थापना प्रक्रिया सुरु गर्नुहोस्:
apt install certbot
Certbot ले वेब सर्भरको लागि प्रमाणपत्रको सेटअप र कन्फिगरेसनलाई सहज बनाउने प्लगइनहरूलाई समर्थन गर्दछ। यी प्लगइनहरू स्थापना गर्न, सम्बन्धित आदेश प्रयोग गर्नुहोस्:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Red Hat प्रणालीहरू (जस्तै RHEL , CentOS , Fedora ) को लागि स्थापना प्रक्रिया अलि फरक छ। सुरुमा, तपाईंले EPEL भण्डार थप्न आवश्यक छ:
yum install epel-release
त्यसपछि उपकरण स्थापना गर्नुहोस्:
yum install certbot
त्यस्तै गरी, विशिष्ट वेब सर्भरको लागि प्लगइन चयन गर्ने विकल्प छ:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
स्थापना पछि, तपाईं तुरुन्तै प्रमाणपत्र प्राप्त गर्न अगाडि बढ्न सक्नुहुन्छ।
SSL प्रमाणपत्र प्राप्त गर्दै
यस खण्डमा, हामी विशिष्ट वेब सर्भरबाट स्वतन्त्र रूपमा प्रमाणपत्र प्राप्त गर्ने प्रक्रियाको बारेमा छलफल गर्नेछौं, त्यसपछि Nginx र Apache को लागि प्रमाणपत्र स्थापना गर्ने प्रक्रियाको वर्णन गर्नेछौं। यद्यपि, कार्यक्रमको वाक्य रचना र कार्यक्षमता बुझ्नु पहिले आवश्यक छ। यो निम्नानुसार देखिन्छ:
certbot command option -d domain
मुख्य आदेशहरू समावेश छन्:
certbot certonly - प्रमाणपत्र प्राप्त गर्छ तर स्थापना गर्दैन।certbot certificates - यो आदेशले सबै स्थापित प्रमाणपत्रहरूको सूची प्रदर्शन गर्दछ।certbot renew - अवस्थित प्रमाणपत्र विस्तार गर्दछ।certbot revoke - अवस्थित प्रमाणपत्र रद्द गर्दछ।certbot delete - अवस्थित प्रमाणपत्र मेटाउँछ।
सबैभन्दा धेरै प्रयोग हुने विकल्पहरू हुन्:
--nginx - डोमेन प्रमाणीकरणको लागि Nginx कन्फिगरेसन स्क्रिप्टहरू प्रयोग गर्दछ।--apache - डोमेन प्रमाणिकरणको लागि Apache कन्फिगरेसन स्क्रिप्टहरू प्रयोग गर्दछ।-d - प्रमाणपत्र अनुरोध गरिएको डोमेनहरूको सूची।--standalone - डोमेन प्रमाणिकरणको लागि स्ट्यान्डअलोन मोड प्रयोग गर्दछ।--manual - म्यानुअल डोमेन प्रमाणिकरण गर्दछ।
यो सबैभन्दा धेरै प्रयोग हुने आदेश र विकल्पहरूको एउटा उदाहरण मात्र हो। तपाईं मद्दत खण्डमा कार्यक्रम क्षमताहरूको पूर्ण सूचीसँग परिचित हुन सक्नुहुन्छ:
certbot –help
अब हामी प्रमाणपत्र प्राप्त गर्न अगाडि बढ्छौं। उदाहरणको लागि, हामी yourusername.pserver.space जस्तो नि:शुल्क तेस्रो-स्तर डोमेनको लागि भर्चुअल सर्भरको लागि प्रमाणपत्र प्राप्त गर्नेछौं।
पहिले, तपाईंले आदेश प्रविष्ट गर्न आवश्यक छ:
certbot certonly
जवाफमा, उपयोगिताले तपाईंलाई डोमेन स्वामित्व प्रमाणित गर्ने विधि छनौट गर्न सोध्नेछ:
यदि तपाईंसँग कन्फिगर गरिएको वेब सर्भर छैन वा तपाईं अवस्थितमा परिवर्तन गर्न चाहनुहुन्न भने पहिलो विकल्प सुविधाजनक छ। यो विधिले डोमेनमा तपाईंको अधिकार पुष्टि गर्न अस्थायी वेब सर्भर सिर्जना गर्दछ। यो सरल र द्रुत सेटअपको लागि आदर्श हो। यो विधि छनौट गर्दा, पोर्ट ८० लाई निःशुल्क राख्नु महत्त्वपूर्ण छ।
यदि तपाईंसँग पहिले नै वेब सर्भर सञ्चालनमा छ भने दोस्रो विकल्प राम्रो हुन्छ, र तपाईं डोमेनको अधिकार प्रमाणित गर्न यसलाई प्रयोग गर्न चाहनुहुन्छ। Certbot ले तपाईंको सर्भरको फोल्डरमा विशेष फाइलहरू राख्छ, जुन त्यसपछि प्रमाणीकरण केन्द्रद्वारा जाँच गरिन्छ।
हामी पहिलो विकल्प छान्छौं र अर्कोमा क्लिक गर्छौं। यस चरणमा, तपाईंलाई आवश्यक पर्नेछ:
- इमेल ठेगाना प्रविष्ट गर्नुहोस्;
- सेवाका सर्तहरूमा सहमत हुनुहोस्;
- कम्पनी र यसका साझेदारहरूको तर्फबाट इमेलहरू प्राप्त गर्न सहमत वा अस्वीकार गर्नुहोस्;
- प्रमाणपत्र जारी गरिएको डोमेन नाम निर्दिष्ट गर्नुहोस्।
Certbot उपकरणको साथ प्रमाणपत्र जारी गर्ने प्रक्रिया पूरा गरेपछि, यसले जारी गरिएको प्रमाणपत्र र तपाईंको खाताको लागि डेटा भण्डारण गरिएको निर्देशिकाको मार्ग संकेत गर्नेछ:
अब तपाईंले प्राप्त गरेको प्रमाणपत्रलाई आवश्यक सेवामा लिङ्क गर्नु मात्र बाँकी छ।
Nginx वा Apache को लागि प्रमाणपत्र स्थापना गर्दै
यस खण्डले केही आधारभूत सर्तहरू पूरा भएको मान्दछ:
- तपाईंले पहिले नै Nginx वा Apache वेब सर्भर स्थापना र कन्फिगर गर्नुभएको छ। यो तपाईंले प्रमाणपत्र प्राप्त गर्न चाहनुभएको डोमेन नाम मार्फत इन्टरनेटबाट पहुँचयोग्य हुनुपर्छ;
- उपकरण स्थापना गर्दा, तपाईंले उपयुक्त आदेश प्रयोग गरेर Nginx वा Apache को लागि प्लगइन पनि स्थापना गर्नुभयो;
- फायरवालले पोर्ट ८० र ४४३ मा जडान गर्न अनुमति दिन्छ। यदि यी पोर्टहरू जडानहरूको लागि बन्द छन् भने, आगमन जडानहरूको लागि सेवा अनुपलब्ध हुनेछ। फायरवाल सञ्चालनको बारेमा थप विवरणहरूको लागि, हामीले यस लेखमा छलफल गर्यौं लिनक्समा फायरवाल सेटअप गर्दै.
सबै सर्तहरू पूरा भएपछि, तपाईं सिधै प्रमाणपत्र जारी गर्न अगाडि बढ्न सक्नुहुन्छ। हामी उदाहरणको रूपमा Nginx प्रयोग गरेर सर्भरमा SSL प्रमाणपत्र प्राप्त गर्ने प्रक्रियालाई विचार गर्नेछौं। यद्यपि, यदि तपाईं Apache वेब सर्भर प्रयोग गर्दै हुनुहुन्छ भने, प्रक्रिया पूर्ण रूपमा समान छ।
प्रमाणपत्र प्राप्त गर्न, तपाईंले आदेश प्रविष्ट गर्न आवश्यक छ:
certbot --nginx # for Nginx
certbot --apache # for Apache
प्रतिक्रियामा, उपकरणले अनुरोध गर्नेछ: एउटा इमेल ठेगाना, लेट्स इन्क्रिप्ट सेवाको प्रयोगका सर्तहरूमा सहमति, र सेवा र यसका साझेदारहरूको तर्फबाट इमेलहरू पठाउन अनुमति।
त्यस पछि, तपाईंले प्रमाणपत्र जारी गरिएको डोमेन नाम निर्दिष्ट गर्न आवश्यक हुनेछ। Certbot ले Nginx कन्फिगरेसनको लागि server_name फिल्डमा वा Apache को लागि ServerName र ServerAlias मा निर्दिष्ट गरिएको थियो कि भनेर स्वचालित रूपमा डोमेन निर्धारण गर्न सक्छ । यदि यो निर्दिष्ट गरिएको छैन भने, कार्यक्रमले तपाईंलाई सूचित गर्नेछ र तपाईंलाई म्यानुअल रूपमा डोमेन नाम प्रविष्ट गर्न सोध्नेछ। त्यसपछि, उपयोगिताले HTTP बाट HTTPS प्रोटोकलमा अनुरोधहरूको पुनर्निर्देशन सक्षम गर्ने कि नगर्ने भनेर सोध्नेछ। स्वचालित पुनर्निर्देशन सेट अप गर्न, तपाईंले दोस्रो विकल्प छनौट गर्नुपर्छ:
केही समय पछि, Certbot ले तपाईंलाई निर्दिष्ट डोमेनको लागि प्रमाणपत्रको सफल अधिग्रहणको बारेमा जानकारी दिनेछ। यस बिन्दुबाट, सबै आगमन जडानहरू पोर्ट 80 बाट 443 मा रिडिरेक्ट गरिनेछ। उपकरणले निर्देशिकाहरू प्रदर्शन गर्नेछ जहाँ तपाईंले सबै प्रमाणपत्र डेटा र Let's Encrypt खाता विवरणहरू फेला पार्न सक्नुहुन्छ:
सन्देशले प्राप्त प्रमाणपत्रको वैधता अवधि र सबै सक्रिय प्रमाणपत्रहरू व्यवस्थापन गर्न महत्त्वपूर्ण विकल्पहरू पनि निर्दिष्ट गर्नेछ:
- निश्चित रूपमा। यो विकल्प स्वचालित वेब सर्भर कन्फिगरेसन बिना प्रमाणपत्र प्राप्त गर्न वा अद्यावधिक गर्न प्रयोग गरिन्छ। Certbot ले प्रमाणपत्र अनुरोध वा अद्यावधिक मात्र गर्नेछ तर सर्भर कन्फिगरेसनमा कुनै स्वचालित परिवर्तनहरू गर्नेछैन। पहिले, हामीले वेब सर्भरमा बाँधिएको बिना प्रमाणपत्र प्राप्त गर्न यो विकल्प प्रयोग गर्यौं।
- नवीकरण गर्नुहोस् Certbot मार्फत प्राप्त गरिएका र तिनीहरूको वैधता अवधि भित्र रहेका सबै प्रमाणपत्रहरूको स्वचालित नवीकरणको लागि प्रयोग गरिन्छ। कार्यक्रमले सबै प्रमाणपत्रहरू जाँच गर्नेछ, र यदि तिनीहरूमध्ये कुनै पनि ३० दिन वा कम भित्र म्याद सकियो भने, यो स्वचालित रूपमा नवीकरण हुनेछ।
निर्देशनहरूमा अर्को, हामी प्रत्येक तीन महिनामा प्रयोगकर्ता हस्तक्षेप बिना प्रमाणपत्रहरूको स्वचालित नवीकरण कसरी सेट अप गर्ने भनेर छलफल गर्नेछौं।
Certbot मा स्वचालित प्रमाणपत्र नवीकरण
डेबियन/उबुन्टुको लागि
यी अपरेटिङ सिस्टमहरू प्रयोग गर्दा, Certbot ले स्थापित प्रमाणपत्रहरूको स्वचालित नवीकरणको लागि कार्य सूचीमा स्वचालित रूपमा स्क्रिप्ट थप्छ। तपाईं निम्न आदेशको साथ स्क्रिप्टको कार्यक्षमता जाँच गर्न सक्नुहुन्छ:
systemctl status certbot.timer
प्रतिक्रियाले सेवाको स्थिति, साथै कन्फिगरेसन फाइल भएको डाइरेक्टरी प्रदर्शन गर्नेछ। तपाईं यसलाई कुनै पनि पाठ सम्पादक प्रयोग गरेर खोल्न सक्नुहुन्छ। यदि तपाईंलाई Linux मा पाठ सम्पादकहरूसँग अनुभव छैन भने, हामी तपाईंलाई सबैभन्दा लोकप्रिय समाधानहरूको हाम्रो सिंहावलोकनसँग परिचित हुन सिफारिस गर्छौं । यस अवस्थामा, हामी nano प्रयोग गर्नेछौं:
nano /lib/systemd/system/certbot.timer
सबै महत्त्वपूर्ण प्यारामिटरहरू हाइलाइट गरिएका छन्:
- तालिकाले सेवा दिनको दुई पटक ००:०० र १२:०० बजे सञ्चालन हुने संकेत गर्छ;
- दोस्रो मानले टाइमरको सुरुवातमा थपिने सेकेन्डमा अनियमित ढिलाइलाई जनाउँछ। यस अवस्थामा, यो ४३,२०० सेकेन्ड (१२ घण्टा) हो, जसले प्रक्षेपणलाई अझ अनियमित बनाउँछ र भार फैलाउँछ;
- यो प्यारामिटरले सुनिश्चित गर्दछ कि यदि टाइमर प्रणाली बन्द हुँदा कार्यान्वयन गरिएको थियो भने, यो स्टार्टअपमा तुरुन्तै सक्रिय हुनेछ।
तपाईंले निम्न आदेश प्रयोग गरेर प्रमाणपत्र नवीकरणको जबरजस्ती जाँच पनि चलाउन सक्नुहुन्छ:
certbot renew --dry-run
यो आदेश प्रयोग गरेर, प्रमाणपत्रहरू अद्यावधिक हुनेछैनन्। बरु, उपकरणले यसको म्याद सकिएपछि प्रमाणपत्र प्राप्त गर्ने जस्तै कार्यहरू गर्नेछ। यस तरिकाले, तपाईंले स्वचालित नवीकरण सम्बन्धी सेवाको कार्यक्षमता सुनिश्चित गर्न सक्नुहुन्छ।
CentOS, Fedora, र अन्यका लागि
Red Hat परिवार प्रणालीहरूमा स्वचालित अद्यावधिकहरू सक्षम गर्ने प्रक्रिया थोरै फरक हुन्छ। Debian/Ubuntu भन्दा फरक, CentOS र अन्य प्रणालीहरूको लागि, तपाईंले म्यानुअल रूपमा शेड्युलरमा कार्य थप्नु पर्छ। यसको लागि, हामी क्रोन उपकरण प्रयोग गर्नेछौं:
crontab -e
त्यसपछि, खुल्ने फाइलमा, निम्न लाइन थप्नुहोस्:
0 12 * * * /usr/bin/certbot renew --quiet
आदेशको मुख्य तर्कहरू तोडौं:
- कार्यान्वयन समय। यस अवस्थामा, आदेश स्वचालित रूपमा हरेक दिन १२:०० बजे चल्नेछ;
- Certbot प्रयोग गरेर SSL/TLS प्रमाणपत्रहरू नवीकरण गर्ने आदेश;
- यो --शान्त झण्डाले आउटपुटलाई दबाउँछ, जसले गर्दा प्रक्रियालाई अझ लुकेको र प्रणाली लग वा प्रदर्शनमा कम हस्तक्षेपकारी बनाउँछ।
आदेश थपेपछि, तपाईंले फाइलमा गरिएका परिवर्तनहरू बचत गर्नुपर्नेछ।
डेबियन/उबुन्टु जस्तै, तपाईंले प्रमाणपत्र नवीकरणको जबरजस्ती जाँच पनि सुरु गर्न सक्नुहुन्छ:
certbot renew --dry-run
आदेशको सफल कार्यान्वयनको परिणाम निम्नानुसार देखिन्छ:
निष्कर्ष
हामीले लिनक्स सर्भरमा Certbot स्थापना र कन्फिगर गर्ने व्यापक प्रक्रियाको अन्वेषण गरेका छौं। प्रदान गरिएका निर्देशनहरू पालना गरेर, तपाईंले Let's Encrypt बाट SSL/TLS प्रमाणपत्र सफलतापूर्वक प्राप्त गर्न सक्नुहुन्छ, यसलाई आफ्नो वेब सर्भरमा स्थापना गर्न सक्नुहुन्छ, र निरन्तर सुरक्षा र तपाईंको वेब स्रोतमा बढ्दो विश्वास सुनिश्चित गर्न स्वचालित नवीकरण कन्फिगर गर्न सक्नुहुन्छ। Certbot को साथ, तपाईं सजिलैसँग प्रयोगकर्ताहरूको लागि भरपर्दो र सुरक्षित वातावरण सिर्जना गर्न सक्नुहुन्छ।