
SNMP (Simple Network Management Protocol) est le protocole standard pour interroger et superviser des équipements réseau : switchs, routeurs, pare-feu, imprimantes, onduleurs, serveurs. Un outil de supervision demande à l’appareil « quelle est ta charge ? quel est l’état de ce port ? », sans rien installer de spécifique dessus. Voici comment il fonctionne et comment le sécuriser.
Les acteurs d’une architecture SNMP
- Le gestionnaire (manager) : l’outil qui pose les questions et collecte les réponses, comme Zabbix.
- L’agent : le petit service intégré à l’équipement supervisé, qui répond.
- La MIB (Management Information Base) : la bibliothèque qui décrit les informations disponibles, sous forme d’arbre.
- L’OID (Object Identifier) : l’adresse numérique d’une information dans cet arbre, par exemple
1.3.6.1.2.1.1.5.0pour le nom de l’équipement.
Les opérations principales
| Opération | Rôle |
|---|---|
| GET / GETNEXT | Lire une valeur ou la suivante dans l’arbre |
| GETBULK (v2c et v3) | Lire efficacement de nombreuses valeurs d’un coup |
| SET | Modifier une valeur (utilisé avec prudence) |
| TRAP / INFORM | Notification envoyée spontanément par l’agent en cas d’événement |
Les requêtes passent par le port UDP 161 ; les notifications (traps) arrivent sur le UDP 162. SNMP fonctionne en UDP : voir TCP ou UDP pour en comprendre les implications (pas de garantie de livraison).
SNMP v1, v2c ou v3 ?
| Version | Authentification | Chiffrement | À retenir |
|---|---|---|---|
| v1 | Community (mot de passe en clair) | Non | Ancienne, à éviter |
| v2c | Community (en clair) | Non | Courante, plus efficace, mais non sécurisée |
| v3 | Utilisateur + mot de passe | Oui (selon le niveau choisi) | Recommandée |
En v1 et v2c, la « communauté » (par défaut public en lecture) circule en clair sur le réseau : quiconque l’intercepte peut interroger l’appareil. En v3, on peut choisir entre noAuthNoPriv (rien), authNoPriv (authentification) et authPriv (authentification et chiffrement) : visez authPriv.
Tester avec snmpwalk
Sous Linux, installez les outils (snmp sur Debian et Ubuntu) puis :
snmpwalk -v2c -c public 192.168.1.1
La commande parcourt l’arbre et affiche toutes les valeurs. Pour une seule information : snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.5.0. Pour la v3 : snmpwalk -v3 -l authPriv -u utilisateur -a SHA -A motdepasse1 -x AES -X motdepasse2 192.168.1.1. Une absence de réponse vient souvent d’un pare-feu qui bloque le port UDP 161 ou d’une communauté incorrecte.
Activer SNMP sur Windows et Linux
- Windows : fonctionnalité optionnelle « Service SNMP ». Pour le configurer sur tout un parc, voir installer et paramétrer SNMP Windows via GPO.
- Linux : le paquet
snmpd, configuré dans/etc/snmp/snmpd.conf(communauté, adresses autorisées, informations d’identification v3). - Équipements réseau : menu « SNMP » ou « Supervision » de l’interface d’administration.
Sécuriser SNMP
- Changez la communauté par défaut (
public,private) si vous restez en v2c, et limitez les adresses qui peuvent interroger l’agent. - Passez en v3 avec authentification et chiffrement dès que l’équipement le permet.
- Désactivez les accès en écriture (SET) sauf besoin précis.
- Ne jamais exposer le port 161 sur Internet : filtrez-le au pare-feu ou passez par un VPN.
- Désactivez SNMP sur les équipements qui n’en ont pas besoin.
Questions fréquentes
SNMP est-il toujours d’actualité ?
Oui. Malgré de nouvelles approches (API, télémétrie), c’est le langage commun de presque tous les équipements réseau.
Quelle différence entre un polling SNMP et un trap ?
Le polling : le gestionnaire interroge à intervalle régulier. Le trap : l’agent prévient de lui-même quand un événement survient. On combine les deux.
Qu’est-ce qu’un OID personnalisé ?
Les constructeurs ajoutent leurs propres branches dans l’arbre (MIB propriétaires) pour exposer des informations spécifiques à leur matériel.
