Бұл мақалада біз 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 жүйесінде брандмауэр орнату.
Барлық шарттар орындалғаннан кейін сіз тікелей сертификатты беруге кірісе аласыз. Мысал ретінде Nginx көмегімен серверде SSL сертификатын алу процесін қарастырамыз. Дегенмен, егер сіз Apache веб-серверін пайдалансаңыз, процесс толығымен бірдей.
Сертификат алу үшін пәрменді енгізу керек:
certbot --nginx # for Nginx
certbot --apache # for Apache
Жауап ретінде құрал мыналарды сұрайды: электрондық пошта мекенжайы, Let's Encrypt қызметін пайдалану шарттарына келісім және қызмет пен оның серіктестері атынан электрондық хаттарды жіберуге рұқсат.
Осыдан кейін, сертификат берілген домен атауын көрсету қажет болады. Certbot доменді Nginx конфигурациясы үшін server_name өрісінде немесе Apache үшін ServerName және ServerAlias өрісінде көрсетілген болса, автоматты түрде анықтай алады . Егер ол көрсетілмесе, бағдарлама сізге хабарлайды және домен атауын қолмен енгізуді сұрайды. Содан кейін утилита 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 секунд (XNUMX сағат), бұл ұшыруды кездейсоқ етеді және жүктемені таратады;
- Бұл параметр жүйені өшіру кезінде таймер орындалуы керек болса, ол іске қосылған кезде бірден іске қосылатынын қамтамасыз етеді.
Сондай-ақ, келесі пәрмен арқылы сертификатты жаңартуды мәжбүрлі тексеруді орындауға болады:
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 сертификаттарын жаңарту пәрмені;
- The --тыныш жалауша шығаруды басады, бұл процесті жасырын етеді және жүйе журналдарында немесе дисплейде аз интрузивті етеді.
Пәрменді қосқаннан кейін файлдағы өзгерістерді сақтау керек.
Debian/Ubuntu сияқты, сіз сертификаттарды жаңартуды мәжбүрлі тексеруді де бастай аласыз:
certbot renew --dry-run
Команданың сәтті орындалуының нәтижесі келесідей көрінеді:
қорытынды
Біз Linux серверінде Certbot орнату және конфигурациялаудың жан-жақты процесін зерттедік. Берілген нұсқауларды орындау арқылы сіз Let's Encrypt жүйесінен SSL/TLS сертификатын сәтті алуға, оны веб-серверіңізге орнатуға және веб-ресурсыңызға үздіксіз қорғауды және сенімділікті арттыруды қамтамасыз ету үшін автоматты жаңартуды конфигурациялауға болады. Certbot көмегімен сіз пайдаланушылар үшін сенімді және қауіпсіз ортаны оңай жасай аласыз.