crl сертификат что это

Что такое CRL или список аннулированных сертификатов?

Что такое CRL или список аннулированных сертификатов?

CRL или CAC — списки SSL-сертификатов, отозванных центром выдачи (CA). На 2017 год происходит отказ от использования CRL (САС) в пользу OCSP (Онлайн Протокол Состояния Сертификата).

SSL обеспечивает защищённое HTTPS-соединение с сайтом, но существуют угрозы безопасности даже при действующем сертификате. Самая распространённая – секретный ключ скомпрометирован. Передача данных становится небезопасна. Чтобы номера кредитных карт и пароли пользователей не попали к мошенникам, сертификат нужно отозвать.

Основные причины аннулирования SSL:

Как работают списки CRL?

Список аннулированных сертификатов публикует Certificate Authority (CA), выдавший сертификат:

1) Владелец домена или посетитель сайта, заметивший проблему, обращается в CA и просит аннулировать действующий SSL.

2) CA заносит уникальный серийный номер сертификата в список CAC, который:

3) Каждый раз при соединении с ресурсом браузер посетителя проверяет, аннулирован ли SSL-сертификат. Смотрит в загруженных списках CRL или по протоколу OCSP — через запрос к CA. Если находит сертификат в списке CRL или получает от CA ответ, что сертификат отозван — показывает предупреждение об ошибке.

Не все браузеры загружают списки CAC и пользуются OCSP

Firefox проверяет статус только для сертификатов с расширенной проверкой EV. Пользователи этого браузера не узнают об отзыве SSL DV и OV. Так же как и мобильные пользователи Safari в iOS. Chrome определяет статус сертификата для Windows, но не для Linux и Android.

Internet Explorer и Opera — самые безопасные в этом отношении браузеры. Они используют OCSP и CRL в зависимости от того, что предлагает CA.

Аннулированный сертификат нельзя восстановить, только купить новый. Берегите секретный ключ — его утеря или компрометация чаще всего приводит к отзыву SSL-сертификата.

Источник

Проверка SSL-сертификатов на предмет отзыва

В наше время одним из самых важных аспектов безопасной передачи информации является шифрование. Данные при передаче от клиента к серверу зашифровываются с помощью SSL-сертификата. Сертификат – это публичный ключ, заверенный удостоверяющим центром.

Все SSL-сертификаты, как правило, выдаются на ограниченный срок, по окончании которого они теряют силу и должны быть переизданы. Однако бывают случаи, когда сертификат может быть отозван ещё до окончания срока действия. Причин на отзыв SSL-сертификата довольно много, самые распространённые из них – закрытый ключ был утерян или скомпрометирован, изменились регистрационные данные компании и т.п.

Существует 2 альтернативных способа проверить, находится ли SSL-сертификат в списках отзыва:

Скачаем сертификат интересующего нас домена:

Спасибо legioner за подсказку добавить параметр -servername — он необходим для правильного выбора сертификата, если на один IP-адрес их установлено несколько (SNI).

Смотрим детали сертификата:

Здесь нас интересует в разделе «X509v3 CRL Distribution Points» пункт «Full Name».

Скачиваем по этой ссылке список CLR:

Выдираем серийный номер сертификата:

Смотрим, есть ли этот номер в списке CRL:

Если ничего не нашлось, значит сертификат не является отозванным.

Выведем на экран сертификат интересующего нас домена и цепочки промежуточных (Intermediate) сертификатов:

Отправим запрос OCSP-серверу проверить сертификат на предмет отзыва:

Если всё указали правильно, то OCSP-сервер должен вернуть информацию по сертификату.

Здесь интерес представляют последние строчки:

Об отсутствии сертификата в списке отозванных говорит значение «good», если же сертификат отозвали, то значение будет «revoked».

Автоматизация

Проверять SSL-сертификаты на предмет отзыва вручную не всегда удобно, поэтому процесс проверки можно автоматизировать.

Для этого берём с Github готовый скрипт ssl-check-revoc.sh, который осуществляет проверку сертификатов методом CRL:

Далее делаем скрипт исполняемым:

Zabbix

Скрипт ssl-check-revoc.sh может проверять сертификаты не только из консоли, он также вполне подходит в качестве чекера для Zabbix, поэтому всю грязную работу по отслеживанию попадания сертификатов в список отзыва можно поручить системе мониторинга.

Заходим в конфиг Zabbix /etc/zabbix/zabbix_server.conf и смотрим, где лежат скрипты для внешних проверок:

Копируем в этот каталог наш скрипт и рестартуем Zabbix:

Заходим в веб-интерфейс и создаём шаблон (Configuration >> Templates >> Create template). В качестве имени шаблона указываем «Template SSL Checking». Затем внутри шаблона создаём элемент данных (Item) «SSL Certificate in Revocation List», в качестве ключа указываем «ssl-check-revoc.sh[]», с типом проверки «External check». Интервал проверок можно установить на своё усмотрение в зависимости от критичности проекта.

Также понадобятся два триггера:

1. Для сигнализации отзыва сертификата «Certificate for domain is in revocation list»
Expression: «