SSL-сертификат

Мониторинг SSL-сертификата

Мониторинг SSL-сертификата раз в сутки за 0,002 ₽ за проверку: Нотифарио читает сертификат на порту 443 или любом другом TLS-порту, сверяет срок действия, цепочку доверия и имя домена и предупреждает за 14 дней до истечения — в Telegram, MAX и на почту, а о подтверждённом сбое — ещё по SMS и звонком.

Зачем нужен мониторинг SSL-сертификатов

Истёкший сертификат для посетителя хуже упавшего сайта. Браузер закрывает страницу предупреждением «Подключение не защищено» и предлагает уйти; платёжная форма не открывается, мобильное приложение не может подключиться к API, почтовый клиент при каждом подключении спрашивает, доверять ли серверу. При этом сайт формально «работает»: HTTP-проверка с включённым игнорированием ошибок SSL ничего не заметит.

Сертификаты Let's Encrypt живут 90 дней, и продлевает их автоматика. Ломается она тихо: у DNS-провайдера истёк API-токен, certbot перестал запускаться после обновления системы, панель хостинга выпустила новый сертификат, но не перезапустила nginx, и сервер продолжает отдавать старый. Никакой ошибки в этот момент нет — она появится, когда истечёт текущий сертификат.

Контроль срока SSL-сертификата закрывает этот разрыв: проверка раз в сутки читает тот сертификат, который получает посетитель, и считает дни до окончания. Пока запас больше порога — тишина. Как только меньше — сообщение с датой и издателем, и есть две недели, чтобы починить продление, а не тушить пожар. Разово посмотреть сертификат можно в бесплатном инструменте проверки SSL; эта страница — про постоянный контроль.

Что проверяем

  • Предупреждение за N дней до окончания (по умолчанию 14)
  • Проверка цепочки и совпадения имени
  • Уведомление о смене сертификата — признак подмены
  • Работает для любого TLS-порта: HTTPS, SMTP, IMAP

Типичные причины сбоев

  • Сломалось автопродление: истёк API-токен DNS-провайдера, упал certbot, нет прав на запись.
  • Новый сертификат выпущен, но не подхвачен сервером (не перезапущен nginx).
  • Неполная цепочка после переустановки: не хватает промежуточного сертификата.
  • Сертификат не покрывает поддомен, который добавили позже.
  • Панель хостинга сменила сертификат на самоподписанный после переезда.

Как работает контроль срока SSL-сертификата

Вы указываете хост и порт (по умолчанию 443) — без «https://» и путей. Нотифарио подключается по TLS с точки мониторинга, как обычный браузер с SNI, и получает сертификат целиком: субъект, список альтернативных имён (SAN), издателя, серийный номер, отпечаток SHA-256, дату окончания и цепочку до корня.

Дальше четыре проверки. Срок: если дней до окончания меньше порога «Предупредить за» — предупреждение, если сертификат уже истёк — сбой. Цепочка: сервер должен отдавать промежуточные сертификаты, иначе ошибка «цепочка не проверена». Имя: хост должен совпадать с субъектом или одним из SAN, включая wildcard. Отпечаток: если он изменился с прошлой проверки, приходит сообщение «сертификат изменился» со старым и новым издателем и датами.

Интервал — раз в сутки, при желании чаще, минимум раз в час. Одна проверка стоит 0,002 ₽: суточный контроль одного домена обходится в 73 копейки в год, ежечасный — в 17,5 ₽. Абонентской платы и лимита на число мониторов нет, оплата — аванс на балансе, при регистрации на него зачисляется бонус 50 ₽ (подробнее — цены).

Что приходит в уведомлении

Telegramтолько что
⚠️ SSL shop.example.ru: сертификат истекает через 9 дн.
До: 30.09.2026 12:00 (МСК)
Издатель: Let's Encrypt / R11

Открыть монитор →

Так выглядит сообщение о сбое; о восстановлении придёт отдельное — с длительностью простоя. Каналы: Telegram, MAX, email, SMS, звонок, webhook.

Параметры проверки

ПараметрОписание
Хостexample.ru
Порт (по умолчанию: 443)
Предупредить за, дней (по умолчанию: 14)
Проверять цепочку доверияДа / нет
Проверять соответствие имениДа / нет
Уведомлять о смене сертификатаДа / нет

Интервал — от 1 час до 1 суток (рекомендуем 1 день). Проверка выполняется с основной точки.

Чем мониторинг лучше скрипта с openssl в cron

  • Скрипт проверяет дату; мониторинг — ещё цепочку, имя и смену отпечатка, а это частые причины реальных инцидентов с SSL.
  • Скрипт на том же сервере умирает вместе с сервером и молчит, когда сломан cron; внешняя проверка видит сертификат так, как его видит посетитель.
  • Доставка: Telegram, MAX, почта, webhook, а при сбое — SMS и звонок, с тихими часами и повтором раз в сутки, вместо письма от cron, которое уходит в спам.
  • История: дата и издатель каждого сертификата, момент смены, инциденты с длительностью — и статус для клиентов на публичной странице.

Вопросы

За сколько дней до истечения приходит предупреждение?
По умолчанию за 14 дней; порог настраивается от 1 до 90 дней в поле «Предупредить за». Сообщение повторяется раз в сутки, пока сертификат не заменён.
Придёт ли уведомление об истечении SSL-сертификата в Telegram?
Да: подключите бота @notifar_bot к личному или групповому чату. Туда приходят предупреждение о сроке с датой и издателем, сообщение о смене сертификата и сбой. SMS и звонок отправляются при сбое и восстановлении.
Проверяете ли вы цепочку доверия и соответствие имени?
Да, обе проверки включены по умолчанию и отключаются в настройках монитора. Неполная цепочка и сертификат не для этого хоста фиксируются как сбой с текстом причины.
Можно ли следить за сертификатом на почтовом сервере или нестандартном порту?
Да: укажите хост и порт — 465 для SMTP, 993 для IMAP, 995 для POP3, 8443 для панели. Подходит любой порт, где TLS начинается сразу при подключении; для STARTTLS-портов есть проверка почтовых служб.
Сколько доменов и поддоменов можно поставить на мониторинг?
Сколько угодно: лимита на число мониторов нет, каждый хост — отдельный монитор за 0,002 ₽ за проверку. Массово мониторы создаются через REST API, группируются тегами.
Сколько стоит мониторинг SSL одного домена в год?
Проверка раз в сутки — 0,002 ₽ × 365 = 73 копейки в год, раз в час — 17,5 ₽. Абонентской платы нет, при регистрации на баланс зачисляется бонус 50 ₽.
Сертификат продлён, а предупреждения продолжают приходить — почему?
Чаще всего новый сертификат выпущен, но веб-сервер не перезапущен и отдаёт старый. Мониторинг проверяет именно то, что получает посетитель; после перезапуска nginx придёт сообщение «сертификат изменился», и предупреждения прекратятся.
Нужен ли мониторинг, если у меня Let's Encrypt с автопродлением?
Особенно нужен: сертификат живёт 90 дней, а автопродление ломается незаметно — истёк токен DNS-API, не перезапущен nginx, certbot упал после обновления. Мониторинг заметит, что сертификат не сменился, за 14 дней до конца.