Все руководства по развёртыванию Развёртывание

Мониторинг SSL-сертификатов: инструменты и руководство по настройке

Мониторинг SSL выходит за рамки проверки сроков истечения. Полная система мониторинга отслеживает: истекающие сертификаты, изменения конфигурации, несанкционированный выпуск сертификатов и простои, вызванные ошибками SSL.

С сокращением срока действия сертификатов до 47 дней к 2029 году проактивный мониторинг становится необходимостью — пропущенное обновление выводит сайт из строя.

Что мониторить

ЧтоЗачемКак часто
Срок действия сертификатаПросроченный сертификат = сайт недоступенЕжедневно
Цепочка сертификатовНеполная цепочка = ошибки на некоторых устройствахЕженедельно
Версия TLSСтарые версии TLS отключаются браузерамиЕжемесячно
CT-логиОбнаружение несанкционированных сертификатов для вашего доменаНепрерывно
OCSP staplingСбой stapling снижает производительностьЕженедельно
Заголовок HSTSОтсутствие HSTS = уязвимость к понижению версииЕжемесячно

Бесплатные варианты мониторинга

1. Cron-скрипт (самостоятельный хостинг)

#!/bin/bash
# /usr/local/bin/ssl-monitor.sh
DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
ALERT_EMAIL="admin@example.com"

for domain in $DOMAINS; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)

  if [ -z "$expiry" ]; then
    echo "ERROR: Can't connect to $domain:443" | mail -s "SSL Monitor: $domain unreachable" $ALERT_EMAIL
    continue
  fi

  expiry_epoch=$(date -d "$expiry" +%s 2>/dev/null)
  now_epoch=$(date +%s)
  days_left=$(( (expiry_epoch - now_epoch) / 86400 ))

  if [ "$days_left" -lt "$WARN_DAYS" ]; then
    echo "$domain certificate expires in $days_left days ($expiry)" | mail -s "SSL Expiry Warning: $domain" $ALERT_EMAIL
  fi
done
# Add to crontab — run daily at 9am
0 9 * * * /usr/local/bin/ssl-monitor.sh

2. UptimeRobot (SaaS — бесплатный тариф)

  1. Зарегистрируйтесь на UptimeRobot
  2. Добавьте монитор → Тип: HTTPS
  3. Введите URL вашего домена
  4. Установите оповещение об истечении SSL: за 30 дней до истечения
  5. Настройте оповещения: email, Slack, webhook

UptimeRobot проверяет каждые 5 минут и оповещает как о простоях, так и об истечении сертификатов.

3. Мониторинг Certificate Transparency

Мониторьте CT-логи на предмет несанкционированных сертификатов, выпущенных для вашего домена:

СервисКакСтоимость
Cert Spotter (SSLMate)Email-оповещения о новых сертификатахБесплатный тариф
crt.shРучной поискБесплатно
Facebook CT MonitorИнструмент мониторинга FacebookБесплатно

Платные инструменты мониторинга

ИнструментВозможностиЦена
Better UptimeSSL + аптайм + инцидентыБесплатный тариф / от $20/мес
DatadogПолный мониторинг инфраструктуры с проверками SSLот $15/хост/мес
PingdomSSL + аптайм + производительностьот $10/мес
StatusCakeМониторинг SSL + оповещенияБесплатный тариф / от $20/мес

Пример полной конфигурации мониторинга

Для продакшен-сайта комбинируйте несколько уровней:

Layer 1: Certbot auto-renewal (prevents expiry)
Layer 2: Cron script (catches renewal failures — daily email)
Layer 3: UptimeRobot (catches SSL errors — 5-min checks)
Layer 4: CT monitoring (catches unauthorized certs — continuous)

Это обеспечивает эшелонированную защиту — ни одной единственной точки отказа.

Мониторинг с GetHTTPS

GetHTTPS не включает встроенный мониторинг (это инструмент для выпуска сертификатов). Но ваш рабочий процесс должен быть следующим:

  1. Выпустите сертификат с помощью GetHTTPS
  2. Настройте напоминания об обновлении — оповещение в календаре на 60-й день из 90
  3. Добавьте мониторинг SSL — cron-скрипт или SaaS-инструмент в качестве резервной копии
  4. Рассмотрите Certbot для автоматического обновления на продакшене

Часто задаваемые вопросы

Какой минимальный мониторинг нужен?

Как минимум: напоминание в календаре об обновлении сертификата (60-й день из 90) И автоматическая проверка (cron-скрипт или UptimeRobot). Календарь покрывает обычные обновления; автоматическая проверка обнаруживает сбои.

Как мониторить несколько доменов?

Cron-скрипт выше обрабатывает несколько доменов в цикле. SaaS-инструменты, такие как UptimeRobot, позволяют добавлять несколько мониторов — по одному на домен.

Нужно ли мониторить сертификаты staging/разработки?

Да, если это сертификаты Let’s Encrypt, которые истекают. Просроченный сертификат staging блокирует QA и разработку. Как минимум, установите напоминание в календаре.

А как насчёт мониторинга цепочки сертификатов, а не только срока действия?

SSL Labs API обеспечивает автоматическую проверку цепочки. Для быстрой ручной проверки:

echo | openssl s_client -connect example.com:443 2>/dev/null | grep "Verify return code"

Добавьте это в ваш cron-скрипт для мониторинга цепочки.

Похожие статьи

Развёртывание 2026-05-07
Как проверить срок действия SSL-сертификата
Проверьте, когда истекает ваш SSL-сертификат, с помощью браузера, OpenSSL или онлайн-инструментов. Настройте мониторинг, чтобы избежать неожиданного истечения срока и простоя.
SSL и сертификаты 2026-05-08
Certificate Transparency: как отслеживать сертификаты вашего домена
Журналы Certificate Transparency (CT) фиксируют каждый публично выданный SSL-сертификат. Узнайте, как работает CT, как отслеживать неавторизованные сертификаты вашего домена и как пользоваться crt.sh.
SSL и сертификаты 2026-05-07
Срок действия SSL-сертификатов: изменение на 47 дней
CA/Browser Forum проголосовал за сокращение срока действия SSL-сертификатов до 47 дней к 2029 году. Узнайте хронологию, что это значит для вашего сайта и как подготовиться.
Начало работы 2026-05-07
Как продлить сертификат Let's Encrypt
Сертификаты Let's Encrypt истекают каждые 90 дней. Узнайте, как продлить с помощью GetHTTPS (вручную) или Certbot (автоматически), и подготовьтесь к 47-дневному сроку действия.
Получите бесплатный SSL-сертификат в браузере
Без установки, без аккаунта. Ваш приватный ключ никогда не покидает устройство.
Получить сертификат