Установка и обновление SSL-сертификатов Let's encrypt в Centos 7

Представляю вашему вниманию самый простой способ получить Let's encrypt сертификат в Centos 7. Более сложные методы мы рассмотрим в дальнейшем, а сейчас я продемонстрирую как установить certbot в Centos и получить Let's encrypt сертификат при помощи плагина webroot.

 
 
Логотип GITA-DEV

Автор: Черноусов Антон aka Gita-Dev
Опубликовано: 12 Мар 2018 (последние правки 1 месяц)

centos certbot certonly cv install letsencrypt live nginx ssl

Для управления SSL-сертификатами Let's encrypt используется утилита certbot, она позволяет регистрировать и обновлять SSL-сертификаты в автоматическом режиме.

Рассмотрим установку и настройку получения и автоматического обновления сертификатов Let's encrypt в автоматическом и полуавтоматических режимах. Штатными для Centos 7 являются webroot и standalone и эти методы мы и рассмотрим в данной статье.

Для установки CertBOT в Centos 7 необжодимо выполнить следующие команды:

# yum -y install yum-utils
# yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
# yum install certbot

Определяемся, что у нас используется в качестве Front-сервера для обслуживания http и https запросов. В моем текущем случае используется Nginx, но для nginx плагин в centos заявлен как экспериментальный и может быть собран из исходных кодов.

Для получения сертификата мы можем воспользоваться режимом webroot (файлы подтверждающие владение доменом в корневом каталоге проекта) или режимом standalone (запускается собственный сервер и nginx придется отключить).

Режим standalone максимально простой и рассмотривать его не будем, в этом режиме вы просто останавливаете Nginx и запускаете certboot с параметрами:

# certbot certonly --standalone -d my-domain.ru

Режим webroot не требует остановки web-сервера и его мы рассмотрим более подробно.

Получение сертификата Let's encrypt в режиме web-root

Для использования режима webroot вам понадобиться в перую очередь определиться где для ваших доменов находится корень проекта. Если вы разработчик проекта, то вам это конечно же известно, но в случае если вы администрируете сторонний проект имеет смысл обратиться к разработчику и прояснить этот вопрос.

# certbot certonly --webroot -d my-domain.ru

При первом получении сертификата будет запущен мастер который запрашивает некоторые данные, такие как адрес электронной почты для отправки сообщений о истекающем сроке действия сертификата и собственно расположение корня web-проекта куда будет размещен файл подтверждения владения доменом.

Select the webroot for api.adsvision.ru: 
1: Enter a new webroot
Press 1 [enter] to confirm the selection (press 'c' to cancel): 1
Input the webroot for api.adsvision.ru: (Enter 'c' to cancel):/var/www/html/london/api/web/

Этот файл естественно должен быть доступен с внешнего интернет-хоста с которого будет проводиться проверка и подтверждение прав на владение доменом и в случае если все прошло упешно вы получите следующее сообщение:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
  /etc/letsencrypt/live/my-domain.ru/fullchain.pem. Your cert
  will expire on 2017-08-01. To obtain a new or tweaked version of
  this certificate in the future, simply run certbot again. To
  non-interactively renew *all* of your certificates, run "certbot
  renew"

Теперь вы можете настроить https на использование сертификатов Let's encrypt, для этого внесить в конфигурационный файл Nginx обслуживающий https-подключения следующие пути к сертификатам (или измените пути к сертификатам в существующих настройках):

ssl_certificate /etc/letsencrypt/live/my-domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain.ru/privkey.pem;

Так как сертификаты Let's encrypt выдаются на короткий период времени (90 дней) вам потребуется настроить автоматическое обновление сертификатов, для чего можно в файл /etc/crontab прописать запуск автоматического обновления сертификатор один раз в неделю:

1 5 * * 6 root /usr/bin/certbot renew

Похожие статьи

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Эта заметка не претендует на истину в первой инстанции и даже обязательно должна быть дополнена некоторыми механизмами авто-продления сертификатов раз в месяц, но так как последнее время на поддержке у меня не осталось Zimbra-серверов я дополню ее по по возможности. Представленный механизм полностью рабочий и многократно апробировался в реальной боевой среде.


Настройка шифрования трафика протоколов SMTP и IMAP сертификатами let's Encrypt (EXIM+Dovecot)

Настройка шифрования трафика протоколов SMTP и IMAP сертификатами let's Encrypt (EXIM+Dovecot)

Как я уже говорил, я продолжу настраивать тестовый почтовый сервер на базе Dovecot+Exim и сегодня мы настроим шифрование трафика SMTP и IMAP валидными сертификатами Let's encrypt.


SSL защита подключений к Asterisk (Let's encrypt)

SSL защита подключений к Asterisk (Let's encrypt)

Наверное каждый кто работал с SIP-технологиями знает, что обмен данными по порту 5060 осуществляется в незащищенном виде и использовать программные телефоны без защиты соединения не рекомендуется, так как ваш пароль можно легко перехватить в управляющем потоке. И если простые аппаратные телефоны вообще в принципе не имеют защиты трафика при помощи SSL и могут использоваться только в рамках локальной или VPN-сети, то программные телефоны уже наверное все поддерживают защиту соедиенения.


Отзывы и комментарии