У овом чланку ћемо истражити процес инсталирања и конфигурисања Certbot-а на Linux серверу. Детаљно ћемо објаснити како да добијете Let's Encrypt SSL/TLS сертификат за ваш домен. Такође ћемо описати како да га инсталирате на веб сервер (као што су Nginx или Apache) и подесите аутоматско обнављање сертификата како бисте осигурали континуирану безбедну везу са вашим веб ресурсом.
Certbot је бесплатан алат отвореног кода дизајниран за аутоматско добијање и обнављање SSL/TLS сертификата . Он игра кључну улогу у обезбеђивању везе између сервера и клијента, штитећи податке од неовлашћеног приступа. Certbot поједностављује процес инсталације и обнављања SSL сертификата. Сертификат не само да побољшава безбедност, већ и повећава поверење корисника у ваш веб ресурс, чиме се побољшава и репутација сајта и његово рангирање на претраживачима.
Инсталирање Цертбота
Certbot је подразумевано укључен у већину дистрибуција, тако да да бисте га инсталирали на Debian/Ubuntu системима, потребно је само да ажурирате листу пакета:
apt update
Затим покрените процес инсталације:
apt install 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
Након инсталације, можете одмах наставити са добијањем сертификата.
Добијање ССЛ сертификата
У овом одељку ћемо разговарати о процесу добијања сертификата независно од одређеног веб сервера, а затим ћемо описати процес инсталирања сертификата за Нгинк и Апацхе. Међутим, неопходно је прво разумети синтаксу и функционалност програма. Појављује се на следећи начин:
certbot command option -d domain
Главне команде укључују:
certbot certonly - Преузима сертификат, али га не инсталира.certbot certificates - Ова команда приказује листу свих инсталираних сертификата.certbot renew - Проширује постојећи сертификат.certbot revoke - Опозива постојећи сертификат.certbot delete - Брише постојећи сертификат.
Најчешће коришћене опције су:
--nginx - Користи Нгинк конфигурационе скрипте за верификацију домена.--apache - Користи Апацхе конфигурационе скрипте за верификацију домена.-d - Списак домена за које се захтева сертификат.--standalone - Користи самостални режим за верификацију домена.--manual - Врши ручну верификацију домена.
Ово је само пример најчешћих команди и опција. Можете се упознати са комплетном листом могућности програма у одељку помоћи:
certbot –help
Сада настављамо са добијањем сертификата. На пример, добићемо сертификат за виртуелни сервер за бесплатан домен трећег нивоа као што је вашекорисничкоиме.pсервер.простор
Прво морате да унесете команду:
certbot certonly
Као одговор, услужни програм ће од вас тражити да одаберете метод за верификацију власништва над доменом:
Прва опција је згодна ако немате конфигурисан веб сервер или не желите да мењате постојећи. Овај метод креира привремени веб сервер да потврди ваше право на домен. Идеалан је за једноставно и брзо подешавање. Када бирате овај метод, важно је да порт 80 остане слободан.
Друга опција је пожељнија ако већ имате веб сервер који ради и желите да га користите за верификацију права на домен. Цертбот поставља посебне датотеке у фасциклу на вашем серверу, које затим проверава центар за сертификацију.
Бирамо прву опцију и кликнемо даље. У овој фази, мораћете да:
- Унесите адресу е-поште;
- Слажете се са условима коришћења услуге;
- Пристати или одбити примање е-поште у име компаније и њених партнера;
- Наведите име домена за који се издаје сертификат.
Након што завршите процес издавања сертификата помоћу алатке Цертбот, она ће указати на путању до директоријума у којем се чувају издати сертификат и подаци за ваш налог:
Остаје само да добијени сертификат повежете са траженом услугом.
Инсталирање сертификата за Нгинк или Апацхе
Овај одељак претпоставља да су испуњени одређени основни услови:
- Већ сте инсталирали и конфигурисали веб сервер, било Нгинк или Апацхе. Мора бити доступан са интернета преко имена домена за који намеравате да добијете сертификат;
- Током инсталације алата, такође сте инсталирали додатак за Нгинк или Апацхе користећи одговарајућу команду;
- Заштитни зид дозвољава везе на портовима 80 и 443. Ако су ови портови затворени за везе, услуга ће бити недоступна за долазне везе. За више детаља о раду заштитног зида, о томе смо разговарали у чланку о постављање заштитног зида на Линук-у.
Када су сви услови испуњени, можете прећи директно на издавање сертификата. Размотрићемо процес добијања ССЛ сертификата на серверу користећи Нгинк као пример. Међутим, ако користите Апацхе веб сервер, процес је потпуно идентичан.
Да бисте добили сертификат, потребно је да унесете команду:
certbot --nginx # for Nginx
certbot --apache # for Apache
Као одговор, алат ће захтевати: адресу е-поште, сагласност са условима коришћења услуге Лет'с Енцрипт и дозволу за слање е-поште у име услуге и њених партнера.
Након тога, потребно је да наведете име домена за које је сертификат издат. Certbot може аутоматски да одреди домен ако је наведен у пољу server_name за Nginx конфигурацију или ServerName и ServerAlias за Apache . Ако није наведен, програм ће вас обавестити и затражити да ручно унесете име домена. Затим ће вас услужни програм питати да ли да омогући преусмеравање захтева са HTTP на HTTPS протокол. Да бисте подесили аутоматско преусмеравање, требало би да изаберете другу опцију:
Након неког времена, Цертбот ће вас обавестити о успешном стицању сертификата за наведени домен. Од овог тренутка па надаље, све долазне везе ће бити преусмерене са порта 80 на 443. Алат ће приказати директоријуме у којима можете пронаћи све податке о сертификатима и детаље налога Лет'с Енцрипт:
У поруци ће се навести и период важења добијеног сертификата и важне опције за управљање свим активним сертификатима:
- цертонли. Ова опција се користи за добијање или ажурирање сертификата без аутоматске конфигурације веб сервера. Цертбот ће само захтевати или ажурирати сертификат, али неће вршити никакве аутоматске промене у конфигурацији сервера. Раније смо ову опцију користили за добијање сертификата без везивања за веб сервер.
- ренев се користи за аутоматско обнављање свих сертификата који су добијени преко Цертбота и који су у року важења. Програм ће проверити све сертификате и ако било који од њих истекне у року од 30 дана или мање, биће аутоматски обновљен.
Следеће у упутствима ћемо разговарати о томе како да подесите аутоматско обнављање сертификата без интервенције корисника свака три месеца.
Аутоматско обнављање сертификата у Цертбот-у
За Дебиан/Убунту
Када користите ове оперативне системе, Цертбот аутоматски додаје скрипту на листу задатака за аутоматско обнављање инсталираних сертификата. Функционалност скрипте можете проверити следећом командом:
systemctl status certbot.timer
Одговор ће приказати статус сервиса, као и директоријум који садржи конфигурациону датотеку. Можете га отворити помоћу било ког уређивача текста. Ако немате искуства са уређивачима текста у Линуксу, препоручујемо вам да се упознате са нашим прегледом најпопуларнијих решења. У овом случају ћемо користити nano:
nano /lib/systemd/system/certbot.timer
Сви важни параметри су истакнути:
- Распоред показује да ће услуга радити два пута дневно у 00:00 и 12:00;
- Друга вредност означава насумично кашњење у секундама које ће бити додато почетку тајмера. У овом случају, то је 43,200 секунди (12 сати), што чини лансирање насумичним и шири оптерећење;
- Овај параметар осигурава да ако је тајмер требало да се изврши током гашења система, он ће бити активиран одмах по покретању.
Такође можете покренути принудну проверу обнављања сертификата командом:
certbot renew --dry-run
Користећи ову команду, сертификати се неће ажурирати. Уместо тога, алатка ће обављати радње сличне добијању сертификата по његовом истеку. На овај начин можете осигурати функционалност услуге у погледу аутоматског обнављања.
За ЦентОС, Федору и друге
Процес омогућавања аутоматских ажурирања на системима из породице Red Hat се мало разликује. За разлику од Debian/Ubuntu, за CentOS и друге системе, потребно је ручно додати задатак у распоред. За ово ћемо користити cron алат:
crontab -e
Затим у датотеци која се отвори додајте следећи ред:
0 12 * * * /usr/bin/certbot renew --quiet
Хајде да разложимо главне аргументе команде:
- Време извршења. У овом случају, команда ће се аутоматски покренути у 12:00 сваког дана;
- Команда за обнављање ССЛ/ТЛС сертификата помоћу Цертбот-а;
- --тихо флаг потискује излаз, чинећи процес скривенијим и мање наметљивим у системским евиденцијама или приказу.
Након додавања команде, потребно је да сачувате промене у датотеци.
Као и код Дебиан/Убунту-а, такође можете покренути принудну проверу обнове сертификата:
certbot renew --dry-run
Резултат успешног извршења команде изгледа овако:
Закључак
Истражили смо свеобухватан процес инсталирања и конфигурисања Цертбота на Линук серверу. Пратећи дата упутства, можете успешно да добијете ССЛ/ТЛС сертификат од Лет'с Енцрипт, да га инсталирате на свој веб сервер и да конфигуришете аутоматско обнављање да бисте обезбедили сталну заштиту и повећано поверење у ваш веб ресурс. Са Цертбот-ом можете лако да креирате поуздано и безбедно окружење за кориснике.