Как проверить SSL-сертификат и не пропустить истечение
Браузер показывает замок в адресной строке — и большинство владельцев сайтов считают, что с SSL всё в порядке. Пока в один день не приходит уведомление хостинга, что сертификат истёк три дня назад, а посетители видят предупреждение «Ваше соединение не защищено». Трафик падает, доверие теряется, поисковики фиксируют сигнал о неблагонадёжности.
Что такое SSL/TLS-сертификат
проверку SSL (технически TLS, но термин «SSL» прижился) — это цифровой документ, подтверждающий: сервер принадлежит тому, кем представляется. Он содержит публичный ключ шифрования и позволяет установить зашифрованное соединение между браузером и сервером. Без сертификата данные передаются открытым текстом — провайдер, публичный Wi-Fi или корпоративный прокси могут читать или подменять трафик.
Что содержит сертификат
- Субъект (Subject) — домен или организация, которой выдан сертификат
- Издатель (Issuer) — удостоверяющий центр (CA), подписавший сертификат
- Срок действия — даты Not Before / Not After
- SAN (Subject Alternative Names) — список доменов, покрываемых сертификатом
- Алгоритм подписи — RSA или ECDSA; хэш SHA-256 (SHA-1 небезопасен)
- Отпечаток (Fingerprint) — уникальный хэш для идентификации
Цепочка доверия
Браузер доверяет сертификату, потому что он подписан организацией, которой браузер доверяет, — удостоверяющим центром (CA). CA строятся в иерархию:
- Корневой CA (Root CA) — DigiCert, Let's Encrypt, Sectigo. Их сертификаты зашиты в ОС и браузеры
- Промежуточный CA (Intermediate CA) — подписан корневым CA
- Сертификат сайта (Leaf) — ваш сертификат, подписанный промежуточным CA
Если промежуточный сертификат не установлен на сервере — браузер получает неполную цепочку и показывает ошибку, даже если сертификат действителен. Это одна из самых частых ошибок настройки.
Типы SSL-сертификатов
По уровню проверки
- DV (Domain Validation) — только владение доменом. Выдаётся автоматически за минуты. Используется Let's Encrypt, ZeroSSL.
- OV (Organization Validation) — CA проверяет существование организации. Подходит для корпоративных сайтов.
- EV (Extended Validation) — максимальная проверка: юридическое лицо, местонахождение.
По охвату доменов
- Single-domain — только один домен
- Wildcard (*.example.com) — все поддомены первого уровня
- Multi-domain (SAN) — несколько разных доменов
Максимальный срок действия сегодня — 13 месяцев (397 дней). Let's Encrypt выдаёт на 90 дней, стимулируя автоматическое обновление.
Как проверить SSL-сертификат вручную
Через браузер
Нажмите на замок в адресной строке. Chrome: замок → «Соединение защищено» → «Сертификат действителен». Покажет владельца, издателя, срок действия и алгоритм. Минус: не предупреждает заранее об истечении.
Через OpenSSL
openssl s_client -connect example.com:443 -servername example.com— полная информация о TLS-рукопожатии и цепочкеopenssl s_client -connect example.com:443 < /dev/null | openssl x509 -noout -dates— только даты срока действияopenssl s_client -connect example.com:443 < /dev/null | openssl x509 -noout -text | grep -A1 "Subject Alternative"— список доменов в SAN
Через curl
curl -vI https://example.com 2>&1 | grep -E "expire|issuer|subject"— дата истечения и издательcurl --cert-status https://example.com— OCSP-статус (отозван ли сертификат)
Как проверить SSL-сертификат онлайн
Проверить SSL-сертификат в Enterno.io позволяет за секунды получить: полную информацию о сертификате, дату истечения и дни до неё, полную цепочку доверия, список SAN-доменов, поддерживаемые протоколы TLS, предупреждение если сертификат истекает в ближайшие 14 дней.
Частые ошибки SSL
- NET::ERR_CERT_DATE_INVALID — сертификат истёк или неправильная дата на сервере
- NET::ERR_CERT_COMMON_NAME_INVALID — домен не совпадает с CN/SAN. После смены домена.
- NET::ERR_CERT_AUTHORITY_INVALID — не установлен промежуточный сертификат
- ERR_SSL_PROTOCOL_ERROR — несовместимые версии TLS (сервер поддерживает только TLS 1.0/1.1)
- Mixed Content — часть ресурсов загружается по HTTP
Почему сертификаты истекают неожиданно
Технически — дата известна заранее. Но на практике:
- Автоматическое обновление сломалось — certbot работал годами, потом изменился конфиг nginx и domain challenge перестала проходить
- Ответственный сменился — уведомления уходят на email уволившегося коллеги
- Сертификат куплен в панели хостинга — автопродления нет, уведомления в кабинете, который никто не проверяет
- Несколько поддоменов — основной домен обновляется, а API документацию.example.com — нет
По данным исследований, истечение SSL входит в топ-5 причин незапланированных простоев. Ericsson, Microsoft, Spotify — все попадали в новости из-за просроченных сертификатов.
Мониторинг SSL-сертификатов
Настроить мониторинг SSL в Enterno.io: добавьте домен, выберите тип проверки SSL, задайте интервал, настройте уведомления (email, Telegram, Slack, webhook). Получайте предупреждения за 14 дней до истечения и критические — за 3 дня.
мониторинг сайтов отслеживает не только дату истечения, но и корректность цепочки, смену CA и изменение отпечатка — важно для обнаружения несанкционированной замены сертификата.
Что настроить дополнительно
- Certbot: проверьте
systemctl status certbot.timer. Настройте--deploy-hookдля перезагрузки nginx после обновления. - HSTS: включите
Strict-Transport-Security: max-age=31536000; includeSubDomains - OCSP Stapling: ускоряет проверку отозванности сертификата
- CAA-запись: ограничивает, какие CA могут выдавать сертификаты для вашего домена
Чеклист проверки SSL
- Сертификат действителен
- Домен совпадает с CN или входит в SAN
- Цепочка полная: leaf + intermediate + root
- Алгоритм подписи: SHA-256 или сильнее
- Протоколы: TLS 1.2 и TLS 1.3, TLS 1.0/1.1 отключены
- Нет смешанного контента
- HSTS включён
- Настроен автоматический мониторинг с уведомлениями за 14+ дней
Итог
SSL-сертификат — постоянная ответственность, а не разовая настройка. Проверить SSL сертификат нужно регулярно: браузер, OpenSSL, curl и онлайн-чекер дают мгновенную картину. Но только автоматический мониторинг гарантирует, что вы узнаете о проблеме раньше ваших пользователей.
Проверьте ваш сайт прямо сейчас
Проверить →