Утро, понедельник, приходит письмо от клиента со скриншотом и сакраментальным «Что делать?».
Вдумайтесь, только зашел на сайт, еще ничего не сделал, а тут толпы злоумышленников во всю трясут с тебя пароли, сообщения, кредитные карты, деньги, золото, бриллианты. Страх и ужОс.
Примечательно то, что дело происходит летом, сертификат ставил сотрудник, который давно работает не с нами, а босс в отпуске. В общем, типичный, веселый, белый, пушистый, подкрадывающийся незаметно северный зверёк.
Но нам не привыкать.
Но если все-таки что-то пошло не так, то я тут не при чем, а значит, все претензии к себе-любимому.
Я принимаю только благодарности и только финансовые. Хотя…
Начинаем искать концы
Во-первых, смотрим подробности сертификата.
Из этих подробностей выясняем, что это Let’s Encrypt, и что сертификат истек 29 июня. Сегодня 1 июля! Значит все правильно. Нужно просто перевыпстить сертификат.
Лезем на 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, этот пост тоже пригодится.
Напишите комментарий