Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

Bonnes pratiques pour la configuration sécurisée de Zabbix

Aperçu

Cette section contient les bonnes pratiques à suivre pour configurer Zabbix de manière sécurisée.

Les pratiques expliquées ici ne sont pas obligatoire pour faire fonctionner Zabbix. Elles sont recommandées pour une meilleure sécurité du système.

Utilisateur sécurisé pour l'agent Zabbix

Dans la configuration par défaut, les processus du serveur et de l'agent Zabbix partage le même utilisateur 'zabbix'. Si vous voulez être sûr que l'agent ne puisse pas accéder à certains détails sensibles de la configuration du serveur (ex : informations de connexion à base de données), l’agent devrait s’exécuter avec un utilisateur différent :

  1. Créer un utilisateur sécurisé
  2. Indiquer cet utilisateur dans le [[:manual/appendix/config/zabbix_agentd|fichier de configuration] de l'agent (paramètre : ’User’).
  3. Redémarrer l'agent avec des droits administrateurs. Les droits seront transférés à l'utilisateur indiqué.

Mettre en place le SSL pour l'interface Web

Sur RHEL/Centos, installez le package mod_ssl :

yum install mod_ssl

Créez un repertoire pour les clés SSL :

mkdir /etc/httpd/ssl

Ajoutez les paramètres SSL :

Country Name (2 letter code) [XX]:
       State or Province Name (full name) []:
       Locality Name (eg, city) [Default City]:
       Organization Name (eg, company) [Default Company Ltd]:
       Organizational Unit Name (eg, section) []:
       Common Name (eg, your name or your server's hostname) []:localhost
       Email Address []:

Éditez la configuration SSL Apache :

/etc/httpd/conf.d/ssl.conf
       
       DocumentRoot "/usr/share/zabbix"
       ServerName localhost:443
       SSLCertificateFile /etc/httpd/ssl/apache.crt
       SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Redémarrez le service Apache pour appliquer les changements :

systemctl restart httpd.service

Activation de Zabbix dans le répertoire racine de l'URL

Ajoutez un hôte virtuel à la configuration Apache et définissez une redirection permanente pour le document racine vers l'URL sécurisée de Zabbix. Remplacez localhost par le nom réel du serveur.

/etc/httpd/conf/httpd.conf
       
       #Add lines
       
       <VirtualHost *:*>
           ServerName localhost
           Redirect permanent / http://localhost
       </VirtualHost>

Redémarrez le service Apache pour appliquer les modifications :

systemctl restart httpd.service

Désactiver l'exposition des informations du serveur Web

Il est recommandé de désactiver toutes les signatures de serveur Web dans le cadre du processus de renforcement du serveur Web. Le serveur Web expose la signature logicielle par défaut :

La signature peut être désactivée en ajoutant deux lignes au fichier de configuration Apache (utilisé comme exemple) :

ServerSignature Off
       ServerTokens Prod

La signature PHP (X-Powered-By HTTP header) peut être désactivée en changeant le fichier de configuration php.ini (la signature est désactivée par défaut) :

expose_php = Off

Le redémarrage du serveur Web est obligatoire pour qur les changements dans le fichier de configuration soient appliqués.

Un niveau de sécurité supplémentaire peut être atteint en utilisant le mod_security (package libapache2-mod-security2) avec Apache. mod_security permet de supprimer la signature du serveur au lieu de supprimer uniquement la version de la signature du serveur. La signature peut être modifiée en n'importe quelle valeur en changeant "SecServerSignature" après l'installation de mod_security.

Reportez-vous à la documentation de votre serveur Web pour obtenir de l'aide sur la suppression/modification des signatures logicielles.

Désactiver les pages d'erreurs par défaut du serveur web

Il est recommandé de désactiver les pages d'erreur par défaut pour éviter toute exposition d'informations. Le serveur Web utilise par défaut les pages d'erreur intégrées :

Les pages d'erreur par défaut doivent être remplacées/supprimées dans le cadre du processus de renforcement du serveur Web. La directive "ErrorDocument" peut être utilisée pour définir une page/texte d'erreur personnalisé pour le serveur web Apache (utilisé comme exemple).

Reportez-vous à la documentation de votre serveur Web pour obtenir de l'aide sur la façon de remplacer/supprimer les pages d'erreur par défaut.

Suppression de la page de test du serveur web

Il est recommandé de supprimer la page de test du serveur Web pour éviter toute exposition d'informations. Par défaut, le webroot du serveur web contient une page de test appelée index.html (Apache2 sur Ubuntu est utilisé comme exemple) :

La page de test doit être supprimée ou doit être rendue indisponible dans le cadre du processus de renforcement du serveur Web.