LINUX:SNMP

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour à la Surveillance


But

Le protocole SNMP abréviation de Simple Network Management Protocol ou « protocole simple de gestion de réseau », est un protocole de communication qui permet aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels à distance. Nous l'utiliserons par la suite en consultation. C'est un protocole de type Client-Serveur.


Principe

La partie serveur de SNMP est nommée "agent". Elle se retrouve sur nombre de périphériques de notre réseau informatique, par exemple, machines Linux, machines Windows, Routers, Switchs,... pour autant qu'il y soit implémenté et configuré. Cet agent a pour tâche de rassembler diverses informations de ces machines. Celles-ci sont nommées "équipements gérés". Par exemple sous Linux, on retrouve notamment toutes les caractéristiques concernant les flux aux travers des interfaces réseaux, l'activité des disques et partitions, l'utilisation des divers composants de la mémoire vive, la liste des processus actifs et leurs utilisations des ressources de la machine,... Sous Windows, on retrouve les informations équivalentes. Pour les Switchs, les informations sont axées vers le trafic réseau. Du côté de la partie client, divers programmes, nommés "administrateurs" ou "superviseurs", vont interagir avec ces agents ou serveurs pour soit récupérer les informations souhaitées, soit pour y changer certaines caractéristiques, soit pour intercepter des alarmes émises par les agents.


MIBS

Toutes les informations rassemblées par l'agent ou serveur SNMP sont structurées dans une base de données volatile de type arborescente. Cette structure est standardisée; une partie est commune à tout équipement et d'autres sont réservées par des firmes qui produisent des équipements ou des logiciels ou OS spécifiques. Cette arborescence est nommées MIB ou "Management Information Base".

Chaque niveau de cette arborescence est noté par un numéro. Chaque niveau est séparé par un point. Le numéro de base ou racine est "1". En bout de branche, une valeur spécifique est placée. Donc pour récupérer cette valeur, il faut interroger le serveur en lui donnant la suite de numéros de la racine jusqu'en bout de branche. Un peu comme pour l'adressage IP dans un serveur DNS, à chaque suite de numéro correspond un nom.

Toutes ces informations sont dynamiques; elle changent continuellement; elle sont volatiles ainsi si l'agent est arrêté ou si la machine est éteinte, toutes les informations disparaissent.


Par exemple pour la MIB suivante sous Linux:

  • numéro = .1.3.6.1.2.1.1.1.0
  • nom = SNMPv2-MIB::sysDescr.0
  • type = STRING
  • valeur = Linux serverdb.home.dom 6.3.8-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 15 02:15:40 UTC 2023 x86_64

nous retrouvons diverses informations sur l'OS, la date, le nom de machine.


Sécurité

La sécurité d'accès est faible. Il existe diverses versions.

Les versions 1 et 2c sont protégées par un nom de communauté en lecture ou en écriture. Dès qu'on la connait, on peut accéder aux informations; les échanges ne sont pas cryptés.

Par contre, la version 3 est plus sécurisée; pour avoir accès aux informations, il faut un couple nom d'utilisateur associé à un mot de passe. Cet utilisateur peut avoir un accès en lecture ou en écriture. Cet accès peut être limité à un embranchement spécifique; par défaut c'est la racine. Le cryptage peut être crypté (DES ou AES), il faut connaitre le mot de passe associé différent de celui de l'utilisateur.





retour à la Surveillance