Что такое CRL или список аннулированных сертификатов?
Что такое CRL или список аннулированных сертификатов?
CRL или CAC — списки SSL-сертификатов, отозванных центром выдачи (CA). На 2017 год происходит отказ от использования CRL (САС) в пользу OCSP (Онлайн Протокол Состояния Сертификата).
SSL обеспечивает защищённое HTTPS-соединение с сайтом, но существуют угрозы безопасности даже при действующем сертификате. Самая распространённая – секретный ключ скомпрометирован. Передача данных становится небезопасна. Чтобы номера кредитных карт и пароли пользователей не попали к мошенникам, сертификат нужно отозвать.
Основные причины аннулирования SSL:
- ключ утерян/украден или скомпрометирован
- неверно указано название компании или другие данные
- сайт прекратил работу
- сменился владелец ресурса
- выдавший сертификат Certification Authority скомпрометирован
Как работают списки 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-сертификат в списках отзыва:
- CRL (Certificate Revocation List) – проверяется наличие серийного номера сертификата в списке отзыва.
- OCSP (Online Certificate Status Protocol) – сертификат отправляется на специализированный сервер, где проверяется его статус.
CRL
Скачаем сертификат интересующего нас домена:
echo -n | openssl s_client -connect habr.com:443 -servername habr.com 2>&1 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/habr.com.crt
Спасибо legioner за подсказку добавить параметр -servername — он необходим для правильного выбора сертификата, если на один IP-адрес их установлено несколько (SNI).
Смотрим детали сертификата:
openssl x509 -noout -text -in /tmp/habr.com.crt
Здесь нас интересует в разделе «X509v3 CRL Distribution Points» пункт «Full Name».
Скачиваем по этой ссылке список CLR:
wget http://crl.comodoca.com/COMODORSADomainValidationSecureServerCA.crl
Выдираем серийный номер сертификата:
openssl x509 -in /tmp/habr.com.crt -noout -serial
Смотрим, есть ли этот номер в списке CRL:
openssl crl -inform DER -text -in COMODORSADomainValidationSecureServerCA.crl | grep "90E58B0601C3AD98F07AEE092041C437"
Если ничего не нашлось, значит сертификат не является отозванным.
OCSP
Выведем на экран сертификат интересующего нас домена и цепочки промежуточных (Intermediate) сертификатов:
echo -n | openssl s_client -connect habr.com:443 -showcerts
Сохраним в файлы сертификат домена и промежуточный сертификат (код между строками ——BEGIN CERTIFICATE—— и ——END CERTIFICATE——):
/tmp/habr.com.crt /tmp/intermediate.crt
openssl x509 -in /tmp/habr.com.crt -noout -ocsp_uri
Отправим запрос OCSP-серверу проверить сертификат на предмет отзыва:
openssl ocsp -url http://ocsp.comodoca.com -issuer /tmp/intermediate.crt -cert /tmp/habr.com.crt -text
Если всё указали правильно, то OCSP-сервер должен вернуть информацию по сертификату.
Здесь интерес представляют последние строчки:
Response verify OK /tmp/habr.com.crt: good
Об отсутствии сертификата в списке отозванных говорит значение «good», если же сертификат отозвали, то значение будет «revoked».
Автоматизация
Проверять SSL-сертификаты на предмет отзыва вручную не всегда удобно, поэтому процесс проверки можно автоматизировать.
Для этого берём с Github готовый скрипт ssl-check-revoc.sh, который осуществляет проверку сертификатов методом CRL:
wget https://raw.githubusercontent.com/o-pod/security/master/ssl-check-revoc.sh
Далее делаем скрипт исполняемым:
chmod a+x ssl-check-revoc.sh
Теперь можно проверять как уже установленные сертификаты для домена, так и сохранённые локально в файлы (опция -f):
./ssl-check-revoc.sh habr.com -v
Zabbix
Скрипт ssl-check-revoc.sh может проверять сертификаты не только из консоли, он также вполне подходит в качестве чекера для Zabbix, поэтому всю грязную работу по отслеживанию попадания сертификатов в список отзыва можно поручить системе мониторинга.
Заходим в конфиг Zabbix /etc/zabbix/zabbix_server.conf и смотрим, где лежат скрипты для внешних проверок:
ExternalScripts=/etc/zabbix/externalscripts
Копируем в этот каталог наш скрипт и рестартуем Zabbix:
sudo cp ssl-check-revoc.sh /etc/zabbix/externalscripts/ sudo systemctl restart zabbix-server
Заходим в веб-интерфейс и создаём шаблон (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: «=1″

2. Для сигнализации об ошибке на случай, если что-то пойдёт не так (например возникнут проблемы с CLR-сервером и т.п.) «Error to check certificate for domain »
Expression: «=2″

Не забываем в экшенах (Configuration >> Actions) настроить способ оповещения в случае срабатывания триггеров.
Теперь осталось создать хосты, сертификаты которых будем регулярно проверять (Configuration >> Hosts >> Create host). На вкладке Templates прилинковываем наш темплейт «Template SSL Checking».

И всё! Можно спать спокойно: если SSL-сертификат вашего домена по какой-либо причине попадёт в список отозванных, Zabbix сразу же вам сообщит.
- Информационная безопасность
- Серверное администрирование
Просмотр листа отзыва SSL сертификатов Центра сертификации CRL
Сервис обрабатывает ваш запрос.
Пожалуйста дождитесь результата.
Certificate Revokation List
- http://cdp.rapidssl.com/RapidSSLRSACA2018.crl
- http://cdp.geotrust.com/GeoTrustEVRSACA2018.crl
- http://cdp.thawte.com/ThawteRSACA2018.crl
- http://cdp.thawte.com/ThawteEVRSACA2018.crl
- http://crl3.digicert.com/sha2-ev-server-g2.crl
- http://crl4.digicert.com/sha2-ev-server-g2.crl

Copyright © 1997-2023 adgrafics
Что такое crl
What’s on this Page
.CRL вариант №
Файл CRL (Certificate Revocation List) — это черный список цифровых сертификатов X.509, которые центр сертификации (ЦС) отзывает до назначенной даты отзыва. Он содержит информацию о проблеме и дату отзыва, что позволяет администраторам безопасности блокировать затронутые цифровые сертификаты. CRL не включает сертификаты с истекшим сроком действия, поскольку его основная цель — уведомлять о ненадежных и недействительных сертификатах.
Приложения, которые могут открывать файлы CRL, включают OpenSSL, Microsoft IIS Server и Citrix NetScaler.
Формат файла CRL — дополнительная информация
Файлы CRL содержат информацию в стандарте X.509, который также определяет его семантику для обмена информацией об открытом ключе. Другая информация, содержащаяся в файле CRL, может включать срок, в течение которого сертификаты были отозваны, причину отзыва, серийный номер отозванного сертификата и отметку времени.
Основные причины добавления сертификатов в CRL
Может быть несколько причин отзыва сертификата вашего веб-сайта и его добавления в список отзыва сертификатов. Некоторые из них могут быть;
- Закрытый ключ вашего сертификата был скомпрометирован
- Ваш сертификат недействителен или неправильно выдан ЦС
- Изменяются организационные данные, связанные с сертификатом, и ЦС выдает новый сертификат.
- Любая другая неизбежная причина, по которой сертификат был отозван.
использованная литература
- Национальный институт стандартов и технологий (NIST)
- Internet Engineering Task Force (IETF) RFC 5280
- Список отозванных сертификатов