Vérifier la validité de ses certificats SSL avec nagios

nagios_screen

Rien de plus honteux pour un sysadmin de laisser passer la date de validité des certificats SSL et de se retrouver avec des services mail en carafe, des vpn inutilisables et des messages « ce site n’est pas sécurisé » sur l’intranet client.

C’est particulièrement vrai si on utilise les services de letsencrypt.org, qui propose des certificats avec une très courte durée de validité, même si des rappels par email sont régulièrement reçus.

L’automatisation de cette vérification par Nagios est assez simple:
1. Installer le plugin adéquat.
2. Définir une nouvelle commande.
3. Définir un nouveau service.

En ce qui concerne mon installation:

  • Mes plugins personnalisés sont stockés dans /etc/nagios/Opendoor/Plugins
  • Mes définitions de commandes sont dans /etc/nagios/Opendoor/commandes.cfg
  • Mes définitions de services dans /etc/nagios/Opendoor/services.cfg
  • Bien évidemment, le répertoire /etc/nagios/Opendoor fait l’objet d’une directive cfg_dir dans le fichier de configuration principal /etc/nagios/nagios.cfg

Installer le plugin:

git clone https://github.com/matteocorti/check_ssl_cert.git
cp check_ssl_cert/check_ssl_cert /etc/nagios/Opendoor/Plugins/check_ssl_cert

Définir une nouvelle commande:

define command{
        command_name    check_cert_validity
        command_line    PATH_TO/check_ssl_cert --noauth -H $ARG1$ --warning 30 --critical 10
        }

Définir un nouveau service:

define service
        host_name               gelatine
        service_description     check certificate validity
        use                     lazy-service
        check_command           check_cert_validity!pad.opendoor.fr!
        }

Remarque:

  • lazy-service est une définition de service personnalisée, avec une
    fréquence de vérification moins importante. Vous pouvez-utiliser generic-service à la place.
  • host_name désigne la machine hébergeant le ou les sites
  • La commande prend en paramètre le nom du site dont on souhaite vérifier le certificat.

# vim: set filetype=dokuwiki: