Let’s Encrypt больше не присылает письма об истечении сертификатов

Let’s Encrypt больше не присылает письма об истечении сертификатов

22 января 2025 года Let’s Encrypt объявил, что перестаёт рассылать письма об истечении сертификатов. Рассылку выключили 4 июня 2025 года, так что сейчас напоминаний от Let’s Encrypt нет вообще. Если продление у вас держалось на письме «сертификат скоро истечёт», этот контур уже не работает.

Почему Let’s Encrypt отказался от писем

  • За десять лет большинство подписчиков настроили автоматическое продление, письмо для них просто шум.
  • Чтобы слать напоминания, приходится хранить миллионы адресов почты, привязанных к выпущенным сертификатам. Let’s Encrypt не хочет держать эти данные.
  • Рассылка стоила десятки тысяч долларов в год, эти деньги организация хочет потратить на инфраструктуру.
  • Это ещё одна система, которую надо поддерживать и в которой можно ошибиться.

Тем, кому напоминания всё же нужны, Let’s Encrypt советует сторонние сервисы, например Red Sift Certificates Lite: он бесплатно присылает письма об истечении для 250 сертификатов.

Сертификаты становятся короче

Ручное продление скоро станет совсем неудобным. 7 октября 2026 года Let’s Encrypt сообщил, что с 10 февраля 2027 года все новые и продлённые сертификаты будут на 64 дня вместо 90, а в 2028 году срок сократят до 45 дней. Если клиент поддерживает ACME Renewal Info (ARI), Let’s Encrypt сам подскажет ему, когда продлевать. Если продление привязано к фиксированному числу дней до истечения, его советуют перевести примерно на две трети срока. Подробнее об этом в заметке про 64-дневные сертификаты.

Автоматическое продление через Certbot

По документации Certbot, в большинстве установок автопродление уже настроено: пакет ставит задачу в cron или таймер systemd, который регулярно запускает certbot renew. С Certbot 4.0 сертификат продлевается, когда до конца срока остаётся треть, так что переход на 64 дня Certbot переживёт без правок. Проверить это можно так:

systemctl list-timers | grep -i certbot
grep -r certbot /etc/crontab /etc/cron.d/ 2>/dev/null
sudo certbot renew --dry-run

Если задачи нет, документация Certbot предлагает добавить её в /etc/crontab: запуск дважды в сутки со случайной задержкой до часа, чтобы не нагружать серверы Let’s Encrypt в одну и ту же минуту:

SLEEPTIME=$(awk 'BEGIN{srand(); print int(rand()*(3600+1))}'); echo "0 0,12 * * * root sleep $SLEEPTIME && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

Чтобы веб-сервер подхватил новый сертификат, удобнее всего deploy-hook: он срабатывает только после успешного продления.

sudo certbot renew --deploy-hook "systemctl reload nginx"

Свой мониторинг срока действия

Автопродление иногда ломается: поменяли DNS, закрыли порт 80, упёрлись в лимиты. Поэтому срок действия стоит проверять отдельно и слать алерт в свой канал, а не ждать письма.

  • Zabbix, Nagios, Icinga: проверка «дней до истечения» сертификата.
  • Prometheus с blackbox_exporter: метрика probe_ssl_earliest_cert_expiry и правило в Alertmanager.
  • Простой скрипт по cron с отправкой в Telegram или на почту.
  • Внешние мониторы вроде UptimeRobot, Better Stack или Red Sift.

Быстрая ручная проверка даты окончания:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate

Если автопродление сломалось, сначала стоит найти причину в /var/log/letsencrypt/letsencrypt.log. Принудительное продление через certbot renew --force-renewal оставьте на крайний случай: лимиты Let’s Encrypt никто не отменял. И уберите из внутренней документации фразы вроде «придёт письмо от Let’s Encrypt».

В итоге писем об истечении сертификатов от Let’s Encrypt больше нет, а сами сертификаты с 2027 года станут короче. Рабочая схема простая: ACME-клиент с таймером, проверка через --dry-run, deploy-hook для перезагрузки веб-сервера и свой мониторинг срока действия с алертом.

Источники и ссылки


Комментарии загружаются…