https://www.lexium.ru/2019/07/istek-sertifikat-lets-encrypt-chto-delat/

Истек сертификат Let’s Encrypt. Что делать?

Утро, понедельник, приходит письмо от клиента со скриншотом и сакраментальным «Что делать?».

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

Примечательно то, что дело происходит летом, сертификат ставил сотрудник, который давно работает не с нами, а босс в отпуске. В общем, типичный, веселый, белый, пушистый, подкрадывающийся незаметно северный зверёк.

Но нам не привыкать.


Внимание! Всё, что будет рассказываться дальше, очень опасно в руках растущих не из того места. Чисто теоретически: бездумно пытаясь сделать так, как написано в посте, вы можете повредить сайт, сервер и собственный мозг. Поэтому, если не понимаете что и как делалось, а главное для чего, то не стоит даже пытаться. Обратитесь к квалифицированному врачу специалисту.

Но если все-таки что-то пошло не так, то я тут не при чем, а значит, все претензии к себе-любимому.

Я принимаю только благодарности и только финансовые. Хотя…

Начинаем искать концы

Во-первых, смотрим подробности сертификата.

Из этих подробностей выясняем, что это Let’s Encrypt, и что сертификат истек 29 июня. Сегодня 1 июля! Значит все правильно. Нужно просто перевыпстить сертификат.

Let’s Encrypt — центр сертификации, который раздает бесплатные криптографические сертификаты X.509 для TLS-шифрования (HTTPS). Выдача сертификатов полностью автоматизирована (пишет нам википедия).

Лезем на 2ip.ru и выясняем, где припаркован домен. Кстати, картинки кликабельны.

Какой кошмар. Домен припаркован в Российской Федерации! Опять этот «русский след». Прекрасно!)

Что мы видим? Мы видим IP хоста, мы видим название Хостера (Таймвеб, в данном случае). Осталось обыскать наши базы паролей и…

Да! Доступы в панель управления хостингом у нас есть.

Заходим и… выясняем, что такого домена, в панели управления хостингом, нет. Никакой сертификат там не привязан… Ну ооооок.


Лезем на сервер по SSH.

Зачем? Поскольку в Let’s Encrypt выдача сертификатов полностью автоматизирована, значит мы точно найдем задание для Cron, на обновление сертификатов. Чтобы найти все задачи крона, вводим в консоль команду crontab -l

Вот что мы на это получаем:

CONTENT_TYPE="text/plain; charset=utf-8"
15 02 * * * sudo /usr/local/vesta/bin/v-update-sys-queue disk
10 00 * * * sudo /usr/local/vesta/bin/v-update-sys-queue traffic
30 03 * * * sudo /usr/local/vesta/bin/v-update-sys-queue webstats
*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-queue backup
10 05 * * * sudo /usr/local/vesta/bin/v-backup-users
20 00 * * * sudo /usr/local/vesta/bin/v-update-user-stats
*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-rrd
31 7 * * * sudo /usr/local/vesta/bin/v-update-sys-vesta-all
52 2 * * * sudo /usr/local/vesta/bin/v-update-letsencrypt-ssl

Что нам это дает? Ну, во-первых, мы видим строку с ключевыми словами update и letsencrypt. Значит этот скрипт и обновляет сертификат, а чтобы его запустить, просто введем в консоль команду sudo /usr/local/vesta/bin/v-update-letsencrypt-ssl

Собственно, вводим и получаем вот что:

domain.ru Error: domain alias domain.ru doesn’t exist

В примерном переводе это означает: Что-то там пошло не так, и я не могу обновить сертификат автоматически. Крутитесь дальше как хотите.

Тогда нам остается то самое во-вторых. В задачах крона мы видим ключевое слово vesta. А Vesta CP — это панель управления сервером. Похоже, кто-то накатил ее на VPS. Значит домен наверняка привязан в ней.

Зайти в Vesta CP (а значит доказать ее наличие) довольно легко: в адресную строку браузера вписываем https://IP_Адрес:8083/list/user/

Само-собой, вместо IP_Адрес вставляем тот IP, который подсмотрели на 2IP.RU.

Отлично. Домен найден, а в редактировании мы видим и настройки сертификата.

Раз автоматическое обновление не работает — обновим вручную.

Делай раз: Снимаем галочку в чекбоксе «Поддержка SSL» и сохраняем.

Делай два: Ставим галочку в чекбоксе «Поддержка SSL» и сохраняем.

Всё. Сертификат продлен до 29 сентября и браузер пугающих надписей клиенту больше не показывает. Пока.


Дело сделано. Осталось выпить чашечку горячего ароматного, и продолжить работу. Солнце-то, все еще высоко. Лето…

А чтобы тот «комсомолец», которому 29 сентября прилетит «письмо счастья» от клиента, не искал решение слишком долго, я написал этот пост. Ну и всем остальным, кто (ну мало-ли) столкнется с истекшим сертификатом от Let’s Encrypt, этот пост тоже пригодится.

Кстати! SSL-сертификат Let’s Encrypt доступен для доменов на хостинге Beget.com. Подключается прямо в панели управления хостингом (раздел Домены) одним кликом.

Напишите комментарий