Sécurisation Centreon : comment configurer l’accès HTTPS pour l’interface Web ?

Supervision

Sécurisation Centreon : comment configurer l’accès HTTPS pour l’interface Web ?

I. Présentation

Dans ce tutoriel, nous allons voir comment configurer SSL/TLS sur Centreon pour passer en HTTPS, afin de protéger vos communications à l’aide de connexions chiffrées.

Précédemment, nous avons vu comment installer Centreon sous Linux et comment effectuer la sécurisation de Centreon en activant des outils essentiels tels que SELinux et firewalld, ainsi qu’en renforçant la sécurité des comptes utilisateurs et des fichiers de configuration. Maintenant que votre serveur est protégé au niveau des accès et du réseau, il est temps de sécuriser les communications : le passage en HTTPS pour l’accès à l’interface web.

Le protocole HTTPS chiffre les échanges entre votre navigateur et l’interface web de Centreon, garantissant ainsi la confidentialité et l’intégrité des données. Cela permet d’éviter les risques d’interception ou de modification des informations échangées.

Retrouvez les précédents tutoriels :

II. Sécuriser le serveur web en HTTPS

Par défaut, Centreon installe un serveur web en mode HTTP. Il est fortement recommandé de passer en mode HTTPS en ajoutant votre certificat. Il est également recommandé d’utiliser un certificat validé par une autorité plutôt qu’un certificat auto-signé.

  • Si vous avez déjà un certificat délivré par une autorité de certification d’entreprise (AD CS, par exemple), vous pouvez passer directement à l’étape de configuration du HTTPS sur votre serveur Apache. Il s’agit du scénario idéal et recommandé pour la production.
  • Si vous ne disposez pas d’un certificat validé par une autorité, vous pouvez en générer un sur des plateformes telles que Let’s Encrypt. Néanmoins, cette méthode est plus contraignante dans le contexte de Centreon, car ce n’est pas une application destinée à être publiée.
  • Si vous souhaitez créer un certificat selon la méthode auto-signée, suivez la prochaine partie de cet article avant d’activer le mode HTTPS sur votre serveur.

A. Créer un certificat auto-signé

Cette procédure permet de créer :

  • Une clé privée pour le serveur :  dans notre cas. Elle sera utilisée par le service Apache.
  • Un fichier CSR (Certificate Signing Request) :  dans notre cas.
  • Une clé privée pour le certificat de l’autorité de certification :  dans notre cas.
  • Un certificat x509 pour signer votre certificat pour le serveur :  dans notre cas.
  • Un certificat pour le serveur :  dans notre cas.

Soit un serveur Centreon avec le FQDN suivant : .

Note : Dans ce document, nous utilisons le nom à titre d’exemple, mais en environnement de production, on rencontre plutôt des noms sous la forme . Pensez à adapter les noms de domaine selon les pratiques de votre organisation et vos conventions DNS. La procédure reste identique.

Préparez la configuration OpenSSL :

Les certificats auto-signés peuvent être rejetés par le navigateur Google Chrome (sans qu’il soit possible d’ajouter une exception). Pour continuer à utiliser ce navigateur, vous devez modifier la configuration OpenSSL.

Ouvrez le fichier .

Recherchez la section  afin d’ajouter le nouveau tag  :

IMAGE

Créez une clé privée nommée  sans mot de passe afin qu’elle puisse être utilisée par le service Apache.


Afin de protéger le fichier, nous allons exécuter cette commande qui modifie ces droits :


Avec la clé que vous venez de créer, créez un fichier CSR (Certificate Signing Request). Remplissez les champs avec les informations propres à votre entreprise. Le champ  doit être identique au hostname de votre serveur Apache (dans notre cas, ).


Créez une clé privée pour cette autorité :  dans notre cas. Ajoutez l’option  pour chiffrer la clé créée et y appliquer un mot de passe. Ce mot de passe sera demandé chaque fois que la clé sera utilisée.


Créez un certificat x509 qui sera valide pendant un an : ca_demo.crt dans notre cas.

Notez qu’il est nécessaire de simuler un tiers de confiance lors d’une utilisation de certificat auto-signé : le Common Name doit être différent de celui du certificat du serveur.


Ce certificat étant créé, vous pourrez l’utiliser pour signer le certificat du serveur.

Créez votre certificat pour le serveur en utilisant le certificat x509 () pour le signer.


