Centreon Enterprise Server 2.2 : problème de droit sur la clé SSH

Encore un retour sur la dernière version de Centreon Enterprise Server, la version 2.2. Celui-ci concerne les droits sur la clé SSH. Tout d’abord un petit rappel: lors de l’utilisation de check_by_ssh pour superviser des serveurs Unix/Linux :

  1. un couple de clé SSH (sans passphrase) doit être créé sur le serveur de supervision
  2. un utilisateur doit ensuite être créé sur tous les serveurs supervisés ; généralement, cet utilisateur est dédié à la supervision (ce qui permet de contrôler finement les droits)
  3. les plugins de supervision doivent être installés sur tous les serveurs supervisés
  4. la clé SSH publique (créée en 1) doit être copiée sur tous les serveurs à superviser, dans le fichier ~/.ssh/authorized_keys de l’utilisateur (créé en 2)

Une « subtilité » : les outils SSH vérifient que les clés SSH et le authorized_keys ne peuvent pas être modifiées par n’importe qui sur un système. Cela afin d’éviter qu’un utilisateur mal intentionné ayant un compte donné sur un système puisse escalader ses droits en se connectant avec une clé SSH qu’il aurait lui-même générée. Exemple:

  • je suis utilisateur ctemple sur un système
  • je veux passer utilisateur root sur ce même système
  • je me rends compte que /root/ peut être modifié par n’importe qui (oui, je l’ai vu… plusieurs fois…)
  • je m’arrange alors pour ajouter ma clé SSH publique au fichier authorized_keys de root. Je peux le faire en modifiant les droits.
  • je fais un ssh, grâce à ma clé SSH publique je me connecte en root.

Afin d’éviter cela, le démon SSH vérifie que personne d’autre que l’utilisateur ne peut modifier:

  1. ses clés SSH
  2. son fichier authorized_keys
  3. le répertoire ~/.ssh
  4. le répertoire HOME

Sur Centreon Enterprise Server 2.2, l’utilisateur qui va se connecter aux serveurs à superviser est celui qui est utilisé par le démon de supervision, par l’ordonnanceur. Ici, l’ordonnanceur est centreon-engine et l’utilisateur est centreon-engine. Or, le HOME de l’utilisateur centreon-engine a par défaut les droits 775. Ce qui est potentiellement dangereux. Il est préférable de retirer les droits d’écritures au groupe. Pour cela, utiliser la commande:

chmod g-w /var/lib/centreon-engine

Attention : ce n’est pas une « faille de sécurité » à proprement parler. Ceci n’est dangereux que si quelqu’un a déjà un accès SSH sur le serveur de supervision, ce qui ne devrait jamais être le cas sauf pour les administrateurs de la supervision. Là, on ne se connecte jamais en SSH en tant qu’utilisateur centreon-engine sur le serveur de supervision, depuis un poste externe. Dans le cas contraire, l’accès est refusé.

Centreon Enterprise Server 2.2 : pas de supervision à l’installation

Depuis quelques mois déjà, Centreon Enterprise Server (ou CES) 2.2 est disponible au téléchargement. Il est possible que vous rencontriez un bug présent sur 30 à 40% des installations et qui génère les problèmes suivants :

  • la supervision reste désespérément vide
  • l’ajout de nouveaux services n’est pas pris en compte
  • les services ne sont pas supervisés

Vous avez beau re-généré les fichiers de configuration, redémarré cbd, centreon engine, redémarrer le serveur de supervision (mouahaha, ne faites pas ça 😉 ) la supervision est vide. Ou alors vos services ne sont pas supervisés. Que se passe-t’il? Vous êtes victimes d’un bug aléatoire. Celui-ci ne touche pas toutes les installations (30 à 40% selon mes tests). Comment le corriger (salement)?

Continue reading Centreon Enterprise Server 2.2 : pas de supervision à l’installation