Проверка SSL-сертификата и TLS
Срок действия, TLS-версии (1.0–1.3), алгоритм подписи, размер ключа, SAN. Покажем когда обновлять и где слабо.
Что такое SSL/TLS и зачем его проверять
SSL (теперь TLS) — протокол шифрования трафика между браузером и сервером. Без него пароли, формы, cookies, платежи можно перехватить на любом промежуточном узле. С 2018 HTTPS — обязательный стандарт: Chrome помечает HTTP-сайты «Не защищено», Google понижает в выдаче, Web Push и геолокация работают только по HTTPS.
Сертификат может быть валидным, но с устаревшими настройками: TLS 1.0/1.1, RSA-1024, SHA-1 — всё это уязвимости для современных атак (BEAST, POODLE, SLOTH). Наш чекер проверяет 9 ключевых параметров.
Что мы проверяем
Сертификат
- Валидность — прошёл ли cert проверку доверия корневых CA
- Срок до истечения — алёрт если <30 дней (Let's Encrypt обновляет за 30 дней до)
- Hostname match — покрывает ли cert запрошенный домен через CN или SAN
- Issuer — кто выпустил (Let's Encrypt, DigiCert, Sectigo и т.д.)
TLS-версии
- TLS 1.3 — желаемый, быстрее на 30%, поддерживается с 2018
- TLS 1.2 — минимальный современный стандарт (с 2008)
- TLS 1.1 — deprecated с 2020, должен быть отключён
- TLS 1.0 — deprecated с 2020, провал PCI DSS, отключать
Правильная настройка nginx: ssl_protocols TLSv1.2 TLSv1.3;
Криптография
- Алгоритм подписи — должен быть SHA-256, SHA-384 или SHA-512. SHA-1 deprecated с 2016
- Размер ключа — RSA 2048+ ИЛИ ECDSA 256+. RSA <2048 — критическая уязвимость
- SAN — современные сертификаты используют SAN вместо CN. Если SAN пуст — Chrome 114+ ругается
FAQ
Что лучше — Let's Encrypt бесплатный или платный?
Для большинства сайтов Let's Encrypt лучше. Бесплатно, ECDSA, автообновление через certbot, валиден везде. Платный имеет смысл только для: EV-сертификатов (зелёная строка) — но Chrome убрал отображение в 2019, или для Wildcard на много субдоменов с одним cert.
Сертификат истёк — что делать срочно?
Все браузеры показывают полноэкранную ошибку «Не безопасно», сайт фактически недоступен. Срочно перевыпустите cert через certbot renew (Let's Encrypt) или панель регистратора. Параллельно проверьте почему автообновление не сработало — почти всегда это сломанный cron или права на /etc/letsencrypt.
Можно ли использовать самоподписанный SSL?
Только для разработки и внутренних сервисов. На продакшене — нет: все браузеры покажут warning, юзеры уйдут. Самоподписанный = TOFU (trust on first use), который ломается при ротации cert.
Я перевыпустил сертификат, а проверка показывает старый. Почему?
Браузер и наш сервис кэшируют SSL-handshake на ~1-2 минуты. Если поменяли cert — подождите 5 минут и проверьте снова. Если nginx — обязательно nginx -s reload после замены файла. Обновите вручную: echo | openssl s_client -connect domain.ru:443
Что такое OCSP stapling и нужен ли он?
OCSP stapling — техника, при которой сервер сам подгружает «свежесть» cert от CA и подсовывает её клиенту в handshake. Без неё каждый клиент идёт сам в OCSP-responder CA — медленнее на 100-300мс. Включение в nginx: ssl_stapling on; ssl_stapling_verify on;
Связанные инструменты
- Анализатор HTTP-заголовков — security headers (HSTS, CSP)
- Проверка DNS-записей — A, MX, SPF, DKIM, DMARC
- WHOIS домена — регистратор, владелец
- Все бесплатные инструменты
- Полный SEO-аудит сайта по 80 параметрам