System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Installation et Configuration du protocole SNMP.

netsnmp.png

Voici comment configurer simplement votre snmp pour faire fonctionner cacti, mrtg, nagios et autres...

Attention snmp possède 3 version, et les plus utilisées sont la 2 et la 3. La version 3 implémente une authentification client, alors que la version 2 ne le fait pas.

Voici les paquets à installer qui ont le même nom chez Yum et chez Aptitude.

net-snmp
net-snmp-libs
net-snmp-utils

SNMP est un service qui écoute sur le port 161 en udp.

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

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. N'oubliez pas de protéger par une access-list si vous faites 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), d'ou le rwcommunity et le rocommunity.

Cependant, sachez que certains logiciels de management qui utilisent snmp sont pas très futefute du ciboulot , et attendent uniquement les noms standards. Donc méfiez vous.

Exemple de fichier snmp.conf :

rocommunity  test
rwcommunity  test2
syslocation  kitchen
syscontact  "root"

Si dessus ip est l’adresse ip de la machine ayant le droit de faire du snmp sur la machine locale.

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

rocommunity test rwcommunity test2 YYY.YYY.YYY.YYY

Veut dire :

- Sur test, donne accès à tous, car pas de restriction - Sur test2, donne accès à YYY.YYY.YYY.YYY qui ne fait pas partie de mon réseau.

On relance snmp avec la commande suivante :

/etc/init.d/snmpd restart

Commande pour interroger snmp :

snmpwalk -v 2c -c test2 localhost

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

snmpwalk -v 2c -c test localhost
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.30-1.1756_centos4smp #1 SMP Thu Jan 17 07:09:04 EST 2009 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (1276) 0:01:23.75
SNMPv2-MIB::sysContact.0 = STRING: "Administrateur"
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: kitchen
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
....

L’access-list ( acl ) fonctionne bien.

Ce qui veut dire que si vous voulez pouvoir tester en local votre snmp, il faudrait plutot faire comme ceci :

rocommunity  test
rwcommunity  test2 YYY.YYY.YYY.YYY
rwcommunity  test2 127.0.0.1

La ligne "rwcommunity test2 127.0.0.1" donne accès à la machine locale.

Dans l’exemple ci-dessus, je ne restreins 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

Exemple de fichier snmpd.conf pour du snmp v3 :

rwuser  admin
createUser admin MD5 monpassword

#
# Mise en commentaire de snmp v2
#
#rwcommunity  test 127.0.0.1
#rwcommunity  test2 XXX.XXX.XXX.XXX

disk  / 100000
disk  /var 1000000
load  12 12 12
syslocation  "Baie numero 7A"
syscontact  contact@mondomaine.org
sysservices 76

La ligne "createUser admin 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 admin -l authNoPriv -c test2 -a MD5 -A password localhost

SNMP gère 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écédent 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...

Faites un man snmpd.conf pour les valeurs disponibles.

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

Voila c'est terminé pour aujourd'hui ! (origine de l'article : linuxtips.castres-wireless.org)

Par GanGan | le mercredi, mars 18 2009 08:00

Commentaires

1. Cheap Jordans

mercredi, décembre 8 2010 | 10:55

excellent ! les fans seront ravis !