Vous êtes sur la page 1sur 5

Installation SNMP

LINUXTIPS - Mes trucs et


astuces sous LINUX
-- Réseau - Système et Réseau --

Système et Réseau Installation SNMP


Laurent Rayssiguier
dimanche 15 janvier 2006

LINUXTIPS - Mes trucs et astuces sous LINUX Page 1/5


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.

LINUXTIPS - Mes trucs et astuces sous LINUX Page 2/5


Installation SNMP

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

LINUXTIPS - Mes trucs et astuces sous LINUX Page 3/5


Installation SNMP

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

LINUXTIPS - Mes trucs et astuces sous LINUX Page 4/5


Installation SNMP

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.

LINUXTIPS - Mes trucs et astuces sous LINUX Page 5/5

Vous aimerez peut-être aussi