TLS-сертификат и CAA-записи: как проверить SSL своего сайта
Замочек в адресной строке — это не просто «есть сертификат или нет». У сертификата есть срок действия, цепочка доверия до корневого центра сертификации, и сервер может поддерживать как современные, так и опасно устаревшие версии протокола TLS. Разбираемся, на что обращать внимание.
Срок действия сертификата
У каждого TLS-сертификата есть дата окончания — современные сертификаты (Let's Encrypt и большинство публичных CA) выпускаются на 90 дней или около года и должны автоматически продлеваться. Если автопродление сломалось (например, истёк cron-скрипт или сменился IP, и ACME-проверка domain validation перестала проходить), сайт в какой-то момент покажет посетителям предупреждение «сертификат просрочен» — это один из самых частых и самых заметных сбоев на сайте.
Цепочка доверия (certificate chain)
Браузер доверяет не самому сертификату сайта напрямую, а цепочке: сертификат сайта подписан промежуточным сертификатом центра сертификации, а тот в свою очередь — корневым, который уже заранее встроен в браузер или операционную систему. Если сервер не отправляет промежуточный сертификат целиком (частая ошибка конфигурации после смены CA), часть браузеров и почти все старые устройства или библиотеки (curl, старые Android) не смогут выстроить цепочку и покажут ошибку, хотя в современном Chrome на десктопе сайт может при этом открываться нормально — потому что он подгружает недостающий промежуточный сертификат сам через AIA.
Устаревшие протоколы TLS 1.0 / TLS 1.1
Эти версии протокола имеют известные криптографические слабости и официально выведены из употребления крупными браузерами и платёжными стандартами (PCI DSS). Если сервер по-прежнему их принимает — это не ошибка, сайт продолжит работать с современными клиентами по TLS 1.2/1.3, но держать включённой заведомо слабую версию протокола без необходимости не стоит: это расширяет поверхность атаки без какой-либо пользы, потому что значимый трафик по TLS 1.0/1.1 сегодня почти никто не генерирует.
CAA-записи: кто имеет право выпустить сертификат
CAA (Certification Authority Authorization) — это DNS TXT-подобная запись, которая явно указывает, каким центрам сертификации разрешено выпускать TLS-сертификаты для домена. Без CAA-записи сертификат на ваш домен теоретически может запросить (и получить, пройдя стандартную проверку domain validation) любой публичный CA в мире. С записью вида CAA 0 issue "letsencrypt.org" домен говорит: «выпускать сертификаты разрешено только Let's Encrypt», и любой другой CA обязан отклонить запрос. Есть также тег issuewild (отдельно для wildcard-сертификатов типа *.example.com) и iodef — адрес, на который CA должны сообщать о попытке выпуска сертификата, не прошедшей это правило.
Как проверить свой сайт
Инструмент «SSL/TLS» на az.pon.az показывает дату окончания сертификата, полную цепочку (издатель, субъект, сроки действия для каждого звена), какие версии протокола поддерживает сервер (с явным предупреждением на TLS 1.0/1.1), и отдельно — CAA-записи домена, если они настроены.
Проверить TLS-сертификат своего сайта → открыть инструмент на az.pon.az