Skip to main content

SNMP - Simple Network Management Protocol

Protocol destiné à l’échange d’informations systèmes entre des périphériques réseau. En général, entre un poste de supervision et un matériel surveillé. SNMP est un protocole standard généralement supporté les différents matériels réseau, il est donc utilisé par la majorité des systèmes de supervisions.

Le principe

L'architecture de gestion du réseau proposée par le protocole SNMP est donc basée sur trois principaux éléments :

Les superviseurs ou systèmes de management de réseau (network management systems notés NMS), c'est-à-dire une console au travers de laquelle les administrateurs peuvent réaliser des tâches d'administration.

Les équipements gérés (managed devices)  qui sont des périphériques du réseau (commutateurs, routeurs ou serveurs), contenant des objets surveillés (managed objects) qui sont des informations sur le matériel, ou des services qui tournent sur le matériel…

Les agents, c'est-à-dire une application installée sur l’équipement géré chargée de la transmission, au superviseur, les données relatives aux objets surveillés ;


L’identification des informations surveillées se font suivant MIB ("Management Information Base") connue à la fois du superviseur et de l’équipement géré.

Le dialogue SNMP

Les requêtes SNMP (monitoring actif).  Il existe plusieurs types de requêtes, dont les quatre principales sont :

  • La requête GetRequest permet la recherche d’une variable sur un agent.

  • La requête GetNextRequest permet la recherche de la variable suivante.

  • La requête GetBulk permet la recherche d’un ensemble de variables regroupées.

  • La requête SetRequest permet de changer la valeur d’une variable sur un agent.

 

À la suite de requêtes, l’agent répond par GetResponse. Si la variable demandée n’est pas disponible, la réponse sera accompagnée d’une erreur noSuchObject.

Les alertes ou (Traps, Notifications) (monitoring passif) : Les alertes sont envoyées quand un événement critique se produit sur l’agent. 

 

AD_4nXcjsP_LcsSnwBgmpmArzXXlTb5jmyStqm6MDscCOEkc4Py3aW18zYq5gE5gSaEjXVOF4j4Ve4U8a3JjUsjzUuZEJpFZx3nw7SvezPUJEWvbFGubGsvKKnocyx6m2e55hpk3kVpQBpqlMQBSnetCQ2LU6-08lCO6p_voaUf2W4xzBNHaYdcFTw?key=NTSoofBbYNxUYuMmNPx4JeTF

La configuration

Pour des raisons de sécurité un matériel non configuré pour cela, ne répond pas aux requêtes SNMP qu’il reçoit. 

La configuration minimale (SNMP v1 et 2)

Sur les agents

Pour autoriser le matériel à communiquer avec le superviseur, l’administrateur doit le configurer comme agent : configurer les « communautés » auxquelles l’agent répondra

Une communauté est définie par :

  • Un nom, pour lequel est précisé

  • Le type d’accès autorisé (lecture seule, modification…)

 

Sur le superviseur

Le superviseur ne pourra communiquer avec le matériel managé que s’il dispose du nom d’une communauté et ses requêtes seront restreinte au type d’accès autorisé à cette communauté. 

C’est donc simplement le nom de la communauté qui joue le rôle de mot de passe. 

Configuration spécifiques SNMPv3

SNMP v3 permet d’utiliser des techniques de sécurisation plus avancés, grâce à 3 types d’objets.

 

La vue SNMP

Une vue se définit par :

  • Un nom

  • Une partie restreinte du MIB

Exemple : 

Vue définie

Commande CISCO

NOM : TOUT

Accès à : tout le MIB

OID : .1

snmp-server view TOUT iso included


NOM : Interfaces

Accès à : la liste des interfaces

OID : .1.3.6.1.2.1.2

snmp-server view INTERFACES ifEntry included


if = interface ici 

 
Le groupe SNMP

Un groupe se définit par 

  • Un nom

  • Des permissions d’accès à certaines vues :

    • Nom de la vue

    • Type d’accès

Exemple : 

Groupe défini

Commande CISCO

NOM : GROUP1

Accès à : INTERFACES en écriture 

snmp-server group GROUP1 v3 priv write INTERFACES


NOM : GROUP1

Accès à : TOUT en lecture

snmp-server group GROUP1 v3 priv read TOUT


Les utilisateurs SNMP

Un utilisateur SNMP se définit par :

  • Un nom

  • Un groupe d’appartenance,

  • Un mot de passe avec son algorithme de Hcode

  • Une clé de chiffrement avec son protocole pour les échanges

Exemple : 

Utilisateur défini

Commande CISCO

NOM : JEREMY

GROUPE : GROUP1

MOT DE PASSE : AZERTY31

CLE DE CHIFFREMENT : 

 AZERTY32


snmp-server user JEREMY GROUP1 v3 auth sha AZERTY31 priv des56 AZERTY32


Les échanges avec le superviseur

Pour pouvoir se communiquer avec un agent, le superviseur aura donc au minimum besoin de :

  • Un nom d’utilisateur,

  • Un mot de passe, qui sera haché

  • La clé de chiffrement


Exemple :

AD_4nXcyGmW-yOHDEPp2B7iAOEwgzaaRPNbwFzIjOxUVUFfe0LavWDa4GRCCbQx7aTq_WPLvEqfle20A_1Fcd7_wAV3mk9eCZEe1bZVL3MlF971FrP8ObfHYbKn3di4ht2OBz2kEo16f-4gkJoRRb18lwyJ7soeiD5yOR-8FSqy5mycywbG45thVGA?key=NTSoofBbYNxUYuMmNPx4JeTF