Fonction | Gestion de réseau |
---|---|
Sigle | SNMP |
Date de création | 1988 |
Port | UDP 161 et 162 |
RFC | RFC 1067, RFC 1155, RFC 1157, RFC 1213 pour SNMPv1 ; RFC 3411 à 3418 pour SNMPv3 |
Simple Network Management Protocol (abrégé SNMP), en français « 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.
Les systèmes de gestion de réseau sont basés sur trois éléments principaux : un superviseur (manager), des nœuds (nodes) et des agents. Dans la terminologie SNMP, le synonyme manager est plus souvent employé que superviseur. Le superviseur est la console qui permet à l'administrateur réseau d'exécuter des requêtes de gestion (management). Les agents sont des entités qui se trouvent au niveau de chaque interface, connectant au réseau l'équipement géré (nœud) et permettant de récupérer des informations sur différents objets.
Commutateurs, concentrateurs, routeurs, postes de travail et serveurs (physiques ou virtuels) sont des exemples d'équipements contenant des objets gérables. Ces objets gérables peuvent être des informations matérielles, des paramètres de configuration, des statistiques de performance et autres objets qui sont directement liés au comportement en cours de l'équipement en question. Ces objets sont classés dans une sorte de base de données arborescente définie par l'ISO[1] appelée MIB (« Management Information Base »). SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans la MIB.
L'architecture de gestion du réseau proposée par le protocole SNMP est donc fondée sur trois principaux éléments :
Concrètement, dans le cadre d'un réseau, SNMP est utilisé :
Une requête SNMP est un datagramme UDP habituellement envoyé par le manager à destination du port 161 de l'agent. Les schémas de sécurité dépendent des versions de SNMP (v1, v2 ou v3). Dans les versions 1 et 2, une requête SNMP contient un nom appelé communauté, utilisé comme un mot de passe. Sur de nombreux équipements, la valeur par défaut de communauté est public ou private. Pour des raisons de sécurité, il convient de modifier cette valeur. Un nom de communauté différent peut être envisagé pour les droits en lecture et ceux en écriture. Les versions 1 et 2 du protocole SNMP comportent de nombreuses lacunes de sécurité. C'est pourquoi les bonnes pratiques recommandent de n'utiliser que la version 3. Cette dernière se base sur le chiffrement DES avec deux mots de passe ou clés sur 64 bits partagés entre l'agent et le manager :
Si un mot de passe venait à être trouvé, ce procédé permet de ne pas compromettre à la fois la sécurité du chiffrement et de l'authentification.
Pour les tâches d'administration de serveurs sensibles via SNMP (reboot, etc.), la version 3 montre tout de même certaines limites en sécurité (chiffrement plutôt faible). Pour pallier cela et ainsi renforcer la sécurité des échanges SNMP, la RFC 3826[2] traite de l'implémentation d'AES dans ce dernier.
Un grand nombre de logiciels libres et propriétaires utilisent SNMP pour interroger régulièrement les équipements et produire des graphes rendant compte de l'évolution des réseaux ou des systèmes informatiques (Centreon, NetCrunch 5, MRTG, Cacti, Shinken, Nagios, RG System, Zabbix, PRTG, Observium, LibreNMS).
Le protocole SNMP définit aussi un concept d'interruptions[3] (traps en anglais). Une fois défini, si un certain événement se produit, comme le dépassement d'un seuil, l'agent envoie un paquet UDP sur le port 162 du serveur de supervision.
Le protocole SNMP peut aussi être utilisé dans le domaine industriel. SNMP sert à transporter des informations ne concernant pas le réseau informatique et transporte alors des informations applicatives industrielles.
Le SNMP permet également de rétablir l'accès à un pare-feu.[précision nécessaire]