Surveiller les certificats de site web avec Zabbix agent 2 (passif)

Introduction

Ce guide fournit un aperçu complet de la configuration et de la surveillance des certificats SSL/TLS à l'aide de la clé web.certificate.get dans Zabbix agent 2. Il est conçu pour simplifier la surveillance des certificats pour un ou plusieurs sites web, en permettant aux administrateurs d'identifier rapidement d'éventuels problèmes tels que des certificats expirés ou non valides.

À qui ce guide s'adresse

Ce guide est conçu pour les nouveaux utilisateurs de Zabbix et contient l'ensemble minimal d'étapes nécessaires pour activer la supervision de base des certificats de site web. Si vous recherchez des options de personnalisation avancées ou avez besoin d'une configuration plus poussée, consultez la section Configuration du manuel de Zabbix.

Prérequis

Avant de poursuivre ce guide, vous devez télécharger et installer le serveur Zabbix, l'interface Zabbix et l'agent 2 Zabbix conformément aux instructions pour votre système d'exploitation. Ce tutoriel suppose que le serveur Zabbix et l'agent sont tous deux installés sur la même machine ; par conséquent, 127.0.0.1 est utilisé dans la configuration.

Configurer Zabbix agent 2

1. Ouvrez le fichier de configuration de Zabbix agent :

sudo vi /etc/zabbix/zabbix_agent2.conf

2. Définissez le paramètre Server sur 127.0.0.1, puisque l'agent et le serveur s'exécutent sur la même machine :

Server=127.0.0.1

3. Enregistrez le fichier et redémarrez le service Zabbix agent 2 :

sudo systemctl restart zabbix-agent2

4. Après la configuration et la mise en place de Zabbix agent 2, testez sa disponibilité avec :

zabbix_get -s 127.0.0.1 -k web.certificate.get[<website_DNS_name>]

Zabbix agent 2 inclut le plugin WebCertificate par défaut, aucune installation ni configuration séparée n'est donc requise.

Configurer l'interface Zabbix

1. Connectez-vous à l'interface Zabbix.

2. Accédez à Monitoring > Hosts.

3. Cliquez sur un hôte existant sur lequel vous souhaitez surveiller les certificats de site web, ou créez un hôte si nécessaire :

  • Dans le champ Host name, saisissez un nom d'hôte (par exemple, "Certificate Monitoring").
  • Dans le champ Templates, saisissez ou sélectionnez le modèle "Website certificate by Zabbix agent 2" qui sera lié à l'hôte.
  • Dans le champ Host groups, saisissez ou sélectionnez un groupe d'hôtes (par exemple, "SSL/TLS Monitoring").
  • Dans le champ Interfaces, ajoutez une interface de type "Agent" et spécifiez une adresse IP. Pour cet exemple, "127.0.0.1" est utilisé.

  • Dans l'onglet Macros, passez à Inherited and host macros, recherchez les macros suivantes et cliquez sur Change à côté de la valeur de la macro pour la mettre à jour :
    • {$CERT.WEBSITE.HOSTNAME} - saisissez comme valeur le nom DNS du site web souhaité.

4. Cliquez sur Add pour ajouter l'hôte.

Pour surveiller plusieurs sites web, vous pouvez spécifier une liste de leurs noms d'hôte séparés par des virgules dans la macro {$CERT.WEBSITE.HOSTNAME}. En option, vous pouvez également fournir une liste de ports séparés par des virgules dans la macro {$CERT.WEBSITE.PORT}, où chaque port correspond au nom d'hôte respectif dans l'ordre. Par exemple, pour surveiller example.com et example.org sur le port 8443 :

  • {$CERT.WEBSITE.HOSTNAME} : example.com,example.org
  • {$CERT.WEBSITE.PORT} : 443,8443

Pour chaque site web spécifié dans la macro {$CERT.WEBSITE.HOSTNAME}, Zabbix créera un ensemble correspondant d'éléments et de déclencheurs. Cela permet une surveillance et des alertes individuelles pour le certificat SSL de chaque site web.

Afficher les métriques collectées

Félicitations ! À ce stade, Zabbix surveille déjà le certificat web souhaité.

Pour afficher les métriques collectées, accédez à la section de menu Monitoring > Hosts et cliquez sur Latest data à côté de l'hôte pour afficher toutes les dernières métriques collectées dans une liste, comme la date d'expiration, l'émetteur et le sujet.

Configurer les alertes de problème

Zabbix peut vous avertir des problèmes d'infrastructure. Ce guide fournit les étapes de configuration de base pour l'envoi d'alertes par e-mail.

1. Accédez à Paramètres utilisateur > Profil, ouvrez l'onglet Media et ajoutez votre adresse e-mail.

2. Suivez le guide pour Recevoir une notification de problème.

La prochaine fois que Zabbix détectera un problème, vous devriez recevoir une alerte par e-mail.

Testez votre configuration

Pour tester votre configuration, nous pouvons simuler un problème réel en mettant à jour la configuration de l'hôte dans l'interface Zabbix.

1. Ouvrez la configuration de votre hôte "Certificate Monitoring" dans Zabbix.

2. Accédez à l'onglet Macros et sélectionnez Inherited and host macros.

3. Cliquez sur Change à côté de la valeur de macro {$CERT.EXPIRY.WARN} précédemment configurée et définissez un nombre de jours très élevé (plus de 365 jours devrait suffire) afin de recevoir un avertissement avant l'expiration du certificat.

4. Cliquez sur Update pour mettre à jour la configuration de l'hôte.

5. Dans quelques instants, Zabbix détectera le problème "SSL certificate expires soon", avec le nombre de jours restants avant l'expiration. Le problème apparaîtra dans Monitoring > Problems.

Si les alertes sont configurées, vous recevrez également la notification du problème.

6. Rétablissez la valeur de la macro à sa valeur précédente pour résoudre le problème et continuer à surveiller les valeurs du certificat.

Voir aussi