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é.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *