Обновление certbot одновременно с версией Ubuntu Server

Обновление версии дистрибутива Linux на сервере – дело несложное, но есть подводные камни, знание которых сможет избавить от потери нескольких часов времени на поиски проблемы. В частности, обновление certbot – приложения для автоматической установки сертификатов SSL – в автоматическом режиме не выполнится.

Что такое SSL и зачем оно нужно?

SSL (Secure Sockets Layer) – протокол шифрования данных, предотвращающий перехват вашей информации при анализе трафика. То есть, сам трафик в случае перехвата увидят, но расшифровать и увидеть конкретные данные не получится. Нужно это для того, чтобы передаваемая на файт конфиденциальная информация такой и оставалась. Например, это может быть ваш пароль для входа, номер банковской карты и т. д. При работе с шифрованием SSL в адресной строке браузера отображается специальная иконка – зелёный замок и явно указан вид протокола – https.

Для обеспечения шифрования и выпускаются специальные сертификаты SSL, которые устанавливаются на сервер. Выпускаются они как коммерческими организациями на платной основе, так и бесплатно. В частности, на сайт можно получить бесплатно и установить сертификат от LetsEncrypt.

Зачем нужно обновлять систему, если и так всё работает?

Для этого есть две причины, обе достаточно важные.

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

Во-вторых, поддержка операционной системы разработчиком достаточно ограничена во времени. Так, например, для Ubuntu Server этот период составляет 5 лет для LTS-выпусков и 9 месяцев для обычных. После завершения поддержки и, соответственно, выпуска обновлений в системе не будут устраняться в случае обнаружения даже критические проблемы безопасности, что может навлечь серьёзные последствия. Так что обновляться лучше всегда.

Как установить сертификат?

Если делать это вручную, то сертификат нужно сгенерировать, закачать на сервер и указать путь к нему в файле настройки сайта. Для этого нужны специальные знания и порой эта задача не из лёгких. Для установки сертификатов от LetsEncrypt на свой сервер эта организация выпустила certbot – официальный клиент под Linux.

Как выполнить обновление certbot после системы?

Обновление версии Ubuntu Server делается обычным способом – вначале устанавливаем все обновления для текущей версии, затем в консоли вводим команду (предполагается, что все команды выполняются от имена администратора, поэтому sudo не указываю):

do-release-upgrade

Обновление занимает несколько десятков минут, время больше зависит от производительности вашего сервера. При этом следует учесть, что при обновлении версии дистрибутива все посторонние репозитории будут отключены и после завершения основного обновления подключать их нужно будет самостоятельно. Также при необходимости нужно будет вносить изменения в файлы, в частности, заменить версию Ubuntu – если старая называлась xenial, то вместо неё нужно будет указать bionic.

После этого в открываем для редактирования файлы из папки /etc/apache2/sites-available (или из /etc/nginx/sites-available) и убираем следы «вмешательства» от certbot – указания файлов конфигурации и сертификатов.

Далее вводим следующие команды:

apt purge certbot
apt autoremove

Таким образом мы удалили само приложение и все пакеты, которые требовались ему (и только ему) для работы. Теперь устанавливаем новую версию приложения со всеми зависимостями:

apt install certbot python-certbot-apache

(или же python-certbot-nginx, если у вас установлен этот веб-сервер).

После этого запускаем certbot из консоли без параметров и следуем его указаниям. Все сертификаты на сайты будут обновлены.

Комментарии:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *