Дар ин мақола, мо раванди насб ва танзими 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 насб кардаед;
- Сипар ба пайвастшавӣ дар портҳои 80 ва 443 иҷозат медиҳад. Агар ин портҳо барои пайвастшавӣ баста бошанд, хидмат барои пайвастҳои воридотӣ дастнорас хоҳад буд. Барои тафсилоти бештар дар бораи амалиёти брандмауэр, мо инро дар мақолаи дар бораи он баррасӣ кардем насб кардани девор дар Linux.
Пас аз қонеъ кардани ҳама шартҳо, шумо метавонед мустақиман ба додани сертификат гузаред. Мо раванди ба даст овардани сертификати SSL дар сервер бо истифода аз Nginx ҳамчун намуна баррасӣ хоҳем кард. Аммо, агар шумо веб-сервери Apache-ро истифода баред, раванд комилан якхела аст.
Барои гирифтани сертификат, шумо бояд фармонро ворид кунед:
certbot --nginx # for Nginx
certbot --apache # for Apache
Дар посух, асбоб дархост хоҳад кард: суроғаи почтаи электронӣ, розигӣ ба шартҳои истифодаи хидмати Let's Encrypt ва иҷозат барои фиристодани мактубҳо аз номи хидмат ва шарикони он.
Пас аз ин, шумо бояд номи доменеро, ки барои он сертификат дода шудааст, муайян кунед. Certbot метавонад доменро ба таври худкор муайян кунад, агар он дар майдони server_name барои конфигуратсияи Nginx ё ServerName ва ServerAlias барои Apache муайян шуда бошад . Агар он муайян нашуда бошад, барнома ба шумо хабар медиҳад ва аз шумо хоҳиш мекунад, ки номи доменро дастӣ ворид кунед. Сипас, утилита аз шумо мепурсад, ки оё равонакунии дархостҳоро аз протоколи HTTP ба HTTPS фаъол кардан мумкин аст. Барои танзим кардани равонакунии худкор, шумо бояд варианти дуюмро интихоб кунед:
Пас аз чанд вақт, Certbot ба шумо дар бораи бомуваффақият гирифтани сертификат барои домени муайян хабар медиҳад. Аз ин лаҳза, ҳама пайвастҳои воридотӣ аз бандари 80 ба 443 равона карда мешаванд. Восита директорияҳоеро намоиш медиҳад, ки дар он шумо тамоми маълумоти сертификатсия ва тафсилоти ҳисоби Биё рамзкунониро пайдо карда метавонед:
Дар паём инчунин мӯҳлати эътибори сертификати гирифташуда ва имконоти муҳими идоракунии ҳамаи сертификатҳои фаъол муайян карда мешавад:
- бешубҳа. Ин хосият барои гирифтан ё навсозии сертификат бе конфигуратсияи автоматии сервери веб истифода мешавад. Certbot танҳо сертификатро дархост мекунад ё навсозӣ мекунад, аммо ба конфигуратсияи сервер тағироти худкор ворид намекунад. Қаблан мо ин хосиятро барои гирифтани шаҳодатнома бидуни пайвастшавӣ ба сервери веб истифода мебурдем.
- нав кардан барои тамдиди худкори ҳамаи сертификатҳое, ки тавассути Certbot гирифта шудаанд ва дар давоми мӯҳлати эътибори онҳо мебошанд, истифода мешавад. Барнома ҳамаи сертификатҳоро тафтиш мекунад ва агар яке аз онҳо дар давоми 30 рӯз ё камтар аз он ба охир расад, он ба таври худкор тамдид карда мешавад.
Дар оянда дар дастурҳо мо муҳокима хоҳем кард, ки чӣ гуна навсозии автоматии сертификатҳоро бидуни дахолати корбар ҳар се моҳ танзим кунем.
Навсозии худкори сертификат дар Certbot
Барои Debian/Ubuntu
Ҳангоми истифодаи ин системаҳои оператсионӣ, Certbot ба таври худкор скриптро ба рӯйхати вазифаҳо барои навсозии автоматии сертификатҳои насбшуда илова мекунад. Шумо метавонед функсияи скриптро бо фармони зерин тафтиш кунед:
systemctl status certbot.timer
Дар посух вазъи хидмат, инчунин феҳристе, ки файли танзимотро дар бар мегирад, нишон дода мешавад. Шумо метавонед инро бо истифода аз ҳама гуна муҳаррири матн кушоед. Агар шумо бо муҳаррирони матн дар Linux таҷриба надошта бошед, мо тавсия медиҳем, ки бо шарҳи мо дар бораи маъмултарин роҳҳои ҳал шинос шавед. Дар ин ҳолат, мо аз nano истифода хоҳем бурд:
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 ҳар рӯз иҷро мешавад;
- Фармон барои нав кардани сертификатҳои SSL/TLS бо истифода аз Certbot;
- Дар -- ором парчам баромадро бозмедорад ва ин равандро дар гузоришҳо ё намоиши система пинҳонтар ва камтар дахолат мекунад.
Пас аз илова кардани фармон, шумо бояд тағиротро дар файл захира кунед.
Ба монанди Debian/Ubuntu, шумо инчунин метавонед санҷиши маҷбурии тамдиди сертификатҳоро оғоз кунед:
certbot renew --dry-run
Натиҷаи иҷрои бомуваффақияти фармон чунин аст:
хулоса
Мо раванди ҳамаҷонибаи насб ва конфигуратсияи Certbot-ро дар сервери Linux омӯхтаем. Бо риояи дастурҳои пешниҳодшуда, шумо метавонед бомуваффақият сертификати SSL/TLS-ро аз Let's Encrypt ба даст оред, онро дар сервери веби худ насб кунед ва таҷдиди худкорро танзим кунед, то ҳифзи пайваста ва зиёд шудани эътимод ба манбаи веби худро таъмин кунад. Бо Certbot, шумо метавонед ба осонӣ барои корбарон муҳити боэътимод ва бехатар эҷод кунед.