Бул макалада биз 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 портторундагы туташууларга уруксат берет. Бул порттор туташууларга жабык болсо, кызмат кирүүчү байланыштар үчүн жеткиликсиз болот. Firewall иштеши жөнүндө көбүрөөк маалымат алуу үчүн, биз бул тууралуу макалада талкууладык 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 менен сиз оңой колдонуучулар үчүн ишенимдүү жана коопсуз чөйрөнү түзө аласыз.