Nagios может выполнять проверку SSL, но на самом деле он не проверяет, действителен ли сертификат для адреса подключения, который вы используете (совпадение общего имени).
На одном из наших серверов файл конфигурации постфикса был заменен обновлением Plesk без предварительного уведомления, что привело к возврату к сертификату змеиного масла. Nagios проверяет SSL, но не видит. С этой целью я хотел бы проверить не только дату истечения срока действия, но и проверить цепочку ЦС.
Я пробовал несколько плагинов SSL для nagios, но ни один из них не может этого сделать.
Есть ли у кого-нибудь совет?
У меня нет опыта, но похоже check_ssl_cert плагин делает то, что вы ищете.
Выдержка с сайта автора:
check_ssl_cert - это плагин Nagios для проверки CA и действительности сертификата X.509.
Я также не могу найти плагин, который бы это тестировал, но было бы очень легко обернуть некоторые случайные кишки GPL-плагина вокруг однострочника openssl. Вот однострочное сравнение вывода двух моих серверов; www имеет сертификат Equifax, nagios самоподписанный:
[madhatter@anni ~]$ echo "" | openssl s_client -connect nagios.teaparty.net:443 |& grep "verify error"
verify error:num=18:self signed certificate
[madhatter@anni ~]$ echo $?
0
[madhatter@anni ~]$
и
[madhatter@anni ~]$ echo "" | openssl s_client -connect www.teaparty.net:443 |& grep "verify error"
[madhatter@anni ~]$ echo $?
1
[madhatter@anni ~]$
обратите внимание на приятное, легкое для проверки изменение статуса выхода grep, в зависимости от того, находит ли он строку «проверить ошибку».
Как это?
Я попытался создать проверку Nagios, чтобы проверить базу порядка цепочки для этого метода, но этот метод, похоже, не работает с Debian без изменений. Вам следует использовать:
echo "" | openssl s_client -showcerts -connect example.com:443 -CApath /etc/ssl/certs/ |& grep "verify error"
Кроме того, это не работает, когда цепь находится в неправильный порядок, но все же присутствует целиком.
Вы бы сказали, что порядок на самом деле не важен, если промежуточные звенья находятся в правильном порядке, но некоторые системы требуют наличия корневого центра сертификации, а некоторые нет.