Как проверить, отозваны ли мои SSL-сертификаты?


23

Недавнее обнаружение уязвимой части сердца побудило центры сертификации переиздавать сертификаты.

У меня есть два сертификата, которые были сгенерированы до того, как была обнаружена уязвимость. После того, как издатель SSL сказал мне восстановить сертификат, я обновил оба моих сервера / домена новыми сертификатами.

Если мое понимание верно, тогда старые сертификаты должны были быть отозваны ЦС и должны были быть внесены в CRL (список отзыва сертификатов) или базу данных OCSP (сетевой протокол статуса сертификата), в противном случае технически возможно, чтобы кто-то выполнил " «Человек в середине атаки» путем восстановления сертификатов из информации, полученной из скомпрометированных сертификатов.

Есть ли способ проверить, сделали ли мои старые сертификаты CRL и OCSP. Если у них нет, есть ли способ включить их?

ОБНОВЛЕНИЕ: Ситуация такова, что я уже заменил свои сертификаты, все, что у меня есть, это файлы .crt старых сертификатов, поэтому использование URL для проверки на самом деле невозможно.


Вы можете проверить, используя certutil, я верю. Прочитайте здесь
MichelZ

1
Я использую Ubuntu в качестве рабочего стола и Centos на своем сервере
sridhar pandurangiah,

Тогда я призываю вас
отметить

Я рекомендую прочитать это для * nix
MichelZ

@MichelZ - я пометил вопрос с Ubuntu
sridhar pandurangiah

Ответы:


10

Получите URL-адрес OCSP от вашего сертификата:

$ openssl x509 -noout -ocsp_uri -in /etc/letsencrypt/archive/31337.it/cert1.pem
http://ocsp.int-x1.letsencrypt.org/
$

Отправьте запрос на сервер ocsp, чтобы проверить, отозван ли сертификат или нет:

$ openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain4.pem -cert /etc/letsencrypt/archive/31337.it/cert4.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 10:00:00 2015 GMT
        Next Update: Nov  5 10:00:00 2015 GMT
$

это хороший сертификат.

Это отозванный сертификат:

$  openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain3.pem -cert /etc/letsencrypt/archive/31337.it/cert3.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 12:00:00 2015 GMT
        Next Update: Nov  5 12:00:00 2015 GMT
        Revocation Time: Oct 29 12:33:57 2015 GMT
$

Это сработало для меня (спасибо), но я подумал, что я бы также упомянул, что в дополнение к «Время отзыва», мой «выход» также показал причину отзыва, что было полезно, когда мы связались с эмитентом, пытаясь выяснить, что происходит с ним. сертификат
sdek

10

Вы можете использовать certutil в Windows:

Если у вас есть сертификат и вы хотите проверить его действительность, выполните следующую команду:

certutil -f –urlfetch -verify [FilenameOfCertificate]

Например, используйте

certutil -f –urlfetch -verify mycertificatefile.cer

Источник / Больше информации: TechNet

Кроме того, не забудьте проверить с вашим CA. Тот факт, что вы повторно вводите сертификат / получаете новый, не означает, что они автоматически его отменяют!


1
Для установки certutilна сервер Ubuntu используйте команду sudo apt-get install libnss3-tools. Это не очевидно, так как поиск в кэше apt-get не возвращает результатов для строки certutil. Я знаю, что сервером OP является CentOS, но возможно, что другие администраторы Ubuntu Server также сочтут этот вопрос полезным.
dotancohen

Мой ответ был основан исключительно на Windows . Я не знаю ни одной * nix-реализации этого. Смотрите здесь для возможного решения * nix
MichelZ

2
@dotancohen Хотя эта программа также называется certutil, она не такая же, как certutil.exeв Windows, и не используется таким же образом.
Дэн Гетц

1

Вы можете использовать эту службу SSLLabs для тестирования SSL-сертификатов, но вам нужно, чтобы они были доступны через Интернет. Кроме того, вы можете узнать больше информации, потому что этот сервис предоставляет некоторый аудит.


Для этого необходимо, чтобы сервер работал со старым сертификатом. Но восстановив мои сертификаты, все, что у меня есть, - это файл .crt старого сертификата.
Шридхар Пандуранджа,

1

Если вы отозвали сертификаты через ЦС, который их сгенерировал, они бы сделали это с OCSP и CRL.

Если вы хотите убедиться, что это так, то, пожалуйста, извлеките URL-адрес ocsp из сертификата, а затем создайте запрос ocsp к этому URL-адресу, включая серийный номер сертификата, сертификат издателя ca и получите ответ ocsp, а затем можно проанализируйте это, чтобы проверить и подтвердить, что это действительно отозвано.

Более подробно на этой полезной странице: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

Примечание: это требует использования библиотеки openssl.

Edit1: я вижу, что вы добавили информацию об OCSP и CRL явно после этого ответа.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.