База ведаў Простая інструкцыя па працы з сэрвісам Профітсервер
галоўны База ведаў Certbot: усталяванне сертыфіката Let's Encrypt

Certbot: усталяванне сертыфіката Let's Encrypt


У гэтым артыкуле мы разгледзім працэс усталёўкі і налады 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, Мяккая фетравы капялюш) трохі адрозніваецца. Першапачаткова вам трэба дадаць рэпазітар 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
Раздзел даведкі інструмента Certbot

Цяпер прыступаем да атрымання сертыфіката. У якасці прыкладу мы атрымаем сертыфікат для a віртуальныя серверы для бясплатнага дамена трэцяга ўзроўню, напрыклад, yourusername.pserver.space

Спачатку трэба ўвесці каманду:

certbot certonly

У адказ утыліта папросіць вас выбраць спосаб праверкі права ўласнасці на дамен:

Як атрымаць сертыфікат Certbot SSL

Першы варыянт зручны, калі ў вас няма настроенага вэб-сервера або вы не хочаце ўносіць змены ў існуючы. Гэты метад стварае часовы вэб-сервер для пацверджання вашага права на дамен. Ён ідэальна падыходзіць для простай і хуткай налады. Пры выбары гэтага метаду важна, каб порт 80 быў свабодным.

Другі варыянт пераважней, калі ў вас ужо працуе вэб-сервер, і вы хочаце выкарыстоўваць яго для праверкі права на дамен. Certbot змяшчае спецыяльныя файлы ў тэчку на вашым серверы, якія потым правяраюцца цэнтрам сертыфікацыі.

Выбіраем першы варыянт і націскаем наступны. На гэтым этапе вам спатрэбіцца:

  1. Увядзіце адрас электроннай пошты;
  2. Пагадзіцца з умовамі абслугоўвання;
  3. Пагадзіцца або адмовіцца ад атрымання лістоў ад імя кампаніі і яе партнёраў;
  4. Пакажыце даменнае імя, для якога выдадзены сертыфікат.
Дадзеныя для атрымання сертыфіката SSL

Пасля завяршэння працэсу выдачы сертыфіката з дапамогай інструмента Certbot ён пакажа шлях да каталога, дзе захоўваюцца выдадзены сертыфікат і даныя вашага ўліковага запісу:

Дадзеныя аб атрыманым сертыфікаце SSL

Вам застаецца толькі прывязаць атрыманы сертыфікат да неабходнай паслугі.

Ўстаноўка сертыфіката для Nginx або Apache

У гэтым раздзеле мяркуецца, што выкананы некаторыя асноўныя ўмовы:

  1. Вы ўжо ўсталявалі і наладзілі вэб-сервер, Nginx або Apache. Ён павінен быць даступны з Інтэрнэту праз даменнае імя, для якога вы збіраецеся атрымаць сертыфікат;
  2. Падчас усталёўкі інструмента вы таксама ўсталявалі плагін для Nginx або Apache з дапамогай адпаведнай каманды;
  3. Брандмаўэр дазваляе падключацца да партоў 80 і 443. Калі гэтыя парты зачыненыя для падключэнняў, служба будзе недаступная для ўваходных падключэнняў. Больш падрабязную інфармацыю аб працы брандмаўэра мы абмяркоўвалі ў артыкуле налада брандмаўэра ў Linux.

Калі ўсе ўмовы выкананы, можна прыступаць непасрэдна да афармлення сертыфіката. Працэс атрымання SSL-сертыфіката на серверы мы разгледзім на прыкладзе Nginx. Аднак, калі вы выкарыстоўваеце вэб-сервер Apache, працэс цалкам ідэнтычны.

Каб атрымаць сертыфікат, неабходна ўвесці каманду:

certbot --nginx # for Nginx
certbot --apache # for Apache

У адказ інструмент запытае: адрас электроннай пошты, згоду з умовамі выкарыстання сэрвісу Let's Encrypt і дазвол на адпраўку лістоў ад імя сэрвісу і яго партнёраў.

Атрыманне сертыфіката SSL для Nginx і Apache

Пасля гэтага вам трэба будзе ўказаць даменнае імя, для якога выдадзены сертыфікат. Certbot можа аўтаматычна вызначыць дамен, калі ён быў указаны ў server_name поле для Nginx канфігурацыя або ServerName і ServerAlias для Апач. Калі яно не пазначана, праграма паведаміць пра гэта і папросіць увесці даменнае імя ўручную. Затым утыліта спытае, ці варта ўключыць перанакіраванне запытаў з пратаколу HTTP на пратакол HTTPS. Каб наладзіць аўтаматычную перанакіраванне, трэба выбраць другі варыянт:

Перанакіраванне запытаў з HTTP на HTTPS

Праз некаторы час Certbot паведаміць вам аб паспяховым атрыманні сертыфіката для названага дамена. З гэтага моманту ўсе ўваходныя злучэнні будуць перанакіроўвацца з порта 80 на 443. Інструмент адлюструе каталогі, у якіх вы можаце знайсці ўсе дадзеныя сертыфікатаў і дэталі ўліковага запісу Let's Encrypt:

Паспяховы выпуск сертыфіката Certbot

