Supervision réseau avec SNMP et outils de monitoring
Détecter une panne avant les utilisateurs, mesurer la saturation d'un lien, anticiper un disque plein : la supervision repose encore largement sur SNMP. Voici comment la déployer proprement et utilement.
Superviser un réseau, c'est collecter en continu l'état et les performances des équipements pour détecter les pannes, anticiper les saturations et disposer d'un historique lors des analyses. Malgré l'émergence de la télémétrie en continu, SNMP reste le protocole de supervision le plus universellement pris en charge par les routeurs, commutateurs, pare-feu, onduleurs et imprimantes.
Objectif : comprendre SNMP, le déployer de façon sécurisée avec SNMPv3, choisir les bonnes métriques et définir des alertes utiles. Les approches modernes (télémétrie en flux, observabilité) sont présentées dans Télémétrie, SNMP et observabilité.
Le fonctionnement de SNMP
SNMP (Simple Network Management Protocol) repose sur trois éléments :
- un gestionnaire (manager) : le serveur de supervision qui interroge les équipements ;
- des agents : intégrés aux équipements supervisés ;
- une MIB (Management Information Base) : la description structurée des informations disponibles.
Chaque information est identifiée par un OID (Object Identifier), une suite de nombres hiérarchique. Par exemple, 1.3.6.1.2.1.1.3.0 correspond à sysUpTime (temps écoulé depuis le démarrage de l'agent), défini dans la MIB-II standard (RFC 1213, aujourd'hui complétée par des modules plus récents).
Les opérations
| Opération | Sens | Usage |
|---|---|---|
| GET / GETNEXT / GETBULK | Gestionnaire → agent | Lire une ou plusieurs valeurs |
| SET | Gestionnaire → agent | Modifier une valeur (à éviter en général) |
| TRAP / INFORM | Agent → gestionnaire | Notifier un événement (lien coupé, redémarrage) |
Les requêtes utilisent UDP 161 ; les notifications sont envoyées vers UDP 162. Un INFORM, contrairement à un TRAP, attend un accusé de réception.
Interrogation et notification
La supervision combine deux mécanismes :
- l'interrogation périodique (polling), par exemple toutes les 1 à 5 minutes, pour les compteurs et états ;
- les notifications (traps), pour réagir immédiatement à un événement.
Une notification peut se perdre (UDP) : l'interrogation sert de filet de sécurité.
Les versions de SNMP
| Version | Authentification | Chiffrement | Recommandation |
|---|---|---|---|
| SNMPv1 | Chaîne de communauté en clair | Non | À proscrire |
| SNMPv2c | Chaîne de communauté en clair | Non | Uniquement en lecture seule sur réseau de gestion isolé, si l'équipement n'offre rien d'autre |
| SNMPv3 | Utilisateurs, HMAC (SHA) | Oui (AES) | À privilégier |
SNMPv3 (RFC 3411 à 3418) introduit un modèle de sécurité par utilisateur (USM) avec trois niveaux : noAuthNoPriv, authNoPriv et authPriv (authentification et chiffrement), seul niveau recommandé.
Configurer SNMPv3
Sur un équipement Cisco IOS / IOS XE (exemple de laboratoire)
ip access-list standard ACL-SNMP
permit 10.10.99.20
snmp-server view VUE-LECTURE iso included
snmp-server group GRP-SUPERVISION v3 priv read VUE-LECTURE access ACL-SNMP
snmp-server user supervision GRP-SUPERVISION v3 auth sha <motdepasse-auth> priv aes 128 <motdepasse-chiffrement>
snmp-server location Paris-Baie-A3
snmp-server contact reseau@exemple.fr
snmp-server host 10.10.99.20 version 3 priv supervision
snmp-server enable traps snmp linkdown linkup coldstart
Selon la version d'IOS, des algorithmes plus robustes (SHA-2, AES 256) peuvent être disponibles : utilisez les plus forts pris en charge à la fois par l'équipement et par l'outil de supervision. Les utilisateurs SNMPv3 n'apparaissent pas dans la configuration affichée (show running-config) ; vérifiez-les avec show snmp user.
Sur un serveur Linux (Net-SNMP)
sudo apt install snmpd snmp
sudo systemctl stop snmpd
sudo net-snmp-create-v3-user -ro -A '<motdepasse-auth>' -a SHA -X '<motdepasse-chiffrement>' -x AES supervision
sudo systemctl start snmpd
Dans /etc/snmp/snmpd.conf, limitez l'écoute à l'interface d'administration (agentaddress udp:10.10.99.15:161).
Tester depuis le serveur de supervision
snmpwalk -v3 -l authPriv -u supervision -a SHA -A '<motdepasse-auth>' -x AES -X '<motdepasse-chiffrement>' 10.10.99.1 system
snmpget -v3 -l authPriv -u supervision -a SHA -A '…' -x AES -X '…' 10.10.99.1 IF-MIB::ifHCInOctets.1
Que superviser ?
Disponibilité
- Réponse à l'interrogation SNMP et au ping.
sysUpTime: une valeur qui revient à zéro signale un redémarrage.- État opérationnel des interfaces importantes (
ifOperStatus).
Performances des interfaces
- Débit : compteurs 64 bits
ifHCInOctets/ifHCOutOctets(les compteurs 32 bits débordent trop vite sur les liens rapides). - Erreurs et rejets :
ifInErrors,ifOutDiscards. - Taux d'utilisation calculé à partir des écarts entre deux mesures.
Ressources des équipements
- Processeur, mémoire, température, ventilateurs, alimentations (MIB propriétaires du constructeur).
- Sur les serveurs : espace disque, charge, services.
Services
- Réponse DNS, DHCP, HTTP(S), validité des certificats, état des tunnels VPN et des sessions de routage (voisins OSPF/BGP).
Définir des alertes utiles
Une supervision qui génère des centaines d'alertes est ignorée. Quelques règles :
- Alerter sur ce qui demande une action. Un lien à 70 % n'est pas une urgence ; un lien saturé pendant 15 minutes en est peut-être une.
- Utiliser des durées : « CPU > 90 % pendant 10 minutes » plutôt que sur un pic isolé.
- Gérer les dépendances : si le routeur d'un site tombe, inutile d'alerter pour chaque équipement derrière lui.
- Classer par gravité : information, avertissement, critique, avec des destinataires adaptés.
- Prévoir des périodes de maintenance pour ne pas déclencher d'alertes lors d'interventions planifiées.
Choisir un outil
| Outil | Points forts |
|---|---|
| Zabbix | Très complet : SNMP, agents, modèles, découverte automatique, alertes avancées |
| LibreNMS | Orienté réseau, découverte automatique, nombreux équipements pris en charge |
| Prometheus + snmp_exporter + Grafana | Métriques à grande échelle, langage de requête puissant, tableaux de bord |
| Centreon, Nagios, Icinga | Supervision orientée services et états, nombreux greffons |
Le meilleur outil est celui que votre équipe saura maintenir. Commencez par les équipements critiques, appliquez des modèles cohérents et étendez progressivement.
Erreurs courantes
- Laisser les communautés par défaut (
public,private) actives. - Activer SNMP en écriture sans nécessité.
- Utiliser les compteurs 32 bits sur des interfaces Gigabit ou plus.
- Superviser sans seuils pertinents, ou alerter sur tout.
- Ne pas superviser la supervision : si le serveur tombe, plus aucune alerte n'arrive.
Implications de sécurité
SNMP révèle énormément d'informations (configuration, tables de routage, adresses) et SNMP en écriture permet de modifier un équipement. Utilisez SNMPv3 authPriv, restreignez les requêtes aux adresses du serveur de supervision par ACL, désactivez v1/v2c, faites transiter SNMP sur le réseau de gestion et protégez les identifiants dans l'outil de supervision. Voir Journalisation et supervision des événements de sécurité.
Conclusion
Une supervision efficace repose sur SNMPv3 correctement sécurisé, des métriques choisies (disponibilité, débit, erreurs, ressources) et des alertes qui appellent une action. Couplée aux journaux système, elle constitue la base de l'exploitation réseau : voir Analyse et gestion des journaux système.


