LibreNMS est un outil de surveillance qui prend en charge la découverte automatique avec plusieurs protocoles, notamment SNMP, ARP, OSPF et BGP. Pour surveiller les systèmes d'exploitation, vous pouvez utiliser le protocole SNMP, qui est disponible sur la plupart des systèmes d'exploitation, y compris Linux, Windows et BSD.
Il existe trois versions du protocole SNMP, v1 et v2 qui sont sécurisées avec uniquement un mot de passe communautaire, et le protocole v3 qui prend en charge les mots de passe pour l'authentification et le cryptage. Pour l'environnement de production, il est recommandé d'utiliser le protocole SNMP v3, qui est plus sécurisé que v2 et v1.
Dans cet article, vous apprendrez comment ajouter des hôtes au système de surveillance LibreNMS à l'aide du protocole SNMP.
Prérequis
Avant de commencer, vous devez terminer l'installation de LibreNMS ci-dessous :
Comment installer LibreNMS sur Debian 11 Bullseye
Pour cet exemple, nous utiliserons l'environnement suivant.
Serveur de surveillance LibreNMS
- Système d'exploitation :Debian 11 Bullseye
- Nom d'hôte :bullseye64
- Adresse IP :192.168.1.1.100
Machine hôte/client
- Système d'exploitation :Debian 11 Bullseye
- Nom d'hôte :host01
- Adresse IP : 192.168.1.50
Commençons maintenant.
Installer SNMP sur la machine hôte
Tout d'abord, vous installerez les packages SNMP sur les machines hôtes.
1. Connectez-vous à la machine hôte et mettez à jour les référentiels à l'aide de la commande suivante.
sudo apt update
2. Installez maintenant les packages SNMP à l'aide de la commande apt ci-dessous.
sudo apt install snmpd snmp libsnmp-dev
Tapez 'y ' pour confirmer l'installation et appuyez sur 'Entrée ' pour continuer.
3. Une fois l'installation de SNMP terminée, démarrez et activez le service snmpd à l'aide de la commande suivante.
sudo systemctl enable --now snmpd
Vérifiez maintenant le service snmpd à l'aide de la commande ci-dessous.
sudo systemctl status snmpd
Assurez-vous que le service snmpd est actif et en cours d'exécution.
Configurer l'authentification et le chiffrement du protocole SNMP v3
Le protocole SNMP prend en charge trois versions différentes, v1, v2 et v3. L'outil de surveillance LibreNMS prend en charge les trois protocoles. Et pour des raisons de sécurité, il est recommandé d'utiliser le protocole SNMP v3.
Les protocoles SNMP v1 et v2 fournissent une authentification simple. Mais le protocole SNMP v3 fournit l'authentification via l'algorithme de hachage MD5 et SHA et le cryptage des données via AES et DES.
Dans cette étape, vous allez créer un nouvel utilisateur snmpd pour le protocole v3 sur la machine hôte.
1. Avant de créer un nouvel utilisateur SNMP, sauvegardez la configuration par défaut et arrêtez le service snmpd à l'aide du service d'arrêt
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
sudo systemctl stop snmpd.service
2. Maintenant, exécutez la commande 'net-snmp-create-v3-user' ci-dessous pour créer un nouvel utilisateur SNMP avec authentification par mot de passe et cryptage du mot de passe.
Pour cet exemple, vous allez créer un nouvel utilisateur 'snmpdadmin ' avec le mot de passe d'authentification 'StrongAuthPass ' et le cryptage du mot de passe 'StrongEncPass '.
net-snmp-create-v3-user -ro -A StrongAuthPass -a SHA -X StrongEncPass -x AES snmpadmin
Vous verrez maintenant des messages d'erreur similaires à ceux ci-dessous et vous corrigerez cette erreur à l'étape suivante.
adding the following line to /var/lib/snmp/snmpd.conf:
createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"
adding the following line to /snmp/snmpd.conf:
rouser snmpadmin
touch: cannot touch '/snmp/snmpd.conf': No such file or directory
/usr/bin/net-snmp-create-v3-user: 144: cannot create /snmp/snmpd.conf: Directory nonexistent
Pour corriger cette erreur, vous devez modifier la configuration dans le fichier de configuration SNMP '/etc/snmp/snmpd.conf' et '/var/lib/snmp/snmpd.conf '.
Options que vous devez connaître :
- -ro :Donner au nouvel utilisateur une autorisation en lecture seule.
- -A : Configurez l'authentification par mot de passe pour le nouvel utilisateur.
- -a :spécifiez l'algorithme de hachage pour l'authentification par mot de passe. Prend en charge le hachage MD5 et SHA.
- -X : Configurez le cryptage du mot de passe pour le nouvel utilisateur.
- -x : Spécifiez l'algorithme de cryptage du mot de passe. Prend en charge AES et DES.
- snmpadmin : un utilisateur que vous allez créer.
3. Ensuite, modifiez la configuration SNMP '/etc/snmp/snmpd.conf' à l'aide de l'éditeur nano.
sudo nano /etc/snmp/snmpd.conf
Sur l'option 'agentaddress', ajoutez le réseau interne de la machine hôte. Dans cet exemple, la machine hôte a une adresse IP '192.168.1.50 '.
agentaddress 127.0.0.1,[::1],192.168.1.50
Collez maintenant la configuration suivante au bas de la ligne. Cette configuration activera l'utilisateur 'snmpadmin ' avec l'autorisation de lecture seule.
rouser snmpadmin
Enregistrez la configuration et quittez.
4. Ensuite, modifiez la configuration des données SNMP '/var/lib/snmp/snmpd.conf' à l'aide de l'éditeur nano.
sudo nano /var/lib/snmp/snmpd.conf
Copiez et collez la configuration suivante au bas de la ligne.
createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"
Enregistrez la configuration et quittez, et vous avez terminé la configuration de base du protocole SNMP v3.
5. Exécutez maintenant la commande suivante pour démarrer le service snmpd.
sudo systemctl start snmpd.service
Le service snmpd s'exécute sur l'adresse IP interne '192.168.1.50' avec le protocole SNMP v3.
Vérifier l'authentification du service SNMP
Pour vérifier la configuration SNMP sur la machine hôte, vous pouvez utiliser la commande 'snmpwalk'. Cet outil peut être utilisé pour interroger les informations système des hôtes distants à l'aide du protocole SNMP.
1. Depuis la machine hôte, exécutez la commande snmpwalk ci-dessous.
snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin localhost | head
Si votre configuration SNMP est correcte, vous verrez les informations du système hôte comme ci-dessous.
2. Ensuite, passez au serveur LibreNMS et interrogez la machine hôte sur l'adresse IP '192.168.1.50' en utilisant la commande snmpwalk ci-dessous.
snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin 192.168.1.50 | head
Si votre configuration est correcte, vous verrez les informations sur la machine hôte comme ci-dessous.
Vous avez maintenant terminé l'installation et la configuration de SNMP avec le protocole v3 et l'authentification et le cryptage du mot de passe.
Configurer l'extension SNMP vers la machine hôte
Sur LibreNMS, vous pouvez utiliser trois méthodes différentes pour surveiller les hôtes et les applications :
- Connexion directe à l'application
- Utilisation de l'extension SNMP
- Utiliser l'agent LibreNMS
Dans cette étape, vous apprendrez à surveiller un système ou une application à l'aide de l'outil de surveillance LibreNMS avec la méthode SNMP Extend.
Pour utiliser la méthode SNMP Extend, vous devez télécharger le script de commande de vérification à partir de l'URL suivante.
https://github.com/librenms/librenms-agent/tree/master/snmp
1. Pour cet exemple, vous téléchargerez le script de commande de vérification "distro" pour détecter le système d'exploitation hôte.
Téléchargez la commande de vérification dans le répertoire '/usr/local/bin' et rendez-la exécutable à l'aide de la commande suivante.
curl -o /usr/local/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/local/bin/distro
2. Ensuite, modifiez la configuration SNMP '/etc/snmp/snmpd.conf' à l'aide de l'éditeur nano.
sudo nano /etc/snmp/snmpd.conf
Collez la configuration suivante au bas de la ligne.
extend distro /usr/local/bin/distro
Enregistrez la configuration et quittez.
3. Redémarrez maintenant le service snmpd pour appliquer une nouvelle configuration.
sudo systemctl restart snmpd
Vous avez maintenant terminé la configuration de base de la surveillance LibreNMS avec la méthode SNMP Extend.
Et vous êtes prêt à ajouter la machine hôte à l'outil de surveillance LibreNMS.
Ajouter des hôtes à l'outil de surveillance LibreNMS
Connectez-vous à votre outil de surveillance LibreNMS et accédez au menu 'Appareils ', puis cliquez sur le menu 'Ajouter un appareil '.
1. Tapez les détails des appareils en utilisant la configuration suivante
- Nom d'hôte :192.168.1.50 (adresse IP de la machine hôte).
- Version SNMP :protocole v3 sur le port 161 par défaut avec transport UDP.
- Niveau d'authentification :authPriv
- Nom d'utilisateur d'authentification :snmpadmin
- Mot de passe d'authentification :StrongAuthPass
- Crypto mot de passe :StrongEncPass
Cliquez maintenant sur le bouton 'Ajouter un appareil '.
2. Attendez maintenant quelques minutes et laissez l'outil de surveillance LibreNMS recueillir les détails du système à partir de la machine hôte.
Cliquez sur le menu 'Appareils ' et cliquez sur 'Serveurs ' pour obtenir une liste de tous les appareils disponibles.
Vous verrez la machine hôte disponible sur le serveur de liste comme ci-dessous.
3. Cliquez sur l'adresse IP de la machine hôte pour obtenir tous les détails de la surveillance.
Vous verrez une machine hôte détaillée similaire à celle ci-dessous.
De plus, vous trouverez ci-dessous le graphique de la machine hôte du système.
Vous avez maintenant ajouté avec succès un hôte à surveiller au LibreNMS.
Conclusion
Toutes nos félicitations! Vous avez appris à ajouter des hôtes à l'outil de surveillance LibreNMS à l'aide du protocole SNMP v3. De plus, vous avez appris la configuration de base de SNMP pour créer un nouveau en utilisant et en utilisant le protocole v3 avec authentification et cryptage.
Pour l'étape suivante, vous pouvez ajouter des commandes de contrôle supplémentaires via l'extension SNMP pour surveiller d'autres applications. ou vous pouvez explorer d'autres méthodes pour surveiller les systèmes et les applications à l'aide de l'agent LibreNMS.