Configuration SSH et/ou FTP pour recevoir des données

Introduction

La méthode de transfert standard dans Pandora FMS pour transmettre des fichiers, Tentacle, nécessite l'installation du langage de programmation Perl. Certains dispositifs, tels que les systèmes ESX (UNIX), ne disposent pas d'un tel outil. Dans ce cas, l'alternative consiste à utiliser FTP ou SSH pour transférer les données de supervision.

Pandora FMS peut utiliser le protocole FTP ou SSH pour copier les paquets de données XML générés par les agents logiciel vers le serveur PFMS.

Configuration SSH pour recevoir des données dans Pandora FMS

Tenez toujours compte de la Security Architecture de Pandora FMS.

Considérez le serveur Pandora FMS comme Serveur et chacun des appareils exécutant l'agent logiciel Software Agent comme Client. A tout moment, il sera possible de consulter quel utilisateur travaille au moyen de la commande whoami.

Création d'un utilisateur dans le serveur

Vous devez créer un utilisateur pandora sur la machine où tourne le serveur Pandora FMS. Cette machine recevra les données via SSH. Si un serveur Pandora FMS a déjà été installé, cet utilisateur est probablement déjà créé. Définissez un mot de passe fort pour cet utilisateur à l'aide de la commande :

passwd pandora

Configuration des utilisateurs dans le serveur

Sur le serveur, créez un répertoire appelé /home/pandora/.ssh avec les permissions 750 et l'utilisateur pandora:root.

Création de clés dans le client

Vous devez créer une paire de clés (privée et publique) sur chaque machine qui exécute un agent logiciel qui utilisera SSH. Pour ce faire, exécutez la commande suivante avec le même utilisateur que celui avec lequel l'agent logiciel Pandora FMS est exécuté :

ssh-keygen

Une série de questions s'affiche, auxquelles vous devez répondre en appuyant simplement sur la touche Entrée ou Intro. Vous avez ainsi créé une clé publique et une clé privée pour cet utilisateur sur la machine. Il faut maintenant les copier sur la machine de destination, qui est le serveur Pandora FMS où vous devez envoyer les données de supervision.

Copie de la clé publique au serveur

La clé publique que vous venez de générer peut être copiée de deux manières sur le Serveur de Pandora FMS.

Copie Manuelle

Le fichier de clé publique généré dans le Client est :

/home/<user>/.ssh/id_rsa.pub

<user> est le nom de l'utilisateur qui exécute l'agent logiciel de Pandora FMS dans le client. Si la paire de clés a été générée en tant qu'utilisateur root, elle sera dans :

/root/.ssh/id_rsa.pub

Ce fichier aura un contenu similaire à celui-ci :

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzqyZwhAge5LvRgC8uSm3tWaFV9O6fHQek7PjxmbBUxTWfvNbbswbFsF0esD3COavziQAUl3rP8DC28vtdWHFRHq+RS8fmJbU/VpFpN597hGeLPCbDzr2WlMvctZwia7pP4tX9tJI7oyCvDxZ7ubUUi/bvY7tfgi7b1hJHYyWPa8ik3kGhPbcffbEX/PaWbZ6TM8aOxwcHSi/4mtjCdowRwdOJ4dQPkZp+aok3Wubm5dlZCNLOZJzd9+9haGtqNoAY/hkgSe2BKs+IcrOAf6A16yiOZE/GXuk2zsaQv1iL28rOxvJuY7S4/JUvAxySI7V6ySJSljg5iDesuWoRSRdGw== root@dragoon

Ce contenu doit être ajouté à la fin du fichier authorized_keys sur le Serveur. Son chemin est le suivant :

/home/pandora/.ssh/authorized_keys

Le fichier authorized_keys sur le Serveur doit appartenir (ownership) à l'utilisateur pandora:root et doit avoir les permissions 600.

Copie automatique

Utilisez la commande suivante dans le Client :

ssh-copy-id pandora@<server_address>

<server_address> est l'adresse IP ou l'URL du Serveur.

Il demandera le mot de passe de l'utilisateur pandora du serveur (établi à l'étape précédente) et une fois qu'il l'aura confirmé, un message similaire au suivant s'affichera :

Now try logging into the machine, with "ssh 'pandora@<server_address>'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Effectuez ce test pour vérifier que la connexion automatique au Serveur de Pandora FMS avec l'utilisateur pandora depuis le Client (avec l'utilisateur qui exécute l'agent logiciel) :

ssh pandora@<server_address>

Une fois que vous êtes en mesure de vous connecter au Serveur comme décrit ci-dessus, l'agent logiciel sur le Client peut commencer à envoyer des données de supervision.

Configuration du client

Une fois que la connexion via SSH a été vérifiée, c'est la méthode utilisée par les agents logiciels pour copier les données dans le répertoire du serveur Pandora FMS. Ce répertoire est situé dans :

/var/spool/pandora/data_in

Vérifiez que le répertoire /var/spool/pandora/data_in existe et que l'utilisateur pandora a les droits d'écriture, sinon cela ne fonctionnera pas.

