Այս հոդվածում մենք կուսումնասիրենք տեղադրման և կազմաձևման գործընթացը Certbot Linux սերվերի վրա: Մենք մանրամասն կբացատրենք ինչպես ստանալ Let's Encrypt SSL/TLS վկայական ձեր տիրույթի համար: Մենք նաև կնկարագրենք, թե ինչպես տեղադրել այն վեբ սերվերի վրա (օրինակ՝ Nginx կամ Apache) և կարգավորել վկայագրի ավտոմատ թարմացումները՝ ապահովելու շարունակական անվտանգ կապ ձեր վեբ ռեսուրսի հետ:
Certbot անվճար, բաց կոդով գործիք է, որը նախատեսված է ավտոմատ ձեռքբերման և թարմացման համար SSL/TLS վկայագրեր. Այն վճռորոշ դեր է խաղում սերվերի և հաճախորդի միջև կապի ապահովման գործում՝ պաշտպանելով տվյալները չարտոնված մուտքից: Certbot-ը պարզեցնում է SSL վկայագրի տեղադրման և նորացման գործընթացը: Վկայագիրը ոչ միայն ուժեղացնում է անվտանգությունը, այլ նաև բարձրացնում է օգտատերերի վստահությունը ձեր վեբ ռեսուրսի նկատմամբ՝ դրանով իսկ բարելավելով և՛ կայքի հեղինակությունը, և՛ նրա որոնման համակարգի վարկանիշը:
Certbot-ի տեղադրում
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
Ի պատասխան՝ կոմունալը ձեզ կխնդրի ընտրել տիրույթի սեփականության հաստատման մեթոդ.
Առաջին տարբերակը հարմար է, եթե դուք չունեք կազմաձևված վեբ սերվեր կամ չեք ցանկանում փոփոխություններ կատարել գոյություն ունեցողի մեջ: Այս մեթոդը ստեղծում է ժամանակավոր վեբ սերվեր՝ տիրույթի նկատմամբ ձեր իրավունքը հաստատելու համար: Այն իդեալական է պարզ և արագ տեղադրման համար: Այս մեթոդն ընտրելիս կարևոր է 80 նավահանգիստն անվճար պահել:
Երկրորդ տարբերակը նախընտրելի է, եթե դուք արդեն ունեք գործող վեբ սերվեր, և ցանկանում եք այն օգտագործել տիրույթի իրավունքը ստուգելու համար։ Certbot-ը տեղադրում է հատուկ ֆայլեր ձեր սերվերի թղթապանակում, որոնք այնուհետև ստուգվում են հավաստագրման կենտրոնի կողմից:
Մենք ընտրում ենք առաջին տարբերակը և սեղմում ենք հաջորդը: Այս փուլում ձեզ անհրաժեշտ կլինի.
- Մուտքագրեք էլփոստի հասցե;
- Համաձայնեք ծառայության պայմաններին;
- Համաձայնել կամ մերժել էլեկտրոնային նամակներ ստանալ ընկերության և նրա գործընկերների անունից.
- Նշեք դոմենի անունը, որի համար տրվում է վկայագիրը:
Certbot գործիքով վկայականի տրամադրման գործընթացը ավարտելուց հետո այն ցույց կտա ուղին դեպի այն գրացուցակը, որտեղ պահվում են տրված վկայականը և ձեր հաշվի տվյալները.
Մնում է, որ ստացված վկայականը կապեք պահանջվող ծառայության հետ։
Nginx-ի կամ Apache-ի համար վկայագրի տեղադրում
Այս բաժինը ենթադրում է, որ որոշակի հիմնարար պայմաններ են պահպանվել.
- Դուք արդեն տեղադրել և կարգավորել եք վեբ սերվեր՝ կա՛մ Nginx, կա՛մ Apache: Այն պետք է հասանելի լինի ինտերնետից այն դոմենի անվան միջոցով, որի համար դուք մտադիր եք ստանալ վկայականը.
- Գործիքի տեղադրման ընթացքում դուք նաև տեղադրել եք հավելված Nginx-ի կամ Apache-ի համար՝ օգտագործելով համապատասխան հրամանը.
- Firewall-ը թույլ է տալիս միացումներ 80 և 443 նավահանգիստներին: Եթե այս նավահանգիստները փակ են միացումների համար, ծառայությունն անհասանելի կլինի մուտքային կապերի համար: Firewall-ի շահագործման վերաբերյալ լրացուցիչ մանրամասների համար մենք դա քննարկեցինք հոդվածում Linux-ում firewall-ի տեղադրում.
Բոլոր պայմանները բավարարելուց հետո կարող եք ուղղակիորեն անցնել վկայականի տրամադրմանը: Մենք որպես օրինակ կդիտարկենք Nginx-ի միջոցով սերվերի վրա SSL վկայագիր ստանալու գործընթացը: Այնուամենայնիվ, եթե դուք օգտագործում եք Apache վեբ սերվեր, գործընթացը լիովին նույնական է:
Վկայական ստանալու համար անհրաժեշտ է մուտքագրել հրամանը.
certbot --nginx # for Nginx
certbot --apache # for Apache
Ի պատասխան՝ գործիքը կպահանջի՝ էլփոստի հասցե, համաձայնություն Let's Encrypt ծառայության օգտագործման պայմաններին և ծառայության և նրա գործընկերների անունից նամակներ ուղարկելու թույլտվություն:
Դրանից հետո դուք պետք է նշեք դոմենի անունը, որի համար տրվում է վկայագիրը: Certbot-ը կարող է ավտոմատ կերպով որոշել տիրույթը, եթե այն նշված է server_name դաշտի համար Nginx կոնֆիգուրացիա կամ ServerName և ServerAlias- ը համար Apache. Եթե այն նշված չէ, ծրագիրը կտեղեկացնի ձեզ և կխնդրի ձեռքով մուտքագրել տիրույթի անունը։ Այնուհետև կոմունալը կհարցնի, թե արդյոք միացնե՞լ հարցումների վերահղումը HTTP-ից դեպի HTTPS արձանագրություն: Ավտոմատ վերահղումը կարգավորելու համար դուք պետք է ընտրեք երկրորդ տարբերակը.
Որոշ ժամանակ անց Certbot-ը ձեզ կտեղեկացնի նշված տիրույթի համար վկայագրի հաջող ձեռքբերման մասին: Այս պահից սկսած բոլոր մուտքային կապերը կվերահղվեն 80-րդ նավահանգստից դեպի 443: Գործիքը կցուցադրի դիրեկտորիաները, որոնցում կարող եք գտնել բոլոր վկայականի տվյալները և Let's Encrypt հաշվի մանրամասները.
Հաղորդագրության մեջ նշվում է նաև ստացված վկայագրի վավերականության ժամկետը և բոլոր ակտիվ վկայագրերի կառավարման կարևոր տարբերակները.
- անշուշտ. Այս տարբերակն օգտագործվում է առանց վեբ սերվերի ավտոմատ կազմաձևման վկայագիրը ստանալու կամ թարմացնելու համար: Certbot-ը միայն կպահանջի կամ կթարմացնի վկայագիրը, բայց ոչ մի ավտոմատ փոփոխություն չի կատարի սերվերի կազմաձևում: Նախկինում մենք օգտագործում էինք այս տարբերակը՝ առանց վեբ սերվերի հետ կապվելու վկայական ստանալու համար:
- վերականգնել օգտագործվում է Certbot-ի միջոցով ստացված և դրանց վավերականության ժամկետում գտնվող բոլոր վկայագրերի ավտոմատ թարմացման համար: Ծրագիրը կստուգի բոլոր վկայագրերը, և եթե դրանցից որևէ մեկի ժամկետը լրանա 30 օրվա ընթացքում կամ ավելի քիչ, այն ավտոմատ կերպով կթարմացվի:
Հաջորդ հրահանգներում մենք կքննարկենք, թե ինչպես կարելի է կարգավորել վկայագրերի ավտոմատ թարմացումը՝ առանց օգտագործողի միջամտության յուրաքանչյուր երեք ամիսը մեկ:
Վկայագրի ավտոմատ նորացում Certbot-ում
Debian/Ubuntu-ի համար
Այս օպերացիոն համակարգերն օգտագործելիս Certbot-ը ավտոմատ կերպով սկրիպտ է ավելացնում առաջադրանքների ցանկում՝ տեղադրված վկայականների ավտոմատ թարմացման համար: Դուք կարող եք ստուգել սցենարի ֆունկցիոնալությունը հետևյալ հրամանով.
systemctl status certbot.timer
Պատասխանը կցուցադրի ծառայության կարգավիճակը, ինչպես նաև կազմաձևման ֆայլը պարունակող գրացուցակը: Դուք կարող եք բացել սա՝ օգտագործելով ցանկացած տեքստային խմբագրիչ: Եթե դուք փորձառու չեք Linux-ում տեքստային խմբագրիչների հետ, խորհուրդ ենք տալիս ծանոթանալ մեր ակնարկը ամենատարածված լուծումներից: Այս դեպքում մենք կօգտագործենք նանո.
nano /lib/systemd/system/certbot.timer
Նշված են բոլոր կարևոր պարամետրերը.
- Գրաֆիկում նշված է, որ ծառայությունը կգործի օրական երկու անգամ՝ ժամը 00:00 և 12:00;
- Երկրորդ արժեքը ցույց է տալիս պատահական ուշացում վայրկյանների ընթացքում, որը կավելացվի ժմչփի մեկնարկին: Այս դեպքում դա 43,200 վայրկյան է (12 ժամ), ինչը մեկնարկը դարձնում է ավելի պատահական և տարածում բեռը.
- Այս պարամետրը ապահովում է, որ եթե ժմչփը պետք է գործարկվեր համակարգի անջատման ժամանակ, ապա այն կակտիվանա անմիջապես գործարկումից հետո:
Կարող եք նաև կատարել վկայականի նորացման հարկադիր ստուգում հրամանով.
certbot renew --dry-run
Օգտագործելով այս հրամանը, վկայականները չեն թարմացվի: Փոխարենը, գործիքը կկատարի գործողություններ, որոնք նման են վկայական ստանալու ժամկետի ավարտին: Այսպիսով, դուք կարող եք ապահովել ծառայության ֆունկցիոնալությունը՝ կապված ավտոմատ նորացման հետ:
CentOS-ի, Fedora-ի և այլոց համար
Red Hat ընտանիքի համակարգերում ավտոմատ թարմացումները միացնելու գործընթացը մի փոքր տարբերվում է: Ի տարբերություն Debian/Ubuntu-ի՝ CentOS-ի և այլ համակարգերի համար, դուք պետք է ձեռքով առաջադրանք ավելացնեք ժամանակացույցին: Դրա համար մենք կօգտագործենք cron գործիք:
crontab -e
Այնուհետև բացվող ֆայլում ավելացրեք հետևյալ տողը.
0 12 * * * /usr/bin/certbot renew --quiet
Եկեք բաժանենք հրամանի հիմնական փաստարկները.
- Կատարման ժամանակը. Այս դեպքում հրամանը ավտոմատ կերպով կաշխատի ամեն օր ժամը 12:00-ին;
- Certbot-ի միջոցով SSL/TLS վկայականները թարմացնելու հրամանը.
- -- հանգիստ դրոշը ճնշում է ելքը՝ գործընթացը դարձնելով ավելի թաքնված և ավելի քիչ ներխուժելով համակարգի տեղեկամատյաններում կամ ցուցադրման մեջ:
Հրամանը ավելացնելուց հետո անհրաժեշտ է պահպանել փոփոխությունները ֆայլում։
Ինչպես Debian/Ubuntu-ի դեպքում, դուք կարող եք նաև նախաձեռնել վկայագրի նորացման հարկադիր ստուգում.
certbot renew --dry-run
Հրամանի հաջող կատարման արդյունքը հետևյալն է.
Եզրափակում
Մենք ուսումնասիրել ենք Linux սերվերի վրա Certbot-ի տեղադրման և կազմաձևման համապարփակ գործընթացը: Հետևելով տրված հրահանգներին՝ դուք կարող եք հաջողությամբ ձեռք բերել SSL/TLS վկայագիր Let's Encrypt-ից, տեղադրել այն ձեր վեբ սերվերում և կարգավորել ավտոմատ թարմացումը՝ ապահովելու շարունակական պաշտպանություն և վստահություն ձեր վեբ ռեսուրսի նկատմամբ: Certbot-ի միջոցով դուք հեշտությամբ կարող եք ստեղծել հուսալի և անվտանգ միջավայր օգտատերերի համար: