Le Protocole SNMP
Le Protocole SNMP
Le Protocole SNMP
Une MIB (management information base, base d'information pour la gestion du réseau) est un ensemble
d'informations structuré sur une entité réseau, par exemple un routeur, un commutateur ou un serveur. Ces
informations peuvent être récupérées.
La structure de la MIB est hiérarchique : les informations sont regroupées en arbre. Chaque information a un objet
identifier, une suite de chiffres séparés par des points, qui l'identifie de façon unique et un nom, indiqué dans le
document qui décrit la MIB.
Par exemple, 1.3.6.1.2.1.2.2.1.2 est l’objet identifier ifDescr qui est la chaîne de caractères décrivant une interface
réseau (comme eth0 sur Linux ou Ethernet0 sur un routeur Cisco).
Une des MIB les plus connues est MIB-II, décrite dans le RFC 1213, et qui est mise en œuvre dans quasiment tous les
équipements TCP/IP. Elle compte dix groupes, "system", "interfaces" (dont fait partie ifDescr, citée plus haut), "Adresse
de Translation", "IP", "ICMP", "TCP", "UDP", "EGP", "transmission" et "SNMP".
Les OID (pour object identifier) sont des identifiants universels, représentés sous la forme d'une suite d'entiers.
Ils sont organisés sous forme hiérarchique avec des nœuds. Ainsi seul l'organisme 2.999 peut dire quelle est la
signification de l'OID 2.999.1. Ils ont été définis dans une recommandation de l’International
Telecommunication Union. L'IETF a proposé de représenter la suite d'entiers constituant les OID séparés par des
points.
L'objectif des OID est d'assure l’interopérabilité entre différents logiciels. Les OID sont utilisés dans le monde
LDAP mais aussi dans d'autres domaines, comme le protocole SNMP pour identifier des ressources. Il est
possible d'obtenir un OID, et par conséquent toute une branche, auprès de l'IANA (L'Internet Assigned
Numbers Authority (IANA) est un département de l'ICANN, une société américaine privée à but non lucratif qui
supervise l'allocation globale des adresses IP, l'allocation des numéros de systèmes autonomes, la gestion de la
zone racine dans les Domain Name System (DNS),).
Dans le monde LDAP, les objets, les attributs, les syntaxes et les règles de comparaison sont référencés par un
OID. La RFC 2256 normalise un certain nombre de ces objets.
Il existe deux types d'objet géré ou d'ID d’objet : scalaire et tabulaire. Ils pourraient être
mieux compris avec un exemple
Scalaire : nom du fournisseur de l'appareil, le résultat ne peut être qu'un. (Comme le dit
la définition: "Un objet scalaire définit une seule instance d'objet")
Tabulaire : utilisation du processeur d'un processeur quadruple, cela me donnerait un
résultat pour chaque processeur séparément, ce qui signifie qu'il y aura 4 résultats pour
cet ID d'objet particulier. (Comme le dit la définition: "Un objet tabulaire définit plusieurs
instances d'objet liées qui sont regroupées dans des tables MIB")
COMMANDES DE BASE DU SNMP
La simplicité de l'échange d'informations a fait du SNMP un protocole largement accepté. La raison principale étant un ensemble
concis de commandes, les voici ci-dessous :
GET : l'opération GET est une demande envoyée par le gestionnaire au périphérique géré. Elle est effectuée pour récupérer une
ou plusieurs valeurs du périphérique géré.
GET NEXT : Cette opération est similaire à GET. La différence significative est que l'opération GET NEXT récupère la valeur du
prochain OID dans l'arborescence MIB.
GET BULK : l'opération GETBULK est utilisée pour récupérer des données volumineuses à partir d'une grande table MIB.
SET : Cette opération est utilisée par les gestionnaires pour modifier ou affecter la valeur du périphérique géré.
TRAP : Contrairement aux commandes ci-dessus qui sont lancées à partir du gestionnaire SNMP, les TRAPS sont lancés par les
agents. Il s'agit d'un signal adressé au gestionnaire SNMP par l'agent lors de la survenance d'un événement.
INFORM : Cette commande est similaire au TRAP initié par l'agent, INFORM comprend en outre une confirmation du gestionnaire
SNMP à la réception du message.
RÉPONSE : Il s'agit de la commande utilisée pour récupérer la ou les valeurs ou le signal des actions dirigées par le gestionnaire
SNMP.
COMMUNICATION TYPIQUE DU SNMP
Faisant partie de la suite de protocoles TCP⁄ IP, les messages SNMP sont encapsulés en
tant que protocole UDP (User Datagram Protocol) et internes enveloppés et transmis
dans le protocole Internet. Le diagramme suivant illustre le modèle à quatre couches.
GET⁄ GET NEXT⁄ GET BULK⁄ SET
TRAP
INFORM
Par défaut, le port SNMP est 161 et TRAP⁄ INFORM utilise le port SNMP 162 pour la communication.
Versions du SNMP
Depuis sa création, SNMP a subi d'importantes mises à niveau. Cependant, le protocole SNMP v1 et v2c sont les versions les plus
implémentées de SNMP. La prise en charge du protocole SNMP v3 a récemment commencé à rattraper son retard car il est plus
sécurisé par rapport à ses anciennes versions, mais il n'a toujours pas atteint une part de marché considérable.
SNMPv1:
Il s'agit de la première version du protocole SNMP, qui est définie dans les RFC 1155 et 1157
SNMPv2c:
Il s'agit du protocole révisé, qui comprend des améliorations de SNMPv1 dans les domaines des types de paquets de protocole, des
mappages de transport, des éléments de structure MIB mais en utilisant la structure d'administration SNMPv1 existante ("community
based " et donc SNMPv2c). Il est défini dans RFC 1901, RFC 1905, RFC 1906, RFC 2578.
SNMPv3:
SNMPv3 définit la version sécurisée du SNMP. Le protocole SNMPv3 facilite également la configuration à distance des entités SNMP. Il
est défini par RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.
Bien que chaque version ait évolué vers de riches fonctionnalités, l'accent a été mis sur l'aspect sécurité de chaque mise à niveau.
SNMPv1
Avantages
· L'avantage majeur dans le fait d'utiliser SNMP est qu'il est de conception simple. Il est donc aisé de
l'implémenter sur un réseau, puisqu'il ne nécessite pas une longue configuration et qu'il est de petite taille.
· Un autre atout de SNMP est qu'il est très répandu aujourd'hui. Presque tous les grands constructeurs de
matériel hardware inter-réseaux, tels que les commutateurs ou les routeurs, implémentent le support SNMP
dans leurs produits.
· L'expansion est un autre privilège de SNMP. De par sa simplicité de conception, il est facile de mettre à jour
le protocole pour qu'il réponde aux besoins des futurs utilisateurs.
· Enfin, SNMP est basé sur le protocole de transport UDP, ce qui nécessite moins de ressources et de
connexions simultanées qu'avec TCP.
Inconvénients
La puissance de SNMP à administrer un réseau n'est plus à démontrer, mais il faut avouer que ce protocole souffre de quelques
défauts :
· A chaque réponse reçue correspond une requête. Le transfert de données à travers le réseau s'avère donc assez important,
ce
qui surcharge ce dernier par rapport à ce qu'il aurait été en cas de non administration.
· Ce protocole n'est pas très pratique pour ramener une grosse quantité de données comme une table de routage par
exemple.
· Les alarmes ne sont pas acquittées et un agent n'est jamais sûr de bien avoir averti sa station d'administration.
· L'authentification reste très simple et donc non sécurisée. Le mot de passe et les données de contrôle sont envoyés sans
chiffrement
sur le réseau.
· SNMP ne permet pas de "commander" un agent, cette manipulation ne peut se faire qu'en modifiant une entrée de sa MIB.
· SNMP ne supporte pas la communication de station d'administration à station d'administration. Il est donc impossible à une
station d'administration de faire des requêtes à un périphérique administré par une autre station en passant par son
intermédiaire.
SNMPv2
Devant le succès de SNMP, il a vite semblé nécessaire de développer un successeur qui corrigerait ses nombreuses
faiblesses, notamment en terme de sécurité.
Une version améliorée a été proposée sous le nom SNMPv2. Elle apporte des mécanismes d'authentification et de
chiffrement ainsi que des méthodes de consultation des informations réseaux plus efficaces.
Plus complexe que SNMP (v1), qui est par ailleurs bien implanté, SNMPv2 ne connaît pas de réel succès à ce jour.
Domaine d'application
SNMPv2 est conçu pour faciliter la gestion de n'importe quelle ressource, pas seulement de ressources réseaux. SNMPv2
peut donc être utilisé pour gérer des applications, des systèmes et communiquer entre gestionnaires.
Grâce à l'ajout des fonctions de communication de gestionnaire, SNMPv2 peut être aussi utilisé en gestion distribuée.
SNMPv2 propose un cadre concis et flexible pour décrire les informations en promouvant l'extensibilité dans la définition de
MIBs.
De même, SNMPv2 propose un moyen pour décrire les conditions de "conformance" à la définition de MIB standard ou
bien, pour la MIB d'un agent donné, les capacités effectivement implémentées ou non.
Taille, vitesse et efficacité
SNMPv2 reste "simple" pour permettre le développement de petites et rapides implémentations. Le format des
messages de type trap n'est plus différent des autres messages afin de simplifier les routines d'interprétation des
messages.
Le changement majeur dans cette catégorie est l'ajout de la commande get bulk pour l'échange de grandes quantités
d'informations. La commande get bulk est une requête de plusieurs get next successifs. Auparavant, on était obligé de
faire une succession de get next pour lire une table, avec SNMPv2 une seule commande et réponse peuvent maintenant
suffire pour cela.
Sécurité et privautés
SNMPv2 permet de garantir l'authentification des messages et/ou le chiffrement des messages. Ce système est très
riche et permet de définir l'accès à chaque variable, le type de sécurité et de protocole utilisé pour chaque transaction.
Il est ainsi possible de spécifier qui peut faire quelle opération sur quelle variable et avec quel degré de sécurité : non
sécurisé, authentifié ou chiffré.
SNMPv3 (TRAME SNMP)
Les améliorations de SNMPv3
Comme nous avons pu le voir dans la partie précédente, le contrôle d'accès pour les versions antérieures à SNMPv3 est approximatif et la
confidentialité inexistante. SNMPv3, quant à lui, résout le problème de la sécurité et de la modularité. Les nouveautés apportées par SNMPv3 sont les
suivantes :
Sécurité :
· Authentification et chiffrement.
· Autorisation et contrôle d'accès.
Administration :
· Nommage des entités.
· Gestion de la compatibilité.
· Destinations des notifications.
· Configuration à distance.
Le fonctionnement de la sécurité dans SNMPv3
Cette partie décrit les mécanismes de sécurité utilisés dans SNMPv3. Ils sont au nombre de quatre et chacun d’entre eux a pour but d'empêcher un type
d'attaque :
L'authentification :
L'authentification a pour rôle d'assurer que le paquet reste inchangé pendant la transmission, et que le
mot de passe est valide pour l'usager qui fait la requête.
Pour construire ce mécanisme, des fonctions de hachage à une seule direction sont nécessaires. Ces
fonctions prennent en entrée une chaîne de caractères de longueur indéfinie, et génèrent en sortie une
chaîne d'octets de longueur fixe (16 octets pour MD5, 20 octets pour SHA-1).
Ces fonctions de hachage ont une seule direction dont la propriété est suivante :
Étant donné une chaîne d'octets qui est le résultat d'une fonction de hachage à une direction. Il doit être
très difficile de trouver une quelconque chaîne d'entrée qui, une fois passée dans la fonction, donne cette
même chaîne en sortie.
Pour authentifier l'information qui va être transmise, on doit aussi posséder un mot de passe qui est «
partagé ». Celui-ci ne doit donc être connu que par les deux entités qui s'envoient les messages.
Data Password Data Hash code
L’administration de réseaux informatique (ou Network management) se réfère aux activités, méthodes,
procédures comme la surveillance du réseau et aux outils de mise en œuvre par l'administrateur réseaux ayant
trait à l'exploitation, l'administration, la maintenance et la fourniture des réseaux informatiques. La gestion des
réseaux informatiques constitue un problème dont l’enjeu est de garantir au meilleur coût, non seulement la
qualité du service rendu aux utilisateurs mais aussi la réactivité dû aux changements et à l'évolution rapide du
secteur informatique.
Cette gestion des réseaux se définit comme étant l’ensemble des moyens mis en œuvre (connaissances,
techniques, méthodes, outils, ...) pour superviser, exploiter des réseaux informatiques et planifier leur évolution
en respectant les contraintes de coût, de qualité et de matériel. La qualité de service se décline sur plusieurs
critères pour le futur utilisateur, notamment la disponibilité, la performance (temps de réponse), la fiabilité, la
sécurité… L’administration des réseaux est couramment classée en trois activités :
I- LA SUPERVISION
1- La supervision
consiste à surveiller les systèmes et à récupérer les informations sur leur état et leur comportement, ce qui peut
être fait par interrogation périodique ou par remontée non sollicitée d’informations de la part des équipements
de réseaux eux-mêmes. Le plus grand souci d’un administrateur est la panne. En effet, il doit pouvoir réagir le plus
rapidement possible pour effectuer les réparations nécessaires. Il faut pouvoir surveiller de manière continu l’état
des réseaux afin d’éviter un arrêt prolongé de celui-ci. La supervision doit permettre d’anticiper les problèmes et
de faire remonter les informations sur l’état des équipements et des logiciels. Plus le système est important et
complexe, plus la supervision devient compliquée sans les outils adéquats. Une grande majorité des logiciels de
supervision sont basés sur le protocole SNMP qui existe depuis de nombreuses années.
La plupart de ces outils permettent de nombreuses fonctions dont voici les principales :
Surveiller le système d’information ;
Visualiser l’architecture du système ;
Analyser les problèmes ;
Déclencher des alertes en cas de problèmes ;
Effectuer des actions en fonction des alertes ;
Réduire les attaques entrantes.
2. L'Administration
l'administration désigne plus spécifiquement les opérations de contrôle du réseau avec la gestion des
configurations et de sécurité. De façon générale, une administration de réseaux a pour objectif d'englober un
ensemble de techniques de gestion mises en œuvre pour :
Offrir aux utilisateurs une certaine qualité de service;
Permettre l'évolution du système en incluant de nouvelles fonctionnalités;
Rendre opérationnel un système.
3- L'Exploitation
De nos jours, les systèmes d'exploitation à savoir les systèmes UNIX, MacOs et Windows gèrent tous l'aspect de
l’exploitation des réseaux, les procédures, et les fonctions associés. Un système d’administration réseau est une
collection d’outils pour la supervision et le contrôle du réseau qui sont intégrés dans le sens qu’ils impliquent :
Une interface opérateur unique avec un puissant, mais convivial ensemble de commandes pour exécuter toutes
les tâches d’administration réseau ; Un nombre minimal d’équipements séparés qui sont le plus souvent des
composants matériels et logiciels requis pour l’administration réseau, et incorporés dans les équipements
utilisateurs existants
Les objectifs (les finalités) de l’administration des réseaux pour un administrateur :
Supervision du fonctionnement des réseaux ;
Optimisation pour l’utilisation des ressources ;
Détection et prévision des erreurs ;
Signalisation des pannes ;
Calculs de facturations à l’utilisation des ressources ;
Le support technique pour utilisateurs.
II- LES ROLES D’UN ADMINISTRATEUR DES RESEAUX INFORMATIQUES
L’administrateur réseau est responsable de ce qui peut se passer dans un réseau administré ;
ainsi les rôles d’un administrateur réseau consiste à :
Mettre en place et maintenir l’infrastructure du réseau (organisation, ...) ;
Installer et maintenir les services nécessaires au fonctionnement du réseau ;
Assurer la sécurité des données internes au réseau(particulièrement face aux attaques
extérieures) ;
S’assurer que les utilisateurs n’outrepassent pas leurs droits ;
Gérer les « logins » (i.e. noms d’utilisateurs, mot de passe, droits d’accès, permissions
particulières, ...) ;
Gérer les systèmes de fichiers partagés et les maintenir.
III- NIVEAUX DE DECISIONS DE L’ADMINISTRATION DES RESEAUX INFORMATIQUES
Pour une bonne administration d’un réseau, un bon administrateur a différents niveaux
participer à la prise des décisions d’administration :
Les décisions opérationnelles : sont des décisions à court terme, concernant
l’administration du réseau au jour le jour et, la tenue de l’opération se fait à temps réel sur
le système ;
Les décisions tactiques : sont des décisions à moyen terme et concernent l’évolution du
réseau et l’application du politique à long terme ;
Les décisions stratégiques : sont des décisions à long terme concernant les stratégies pour
le futur en exprimant les nouveaux besoins et les désirs des utilisateurs.
Plus le système est important et complexe, plus la supervision devient compliquée sans les outils adéquats. Une
grande majorité des logiciels de supervision sont basés sur le protocole SNMP qui existe depuis de nombreuses
années. La plupart de ces outils permettent de nombreuses fonctions dont voici les principales :
Surveiller le système d’information ;
Visualiser l’architecture du système ;
Analyser les problèmes ;
Déclencher des alertes en cas de problèmes ;
Effectuer des actions en fonction des alertes ;
Réduire les attaques entrantes.
Les logiciels de supervision dits « Open Source », les plus utilisées sont :
Le logiciel NAGIOS ;
Le logiciel CACTI ;
Le logiciel CENTREON.