Installation SNMP

A quoi sert SNMP ?

SNMP est un protocole très courant servant à quantifier la charge d’une interface réseau, ou d’une machine à un moment donné.

Le serice snmp donne par exemple la charge de sa carte réseau quand on lui envoie un « trap snmp ». L’enregistrement de ses informations dans le temps permet de créer un graphe de charge qui sert à analyser l’état de son réseau durant les heures, jours, ou mois.

SNMP possède 3 version, mais les plus utilisées sont la 2 et la 3.

L’intérêt de la version 3 est d’implémenter une authentification du client snmp, alors que la version 2 ne sait faire « que » de l’access-list.

Installation

Les paquets suivants sont nécessaires pour suivre cette documentation :
– net-snmp
– net-snmp-libs
– net-snmp-utils

Vous pouvez les installer avec la commande "yum install nom_du_paquet".

Assurez-vous que snmpd démarre lors du démarrage du système.

Pour cela, lancez la commande chkconfig snmpd on

Configuration

La configuration de base peut être faite avec l’utilitaire snmpconf.

Avant de lancer snmpconf la première fois, je vous conseille de renommer le fichier /etc/snmp/snmpd.conf en /etc/snmp/snmpd.conf.origine.

snmpconf vous demande quel type fichier créer, choisissez snmpd.conf.

L’utilitaire se présente ensuite sous forme de menus que je vous laisse découvrir.

Sachez que les informations importantes à indiquer sont les communautés à créer; on peut créer une communauté en lecture ou en écriture.

Une communauté est un nom de porte d’accès au système snmp.
Si ce point d’entrée est en écriture, cela permet de modifier des paramètres de la machine sans accès direct à la console. Pensez donc à protéger par une access-list votre communauté en écriture.

Essayez d’éviter d’utiliser les très connus « public » et « private » qui sont les noms de communauté standard. « public » est en lecture seule (RO), « private » en lecture-écrirure (RW).

Cependant, sachez que certains softs de management utilisant snmp sont vraiment cons, et recherchent uniquement ces noms standards. Faites donc un test pour vérifier cela.

Exemple de fichier de conf créé par snmpconf vidé de ses commentaires.

rocommunity view XXX.XXX.XXX.XXX
rwcommunity power XXX.XXX.XXX.XXX
syslocation MaSalleServeur
syscontact "Laurent RAYSSIGUIER"

Ici XXX.XXX.XXX.XXX est l’adresse ip de la machine ayant le droit de faire du snmp sur ma machine locale.

Par exemple, si j’écris les lignes suivantes :

rocommunity view
rwcommunity power YYY.YYY.YYY.YYY

J’écris en fait :
– Sur view, donne accès à tous, car pas de restriction
– Sur power, donne accès à YYY.YYY.YYY.YYY qui ne fait pas partie de mon réseau.

Je relance snmp avec la commande "/etc/init.d/snmpd restart"

Arrêt de snmpd : [ OK ]
Démarrage de snmpd : [ OK ]

J’interroge snmp et je regarde ce que cela donne.

[root@localhost snmp]# snmpwalk -v 2c -c power localhost

Pas de réponse de snmp, je n’ai pas accès à power.


[root@localhost snmp]# snmpwalk -v 2c -c view localhost
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.14-1.1656_FC4smp #1 SMP Thu Jan 5 22:24:06 EST 2006 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (1276) 0:00:12.76
SNMPv2-MIB::sysContact.0 = STRING: "Laurent RAYSSIGUIER"
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: MaSalleServeur
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
....

Le code est tronqué car j’ai demandé un dump complet de snmp et c’est un peu long.

On voit donc que l’access-list ( acl ) fonctionne bien.

Ce qui veut dire que si vous voulez pouvoir tester en local snmp, il vaut plutôt mieux prévoir ceci :

rocommunity view
rwcommunity power YYY.YYY.YYY.YYY
rwcommunity power 127.0.0.1

La ligne « rwcommunity power 127.0.0.1 » donnant accès à la machine locale.

Dans l’exemple ci-dessus, je ne restreind que power ( RW ), mais je vous conseille de faire de même sur view ( RO ) car snmp donne un tas d’informations utiles à des pirates et surtout, un dump snmp comme ci-dessus charge pas mal la machine concernée. Si un plaisantin, lance un dump en boucle, votre serveur aura tôt fait de se traîner lamentablement.

Je vous conseille donc aussi de bloquer snmp en entrée de votre réseau , sur le firewall. Pour ce faire, bloquez le port udp 161.

Configuration SNMP v3

Voici un exemple de fichier snmpd.conf pour du snmp v3.

rwuser monitor
createUser monitor MD5 monpassword

#
# Mise en commentaire de snmp v2
#
#rwcommunity power 127.0.0.1
#rwcommunity power XXX.XXX.XXX.XXX

disk / 100000
disk /var 1000000
load 12 12 12
syslocation "Baie numero 1"
syscontact support@mondomaine.net
sysservices 76

La ligne « createUser monitor MD5 monpassword » doit être inscrite lors du premier lancement de snmp en version 3 et supprimée par la suite afin que personne ne voie le mot de passe en cas de découverte du fichier.

Pour ma part, je change le mot de passe par un mot de passe bidon et je commente la ligne. Cela m’évite de rechercher partout la syntaxe quand je suis pressé.

Pour vérifier que cela fonctionne, voici la syntaxe de la commande snmpwalk :

snmpwalk -v 3 -u monitor -l authNoPriv -c power -a MD5 -A monpassword localhost

Remplacez « monpassword » dans les exemples ci-dessus par le mot de passe sécurisé qui vous va bien.

USAGE de SNMP

SNMP monitore par défaut les interfaces réseau de la machine.
On peut lui demander de vérifier plus à fond le système, comme dans l’exemple précedent avec des paramètres comme ceux-ci :

disk / 100000
disk /var 1000000
load 12 12 12

Snmp vérifiera alors l’espace disque des partitions / et /var et activera un flag d’alerte quand ces partitions atteindront 100Mo pour / et 1Go pour /var.

Le paramètre load représente la charge du serveur à 1 minute, 5min et 15min.

Ces valeurs sont à définir en fonction de votre usage du serveur. On peut par exemple lancer des scripts personnalisés et récupérer les valeur, etc…

Voir man snmpd.conf pour les valeurs disponibles.

Une fois SNMP en place et bien configuré, vous pouvez utiliser des logiciels comme MRTG et RRD TOOLS pour faire des statistiques de votre machine.

Un site très bien fait sur la configuration de snmp et de MRTG, le site de Christian CALECA

Un site intéressant reprends des exemples d’usage de MRTG.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.