У паведамленні таксама будзе паказаны тэрмін дзеяння атрыманага сертыфіката і важныя параметры для кіравання ўсімі актыўнымі сертыфікатамі:

  1. безумоўна. Гэты параметр выкарыстоўваецца для атрымання або абнаўлення сертыфіката без аўтаматычнай канфігурацыі вэб-сервера. Certbot будзе толькі запытваць або абнаўляць сертыфікат, але не будзе ўносіць аўтаматычныя змены ў канфігурацыю сервера. Раней мы выкарыстоўвалі гэты варыянт для атрымання сертыфіката без прывязкі да вэб-сервера.
  2. аднавіць выкарыстоўваецца для аўтаматычнага абнаўлення ўсіх сертыфікатаў, якія былі атрыманы праз Certbot і знаходзяцца ў межах тэрміну дзеяння. Праграма праверыць усе сертыфікаты, і калі тэрмін дзеяння любога з іх скончыцца на працягу 30 дзён ці менш, ён будзе аўтаматычна падоўжаны.

Далей у інструкцыі мы разгледзім, як наладзіць аўтаматычнае абнаўленне сертыфікатаў без умяшання карыстальніка кожныя тры месяцы.

Аўтаматычнае абнаўленне сертыфіката ў Certbot

Для Debian/Ubuntu

Пры выкарыстанні гэтых аперацыйных сістэм Certbot аўтаматычна дадае ў спіс задач скрыпт для аўтаматычнага абнаўлення ўсталяваных сертыфікатаў. Вы можаце праверыць функцыянальнасць скрыпту з дапамогай наступнай каманды:

systemctl status certbot.timer
Праверка стану службы certbot.timer

Адказ будзе адлюстроўваць стан службы, а таксама каталог, які змяшчае файл канфігурацыі. Вы можаце адкрыць гэта з дапамогай любога тэкставага рэдактара. Калі вы не маеце вопыту працы з тэкставымі рэдактарамі ў Linux, раім азнаёміцца ​​з імі наш агляд з самых папулярных рашэнняў. У гэтым выпадку мы будзем выкарыстоўваць нана:

nano /lib/systemd/system/certbot.timer
Прагляд канфігурацыі certbot.timer

Выдзелены ўсе важныя параметры:

  1. У раскладзе пазначана, што паслуга будзе працаваць два разы на дзень у 00:00 і 12:00;
  2. Другое значэнне паказвае выпадковую затрымку ў секундах, якая будзе дададзена да запуску таймера. У дадзеным выпадку гэта 43,200 12 секунд (XNUMX гадзін), што робіць запуск больш выпадковым і размяркоўвае нагрузку;
  3. Гэты параметр гарантуе, што калі таймер павінен быў быць выкананы падчас адключэння сістэмы, ён будзе актываваны адразу пасля запуску.

Вы таксама можаце запусціць прымусовую праверку абнаўлення сертыфіката з дапамогай каманды:

certbot renew --dry-run

Пры выкарыстанні гэтай каманды сертыфікаты не будуць абнаўляцца. Замест гэтага інструмент будзе выконваць дзеянні, падобныя на атрыманне сертыфіката пасля заканчэння яго дзеяння. Такім чынам, вы можаце забяспечыць функцыянальнасць сэрвісу ў частцы аўтаматычнага падаўжэння.

Для CentOS, Fedora і іншых

Працэс уключэння аўтаматычнага абнаўлення ў сістэмах сямейства Red Hat нязначна адрозніваецца. У адрозненне ад Debian/Ubuntu, для CentOS і іншых сістэм вам трэба ўручную дадаць задачу ў планавальнік. Для гэтага мы будзем выкарыстоўваць крон інструмент:

crontab -e

Затым у які адкрыўся файл дадайце наступны радок:

0 12 * * * /usr/bin/certbot renew --quiet

Разбяром асноўныя аргументы каманды:

  1. Час выканання. У гэтым выпадку каманда будзе аўтаматычна запускацца кожны дзень у 12:00;
  2. Каманда для абнаўлення сертыфікатаў SSL/TLS з дапамогай Certbot;
  3. ,en -- ціха сцяг душыць вывад, робячы працэс больш схаваным і менш дакучлівым у сістэмных журналах або на дысплеі.

Пасля дадання каманды неабходна захаваць змены ў файле.

Як і ў выпадку з Debian/Ubuntu, вы таксама можаце ініцыяваць прымусовую праверку абнаўлення сертыфіката:

certbot renew --dry-run

Вынік паспяховага выканання каманды выглядае так:

Вынік паспяховай праверкі каманды Renew

Conclusion

Мы вывучылі поўны працэс усталявання і наладкі Certbot на серверы Linux. Выконваючы прыведзеныя інструкцыі, вы можаце паспяхова атрымаць сертыфікат SSL/TLS ад Let's Encrypt, усталяваць яго на сваім вэб-серверы і наладзіць аўтаматычнае абнаўленне для забеспячэння пастаяннай абароны і павышэння даверу да вашага вэб-рэсурсу. З Certbot вы можаце лёгка стварыць надзейнае і бяспечнае асяроддзе для карыстальнікаў.

❮ Папярэдні артыкул Менеджэры пакетаў Linux
Наступны артыкул ❯ Зніжэнне нагрузкі на сервер

Спытайце нас пра VPS

Мы заўсёды гатовы адказаць на вашы пытанні ў любы час дня і ночы.