Sécuriser vos collecteurs
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
Par défaut, SELinux est désactivé lors du processus d'installation de Centreon et doit être réactivé par la suite pour des raisons de sécurité.
Pour réactiver SELinux, éditez le fichier /etc/selinux/config et changez la valeur avec les options suivantes :
SELINUX=enforcing
pour que la politique de sécurité SELinux soit appliquée en mode strict.SELINUX=permissive
pour que les erreurs d’accès soient enregistrées dans les logs, mais l’accès ne sera pas bloqué.
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 :
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 11
dnf install centreon-common-selinux \
centreon-broker-selinux \
centreon-engine-selinux \
centreon-gorgoned-selinux \
centreon-plugins-selinux
dnf install centreon-common-selinux \
centreon-broker-selinux \
centreon-engine-selinux \
centreon-gorgoned-selinux \
centreon-plugins-selinux
apt 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
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 11
Installez firewalld:
dnf install firewalld
Installez firewalld:
dnf install firewalld
Installez firewalld:
apt 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 :
-
Sur une nouvelle machine, installez le nouveau collecteur.
-
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/*
-
Utilisez la fonctionnalité de Chagement massif afin de transférer vers le nouveau collecteur tous les hôtes que l'ancien collecteur supervisait.
-
Déployez la configuration pour le nouveau colecteur.
-
Supprimez l'ancien collecteur.