Eu não tenho experiência com isso, mas parece que o check_ssl_cert faz o que você está procurando.
Trecho do site do autor:
check_ssl_cert is a Nagios plugin to check the CA and validity of an X.509 certificate
O Nagios pode fazer a verificação SSL, mas na verdade não verifica se o certificado é válido para o endereço de conexão que você está usando (correspondência de nome comum).
Em um de nossos servidores, um arquivo de configuração do postfix foi substituído por uma atualização do Plesk sem aviso prévio, resultando em uma regressão a um certificado de óleo de serpente. O Nagios verifica o SSL, mas não o viu. Para esse fim, gostaria de verificar mais do que apenas a data de validade e, na verdade, verificar a cadeia CA.
Eu tentei vários plugins SSL para nagios, mas nenhum deles pode fazê-lo.
Alguém tem conselho?
Eu não tenho experiência com isso, mas parece que o check_ssl_cert faz o que você está procurando.
Trecho do site do autor:
check_ssl_cert is a Nagios plugin to check the CA and validity of an X.509 certificate
Eu também não consigo encontrar um plugin que o teste, mas seria muito fácil envolver algumas criações aleatórias de plugins GPL em um one-liner do openssl. Aqui está um one-liner comparando a saída de dois dos meus servidores; www tem um certificado Equifax, nagios é auto-assinado:
[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 ~]$
e
[madhatter@anni ~]$ echo "" | openssl s_client -connect www.teaparty.net:443 |& grep "verify error"
[madhatter@anni ~]$ echo $?
1
[madhatter@anni ~]$
observe a mudança agradável e fácil de testar no status de saída do grep, dependendo se ele encontra ou não a string "verify error".
Como é isso?
Eu tentei criar uma verificação do Nagios para verificar a base da cadeia neste método, mas este método não parece funcionar com o Debian sem mudanças. Você deve usar:
echo "" | openssl s_client -showcerts -connect example.com:443 -CApath /etc/ssl/certs/ |& grep "verify error"
Além disso, isso não funciona quando a cadeia está na ordem errada , mas ainda está presente por completo.
Você diria que o pedido realmente não se importa, desde que os intermediários estejam na ordem correta, mas alguns sistemas exigem que a CA raiz esteja presente e alguns sistemas não.