Enfin, la configuration de l'agent logiciel dans le Client est modifiée pour spécifier que la méthode de copie est SSH. Ceci est modifié dans le fichier /etc/pandora/pandora_agent.conf, dans la configuration du jeton transfer_mode. Le service d'agent logiciel doit être redémarré sur chaque Client après cette modification.

Sécuriser le serveur SSH

Pandora FMS utilise, entre autres, sftp/ssh2 (SCP), pour copier les fichiers de données des agents logiciels vers le serveur. Pour cette raison, vous aurez besoin d'au moins un serveur de données avec un serveur SSH2 écoutant l'utilisateur pandora. Cela peut représenter un risque important dans un réseau qui doit être strictement sécurisé. OpenSSH2 est très sûr, mais en termes de sécurité informatique, il n'existe pas de sécurité absolue, et des mesures doivent donc être prises pour le rendre « plus » sûr.

Il est possible d'interdire l'accès SSH à certains utilisateurs, ainsi que de configurer des restrictions sur l'accès FTP.

Pour ce faire, l'utilisateur pandora doit être modifié dans le Serveur. Cet utilisateur doit avoir un mot de passe fort. Son login shell sera modifié pour restreindre l'accès SSH à l'utilisateur, et à son répertoire home, pour l'empêcher d'accéder à d'autres dossiers :

usermod -s /sbin/nologin -d /var/spool/pandora/data_in pandora

Avec ces modifications apportées à l'utilisateur pandora sur le Serveur, lorsque vous vous connectez via SSH, vous ne pourrez pas exécuter de commandes avec lui dans un terminal interactif.

Configuration FTP pour recevoir des données dans Pandora FMS

La configuration du client pour l'envoi de données par FTP permet de spécifier l'utilisateur et le mot de passe à envoyer, ce qui facilite la mise en œuvre de la copie FTP au lieu de Tentacle.

Outre la configuration des agents du logiciel Pandora FMS pour l'envoi de données par FTP, vous devrez configurer un serveur FTP où le serveur Pandora FMS s'exécute, set a password for the user pandora et autoriser l'accès en écriture à l'utilisateur pandora au répertoire /var/spool/pandora/data_in et à ses sous-répertoires.

Le serveur FTP doit être configuré pour répondre à ces besoins; vsftpd est utilisé dans ce guide.

Installation de vsftpd

L'inconvénient d'utiliser FTP au lieu de Tentacle est que l'envoi de données par FTP est moins sûr, car le fait d'avoir un FTP fonctionnant sur le serveur de Pandora FMS le rend plus vulnérable aux défaillances inhérentes à la conception du système FTP. Dans les sections suivantes, nous montrerons comment configurer de manière minimale le serveur vsftpd (simplement appelé Serveur).

Pour cette raison, et de la même manière que disabled for security le login via SSH pour l'utilisateur pandora, une méthode d'accès sécurisée doit être établie pour les utilisateurs via FTP. Une méthode simple et sûre consiste à créer une règle PAM pour vsftpd. Pour ce faire, vous devez créer un fichier appelé /etc/pam.d/ftp contenant ce qui suit :

auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth    required    pam_succeed_if.so quiet user ingroup pandora
auth    required    pam_succeed_if.so quiet shell = /sbin/nologin

Dans le fichier de configuration vsftpd (/etc/vsftpd.conf), le token pam_service_name est configuré :

pam_service_name=ftp

Avec cette configuration, seuls les utilisateurs appartenant au groupe pandora et ayant nologin comme shell associé pourront se connecter au Pandora FMS par FTP, il faut donc créer le groupe pandora qui inclut l'utilisateur pandora. Dans tous les cas, vérifiez que les deux existent dans le Serveur.

Avec une configuration finale du fichier /etc/vsftpd.conf, vous restreindrez l'accès des utilisateurs accédant à votre répertoire personnel via FTP. Les paramètres sont les suivants :

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.nochroot_list

Si vous souhaitez exclure un utilisateur de ce comportement et éviter de le restreindre à votre Chroot, il suffit d'inclure cet utilisateur dans le fichier vsftpd.nochroot_list (un utilisateur par ligne).

D'autres options à configurer pour établir une plus grande sécurité sont les suivantes :

dirlist_enable=NO
download_enable=NO
deny_file=authorized_keys
deny_file=.ssh
chroot_local_user=YES

Le service vsftpd doit être redémarré après avoir apporté des modifications au fichier de configuration pour qu'elles soient prises en compte.

Avec cette configuration, l'utilisateur sera limité à son répertoire personnel (/var/spool/pandora/data_in dans le cas de l'utilisateur pandora). L'utilisateur pourra effectuer des transferts FTP (envoyer des fichiers), mais ne pourra pas lister des fichiers.

Il est recommandé d'essayer de se connecter avec l'utilisateur pandora dans le FTP, de changer de répertoire et de lister les fichiers; si il n'y a pas de succès, la configuration aura été réussie.

Retour à l'index de la documentation de Pandora FMS