Aller au contenu principal

Sécuriser votre collecteur

IMPORTANT : Sécuriser la machine hôte du collecteur relève de la responsabilité du client, ainsi que mettre à jour l'OS de celle-ci.

Renforcez la sécurité des comptes utilisateurs

Après l'installation de Centreon, il est nécessaire de changer les mots de passe par défaut des utilisateurs suivants:

  • root
  • centreon
  • centreon-engine
  • centreon-broker
  • centreon-gorgone

Pour cela, utilisez la commande suivante avec un compte privilégié (par exemple sudo) ou avec root (non recommandé - vous devez avoir un utilisateur dédié) :

passwd <account_name>

De plus, il est important de vérifier que le compte Apache ne dispose pas de droits de connexion au terminal. Exécutez la commande suivante :

cat /etc/passwd | grep apache

Vous devez avoir /sbin/nologin tel que :

apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

Activer SELinux

Centreon a récemment développé des règles SELinux afin de renforcer le contrôle des composants par le système d'exploitation.

Ces règles sont actuellement en mode bêta et peuvent être activées. Vous pouvez les activer en suivant cette procédure. Lors de la détection d'un problème, il est possible de désactiver SELinux globalement et de nous envoyer vos commentaires afin d'améliorer nos règles sur Github.

Présentation de SELinux

Security Enhanced Linux (SELinux) fournit une couche supplémentaire de sécurité du système. SELinux répond fondamentalement à la question: Le <suject> peut-il faire cette <action> sur <object> ?, Par exemple: un serveur Web peut-il accéder aux fichiers des répertoires personnels des utilisateurs ?

La stratégie d'accès standard basée sur l'utilisateur, le groupe et d'autres autorisations, connue sous le nom de contrôle d'accès discrétionnaire (DAC), ne permet pas aux administrateurs système de créer des stratégies de sécurité complètes et précises, telles que la restriction d'applications spécifiques à l'affichage uniquement des fichiers journaux, tout en permettant à d'autres applications d'ajouter de nouvelles données aux fichiers journaux.

SELinux implémente le contrôle d'accès obligatoire (MAC). Chaque processus et ressource système possède une étiquette de sécurité spéciale appelée contexte SELinux. Un contexte SELinux, parfois appelé étiquette SELinux, est un identifiant qui fait abstraction des détails au niveau du système et se concentre sur les propriétés de sécurité de l'entité. Non seulement cela fournit un moyen cohérent de référencer des objets dans la stratégie SELinux, mais cela supprime également toute ambiguïté qui peut être trouvée dans d'autres méthodes d'identification. Par exemple, un fichier peut avoir plusieurs noms de chemin valides sur un système qui utilise des montages de liaison.

La politique SELinux utilise ces contextes dans une série de règles qui définissent comment les processus peuvent interagir entre eux et avec les différentes ressources système. Par défaut, la stratégie n'autorise aucune interaction à moins qu'une règle n'accorde explicitement l'accès.

Pour plus d'informations à propos de SELinux, visitez la documentation Red Hat

Activer SELinux en mode permissif

Par défaut, SELinux est désactivé lors du processus d'installation de Centreon. Pour activer SELinux en mode permissif, vous devez modifier le fichier /etc/selinux/config comme tel :

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Puis redémarrez votre serveur :

shutdown -r now

Installer les paquets Centreon SELinux

Suivant le type de serveur, installer les paquets avec la commande suivante :

dnf install centreon-common-selinux \
centreon-broker-selinux \
centreon-engine-selinux \
centreon-gorgoned-selinux \
centreon-plugins-selinux

Pour vérifier l'installation, exécutez la commande suivante :

semodule -l | grep centreon

Suivant votre type de serveur, vous pouvez voir :

centreon-broker 0.0.5
centreon-common 0.0.10
centreon-engine 0.0.8
centreon-gorgoned 0.0.3
centreon-plugins 0.0.2
centreon-web 0.0.8

Auditer les journaux et activer SELinux

Avant d'activer SELinux en mode renforcé, vous devez vous assurer qu'aucune erreur n'apparaît à l'aide de la commande suivante :

cat /var/log/audit/audit.log | grep -i denied

Si des erreurs apparaissent, vous devez les analyser et décider si ces erreurs sont régulières et doivent être ajoutées en plus des règles SELinux par défaut de Centreon. Pour ce faire, utilisez la commande suivante pour transformer l'erreur en règles SELinux :

audit2allow -a

Exécutez ensuite les règles proposées.

Si après un certain temps, aucune erreur n'est présente, vous pouvez activer SELinux en mode renforcé en suivant cette procédure avec le mode enforcing.

N'hésitez pas à nous faire part de vos retours sur Github.

Activer firewalld

Installez firewalld:

dnf install firewalld

Activez firewalld:

systemctl enable firewalld
systemctl start firewalld

Ajoutez des règles pour firewalld :

Exécutez les commandes suivantes :

# For default protocols
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --zone=public --add-service=snmp --permanent
firewall-cmd --zone=public --add-service=snmptrap --permanent
# Centreon Gorgone
firewall-cmd --zone=public --add-port=443/tcp --permanent

Une fois les règles ajoutées, rechargez firewalld:

firewall-cmd --reload

Pour vérifier que la configuration a été correctement appliquée, utilisez la commande suivante afin de lister toutes les règles actives :

firewall-cmd --list-all

Par exemple :

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: http snmp snmptrap ssh
ports: 443/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Communication Centreon Gorgone

Sur chaque collecteur, le fichier /etc/centreon-gorgone/config.d/whitelist.conf.d/centreon.yaml contient les listes blanches pour Gorgone. Si vous souhaitez personnaliser les commandes autorisées, n'éditez pas ce fichier. Créez un nouveau fichier dans le même dossier, par exemple /etc/centreon-gorgone/config.d/whitelist.conf.d/custom.yaml.

Security Information and Event Management - SIEM

Les journaux des événements Centreon sont disponibles dans les répertoires suivants :

  • /var/log/centreon-broker
  • /var/log/centreon-engine
  • /var/log/centreon-gorgone

Sauvegardez votre plateforme

Assurez-vous de réaliser une sauvegarde de vos plugins personnalisés, et des fichiers de configuration suivants :

  • /etc/centreon/centreon_vmware.pm
  • /etc/centreon-as400/
  • /var/lib/centreon/centplugins/*
  • /var/log/centreon-engine/*.dat
  • /var/lib/centreon-broker/*

Reprise après sinistre pour un collecteur

La procédure suivante permet de remplacer un collecteur défectueux par un nouveau collecteur :

  1. Sur une nouvelle machine, installez le nouveau collecteur.

  2. Sur la nouvelle machine, restaurez les sauvegardes des fichiers de configuration locaux que vous aviez réalisées avant que le collecteur ne devienne défectueux :

    • /etc/centreon/centreon_vmware.pm
    • /etc/centreon-as400/
    • /var/lib/centreon/centplugins/*
    • /var/log/centreon-engine/*.dat
    • /var/lib/centreon-broker/*
  3. Utilisez la fonctionnalité de Chagement massif afin de transférer vers le nouveau collecteur tous les hôtes que l'ancien collecteur supervisait.

  4. Déployez la configuration pour le nouveau colecteur.

  5. Supprimez l'ancien collecteur.