Certbot для бесплатных SSL сертификатов

В нынешнее время использовать SSL-сертификат для каждого web-сайта практически обязательное условие. Без него надежность сайта будет низкая, а риск компрометации данных будет наоборот высок.

SSL сертификат гарантирует, что информация от клиента к серверу и наоборот от сервера к клиенту, будет идти по зашифрованному каналу.

Но, к сожалению, выпуск такого сертификата может стоить вам денег. Но, есть и бесплатные варианты решения данного вопроса. Один из таких способов и, наверное, один из самых известных это центр сертификации Let’s Encrypt.

Let’s Encrypt позволяет каждому получить и установить доверенный SSL сертификат на свой web-сайт, тем самым помогает установить шифрованное соединение, повышая этим самым безопасность.

В отличии от самоподписанного сертификата, сертификат от Let’s Encrypt является общепризнанным и при его использовании, вы получить значок замочка около адреса вашего web-сайта в браузере.

Как работает Let’s Encrypt.

До того как мы рассмотрим получение бесплатного сертификата, давайте познакомимся с тем как Let’s Encrypt работает.

Первым делом, перед тем, как выдать сертификат, Let’s Encrypt валидирует владельца вашего домена. Далее, клиент Let’s Encrypt на вашем хосте создает временный файл ( токен ) с необходимой информацией.

Аттестационный сервер отправляет HTTP-запрос для получение созданного файла и валидации токена, который проверяет, что DNS-запись вашего домена соответствует серверу, на котором запущен клиент Let’s Encrypt.

Следовательно, инструкции, описанные ниже, должны быть выполнены на сервере, который служит домену, для которого выдается сертификат.

Получение бесплатного сертификата от Let’s Encrypt.

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

Шаг 1. Установка certbot.

У Let’s Encrypt имеется приложение, которое автоматически создает и устанавливает SSL сертификат на вашем сервере. Оно называется certbot. И, именно, с его установки мы начнем получение нашего сертификата. Для этого необходимо выполнить следующую команду в соответствии с ОС, которая у вас установлена:

Ubuntu:

Debian:

RHEL-like:

Шаг 2. Получение сертификата Let’s Encrypt.

Важно! Перед получением бесплатного SSL сертификата от Let’s Encrypt, необходимо остановить сервис web-сервера. Иначе, вы получите следующую ошибку:

Problem binding to port 80: Could not bind to IPv4 or IPv6

Для этого, необходимо выполнить следующую команду:

NGINX:

Apache:
Для Ubuntu и Debian:

Для RHEL-like:

Теперь мы можем приступить к генерации SSL сертификата. Для этого запустим следующую команду:

Опция -d служит для определения вашего домена. Вы можете использовать несколько опций -d в одной команде, для определения нескольких адресов. Например,

Если это ваше первое получение сертификата, то вам необходимо будет ввести E-mail и принять соглашение на условия обслуживания.

После того, как вы все выполнили, certbot свяжется с сервером Let’s Encrypt и начнется проверка кашего домена на соответствие всех необходимых условий. После непродолжительного времени, вы получите сообщение, что все прошло успешно. Либо ошибку, если что-то пошло не так.

Шаг 3. Проверка наличия сертификатов.

Проверьте наличие сертификатов в каталоге /etc/letsencrypt/live/my-domain.com/

Изменение конфигурации web-сервера

Теперь укажите ваш новый Let’s Encrypt SSL сертификат в конфигурации сервера. Например, если вы используете сервер на основе NGINX, то вам необходимо отредактировать следующий блок в файле /etc/nginx/sites-enabled/my-domain.conf

server {
listen 443;
server_name my-domain.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}

Это все. Все настройки завершены. Теперь вам только остается запустить ваш сервер, следующей командой, в случае Nginx:

В случае Apache, на Ubuntu или Debian:

В случае Apache на RHEL-like:

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

Автоматическое обновление сертификата Let’s Encrypt.

Срок действия сертификата Let’s Encrypt 90 дней. Его можно обновить за 30 дней до конца истечения его срока. Для этого можно добавить задачу в cron, которая будет обновлять его по расписанию.

Для этого откройте файл crontab следующей командой:

И далее добавим команду, которая будет обновлять сертификат ежемесячно:

Удаление сертификата certbot

Иногда возникает необходимость удалить уже сгенерированный сертификат. Естественно, вы можете удалить его просто, удалив их тз каталога, где они хранятся. Но таким образом некоторые метаданные все равно сохраняются в certbot индексах.

К счастью, команда certbot делает работу по удалению сертификатов очень легко. Например, выполнение приведенной ниже команды предложит индекс, из которого вы можете выбрать какое доменное имя необходимо удалить.

Введите номер индекса сертификата для доменного имени, которое вы хотите удалить, и нажмите «Enter». После этого Certbot удалит выданный до этого сертификат.

Вы также можете удалить сертификат, используя приведенную ниже команду, указав явно имя домена, для которого следует удалить сертификат.

Заключение

В этой статье описал, как установить бесплатный сертификат SSL от Let’s Encrypt, чтобы сделать web-сайт безопаснее. Для получения дополнительной информации по получению, вы можете зайти на официальный веб-сайт Let’s Encrypt.

Was this helpful?

1 / 0

Добавить комментарий 0