Le mot de passe créé à l’étape “Créez une clé privée pour cette autorité” doit être renseigné. Vous obtenez un certificat pour le serveur nommé .

Vous pouvez voir le contenu du fichier :


Vous devez ensuite récupérer le fichier du certificat x509 () et l’importer dans le magasin de certificats de votre navigateur.

Maintenant que vous avez votre certificat auto-signé, vous pouvez suivre la procédure suivante pour activer le mode HTTPS sur votre serveur Apache.

B. Activer le mode HTTPS sur le serveur web

Pour permettre à votre serveur web d’utiliser une connexion sécurisée en HTTPS, il est nécessaire d’installer les modules requis pour Apache en exécutant la commande suivante :


Ensuite, installez vos certificats SSL (dans notre cas et ) en les copiant dans les répertoires appropriés :


Avant de modifier la configuration d’Apache, il est recommandé de sauvegarder le fichier actuel pour éviter tout dysfonctionnement en cas d’erreur. La commande suivante crée une copie de sécurité :


Une fois cette sauvegarde effectuée, vous pouvez modifier le fichier pour ajouter la configuration nécessaire à l’écoute sur le port sécurisé 443, en ajoutant une section :


Voici un exemple de ce à quoi le fichier final peut ressembler dans notre cas après l’ajout du Virtual Host :


N’oubliez pas de changer les directives  et  avec les chemins d’accès vers votre clé et votre certificat. Dans notre cas :  et . Ces directives peuvent changer en fonction du nom de votre certificat et votre clé.

C. Renforcer la sécurité d’Apache

Pour renforcer la sécurité de votre serveur web Apache, il est important d’activer certains paramètres dans la configuration. Dans le fichier , on peut ajouter plusieurs directives avant la balise pour améliorer la protection contre certaines attaques :

  • : sécurisent les cookies contre les attaques XSS (exécution de scripts) et CSRF (requêtes malveillantes).
  • : force l’usage du HTTPS pour éviter les attaques de type man-in-the-middle ou downgrade.
  • et : masquent les informations sur le serveur pour réduire la surface d’attaque et éviter le repérage de vulnérabilités spécifiques.

Ce qui donne :


En désactivant le paramètre dans le fichier , on empêche PHP d’ajouter son empreinte (comme ) dans les en-têtes HTTP.

Cela limite les informations exposées aux attaquants, qui pourraient utiliser la version de PHP pour cibler des failles connues. C’est une bonne pratique pour réduire la surface d’attaque :


Désormais, vous pouvez effectuer ce test vérifiant qu’Apache est bien configuré, en exécutant la commande suivante :


Le résultat attendu de la commande est :


Après avoir modifié les fichiers de configuration d’Apache et PHP, il est essentiel de redémarrer les services pour que les changements soient pris en compte. La commande suivante redémarre à la fois PHP (via php-fpm) et le serveur web Apache :


Ensuite, on vérifie que le service Apache a bien redémarré et fonctionne correctement avec :


Si tout est correct lors de votre configuration vous devriez avoir quelque chose comme :


Vous pouvez maintenant accéder à votre plateforme via votre navigateur en mode HTTPS et apercevoir dans votre navigateur le certificat que nous venons de créer :

D. Configuration de l’API de Gorgone

Dans le fichier , il faut remplacer par le FQDN (nom de domaine complet) de votre serveur Centreon, par exemple pour nous : .

Cela permet à Gorgone (le moteur d’automatisation de Centreon) d’accéder correctement à l’API REST, notamment si des communications doivent transiter par le réseau ou si des agents distants doivent s’y connecter.


Une fois le fichier modifié, redémarrez le service Gorgone pour appliquer les changements :


Puis, vérifiez que le service fonctionne correctement avec :


Si tout est correct, vous devriez obtenir un résultat comme celui-ci :


III. Conclusion

En suivant ces étapes, vous devriez être en mesure de configurer votre serveur Centreon en HTTPS, assurant ainsi la sécurité des communications entre vos utilisateurs et votre serveur. Il est également recommandé d’utiliser un certificat valide d’une autorité reconnue pour renforcer la confiance dans la sécurité de votre serveur.

Dans les prochains articles, nous verrons comment superviser des hôtes et des services sur différents systèmes (Linux, Windows, équipements réseau, etc.), configurer des notifications, et affiner votre supervision.

Pour aller plus loin dès maintenant, vous pouvez consulter la documentation officielle de Centreon.

SOURCE