В настоящее время я использую nagios для мониторинга, в том числе с помощью check_http
варианты проверки сертификата SSL, срок действия которого скоро истекает, и т. д. Я бы хотел включить тестирование отозванных сертификатов для каждого из отслеживаемых мной сайтов. Звучит просто, правда? Хорошо:
check_http
похоже, не проверяет отозванные сертификаты. По крайней мере, он не пищал, когда это случилось недавно, что привело к некоторой путаницеverify
имеет -crl_check
и -crl_check_all
, что было бы здорово, но меня больше волнует OSCP, чем списки отзыва сертификатов (поскольку это то, о чем будут заботиться браузеры)oscp
режим, но похоже, что мне придется проделать кучу работы, чтобы получить сертификат в нужном месте, выяснить, где находится сервер OSCP и т. д.Я нашел кучу статей о написании кода для проверки OSCP, но ведь должна же быть хорошая программа, которая это делает, верно? Мне нужен чек Nagios или что-то, что я мог бы использовать как таковой. В моем идеальном мире это выглядело бы примерно так:
check_http_with_oscp -I (IP) -H (hostname) -p 443
Кто угодно?
Боюсь, что здесь я могу дать только подсказки, но вы должны уметь собрать что-нибудь без особой боли.
s_client -showcerts openssl сбрасывает закодированные сертификаты PEM. Вы можете легко извлечь каждый из них с помощью регулярного выражения. Затем направьте их через openssl x509 -text, чтобы извлечь URL-адрес OCSP. Затем openssl ocsp можно использовать для отправки запроса OCSP ответчику:
http://openssl.org/docs/apps/ocsp.html
В каждом случае вам понадобится родительский сертификат, который у вас будет, кроме корневого. Так что, помимо, возможно, жесткого кодирования, он вполне самодостаточен. (Вы также можете загрузить корневой сертификат через URL-адрес расширения AIA.)