Académique Documents
Professionnel Documents
Culture Documents
Le Protocole SNMP PDF
Le Protocole SNMP PDF
http://d.nouchi.free.fr/SNMP/SNMP.htm 1/20
3/3/2015 1) Le Protocole SNMP
http://d.nouchi.free.fr/SNMP/SNMP.htm 2/20
3/3/2015 1) Le Protocole SNMP
Ce rapport de DESS de fin d‛étude sur la sécurité des systèmes d‛information présente le protocole
SNMP utilisé dans le logiciel HP OpenView que j‛ai étudié durant mon stage à la DGA Toulon au Centre
Technique des Systèmes Navals.
Dans une première partie je vais décrire le fonctionnement général du protocole SNMP ainsi que ses
différentes versions avec leurs avantages et leurs inconvénients respectifs.
Dans une deuxième, j‛étudierai ses failles de sécurité ainsi que les méthodes à appliquer pour s‛en
prémunir.
Enfin dans une dernière, j‛analyserai les faiblesses du logiciel HP OpenView ainsi que les différentes
solutions à mettre en place pour les contourner.
1. Définition et Fonctionnement
1.1. Fonctionnement général de SNMP
Le protocole SNMP (Simple Network Management Protocol) a été développé pour permettre à
l‛administrateur d‛interroger les éléments de son réseau sans se déplacer. Le principe de SNMP est très
simple : sur chacune des machines, on installe un petit programme : l‛agent SNMP. Cet agent enregistre
en permanence des informations relatives à la machine. Il stocke ces informations dans une base de
données appelée MIB (Management Information Base).
Ainsi, de son ordinateur, l‛administrateur peut interroger chacune de ses machines et obtenir les
informations souhaitées, comme par exemple le nombre d‛octets reçus et envoyés... Il peut aussi en
modifier certaines.
Le protocole SNMP fonctionne au niveau 7 du modèle OSI, mais se situe directement au-dessus d‛UDP.
Il fonctionne sur un modèle client serveur, où il n‛y a qu‛un seul client, la station d‛administration (NMS =
Network Management Station) et de nombreux serveurs (chaque agent SNMP), le client interrogeant les
serveurs pour récupérer les informations.
Chaque agent est placé sur un nœud du réseau « administrable » (MN : Managed Node). Ces nœuds
peuvent être soit des hôtes (stations de travail ou serveurs), soit des éléments d‛interconnexion (switchs,
hubs, routeurs), soit des supports physiques (câbles).
1.2. SMI : Structure of Management Information
Pour se retrouver dans la foule d‛informations proposées par chaque agent, on a défini une structure
particulière pour les informations, appelée SMI. Chaque information de la MIB peut être retrouvée soit à
partir de son nom de variable, soit à partir d‛un arbre de classification. Cela revient à parcourir des sous-
dossiers et dossiers d‛un disque dur…
Supposons que vous souhaitiez consulter la variable System d‛un hôte, vous pouvez soit lui demander la
variable System directement, soit lui demander la variable ayant pour OID (Object IDentification)
1.3.6.1.2.1.1… correspondant à l‛arborescence de la variable (ISO, Identified Organization, dod, Internet,
Management, MIB2, System).
http://d.nouchi.free.fr/SNMP/SNMP.htm 3/20
3/3/2015 1) Le Protocole SNMP
Cela peut paraître assez contraignant à première vue, mais le nombre de variables étant important, on
ne peut se souvenir de chaque nom. Par contre, il existe de nombreux logiciels permettant d‛explorer la
MIB de façon conviviale, en utilisant cette classification.
Voici ci dessous un exemple d‛arbre MIB :
Les Private MIB, représentées en 1.3.6.1.4 dans la classification SMI, permettent aux entreprises de
rajouter des variables pour une implémentation particulière des agents SNMP. Cela leur permet d‛ajouter
de nouvelles variables en fonction des applications qu‛elles veulent développer.
Les MIB R-MON permettent par exemple de placer des agents SNMP sur des le trafic.
L‛administrateur pourra l‛interroger pour avoir des informations sur les collisions, les débits à un endroit
précis.
1.4. Les différents types d‛opérations
Deux situations sont possibles pour les échanges de données. Soit l‛administrateur réseau demande
une information à un agent et obtient une réponse, soit l‛agent envoie de lui-même une alarme (trap) à
l‛administrateur lorsqu‛un événement particulier arrive sur le réseau.
Il est donc possible que l‛agent prévienne l‛administrateur de son propre chef si un incident survient.
Il existe quatre types de requêtes :
http://d.nouchi.free.fr/SNMP/SNMP.htm 4/20
3/3/2015 1) Le Protocole SNMP
http://d.nouchi.free.fr/SNMP/SNMP.htm 5/20
3/3/2015 1) Le Protocole SNMP
informations sur les transmissions de données et sur les composantes de la station ou du routeur,
etc. (ex : uptime, configuration du routage, état du disque et du port série, nombre de paquets
reçus et envoyées, combien de paquets erronés reçus, etc.). Elles contiennent l‛ensemble des
variables TCP/IP de la station. Ce sont les informations contenues dans ces tables qui sont
demandées par la station de gestion afin d‛effectuer son travail.
Fonctionnement
SNMP fonctionne avec des requêtes, des réponses et des alertes. Autrement dit, NMS envoie des
requêtes à l‛agent sur chaque élément du réseau et celui-ci doit exécuter la requête et envoyer sa
réponse. Il peut aussi rencontrer des alertes asynchrones venant des agents voulant avertir NMS d‛un
problème.
Voici ci-dessous un exemple d‛utilisation de SNMP :
Le champ Version précise la version du protocole SNMP utilisée. Le champ Communauté est utilisé afin
d'identifier le manageur et filtrer l'accès aux informations. Le champ PDU SNMP est constitué par l'une
des trois PDU suivantes:
http://d.nouchi.free.fr/SNMP/SNMP.htm 6/20
3/3/2015 1) Le Protocole SNMP
Le champ Type indique s'il s'agit d'une PDU GetRequest, GetNextRequest ou SetRequest. La réponse à la
requête sera retournée avec la valeur fournie par le champ Request-Id, afin d'associer la réponse à la
requête. Le champ Affectation des variables est une suite de couples d'identificateurs et de valeurs
associées. Les valeurs sont fournies uniquement dans le cas d'une PDU SetRequest.
PDU GetResponse
Le champ Type permet de reconnaître une PDU SetResponse des PDU précédentes (dont le format est
identique). Les champs error-status et error-index nous informent sur le résultat de la requête.
PDU Trap
Affectation
1.6. Les noms de communautés
L'accès aux informations des MIBs est contrôlé par un mécanisme simple utilisant des noms de
communautés. Un nom de communauté peut être assimilé à un mot de passe connu par l'agent et utilisé
par le manageur pour se faire reconnaître. Les noms de communautés sont configurés sur l'agent et
autorisent trois types d'accès sur les variables de la MIB gérée par l'agent :
Pas d'accès
Read-Only
Read-Write.
http://d.nouchi.free.fr/SNMP/SNMP.htm 7/20
3/3/2015 1) Le Protocole SNMP
Le nom de communauté circule en clair sur le réseau. Beaucoup d'administrateurs préfèrent ainsi
limiter l'accès sur les MIBs en lecture seule, et se déplacent sur les équipements pour modifier certaines
valeurs.
1.7. Les agents SNMP
L'agent SNMP collecte les informations de la MIB de l'équipement et répond aux requêtes du
manageur. On trouve maintenant des agents SNMP sur tout les équipements dits « administrable ». Les
constructeurs fournissent également des agents pour les stations du réseau.
Toutefois, certains vieux équipements administrables ne sont pas conformes à SNMP. Dans ce cas, il
est possible d'utiliser un agent proxy sur un équipement SNMP, qui va servir d'intermédiaire avec celui
non SNMP.
1.8. Les manageurs SNMP
Les manageurs sont chargés de questionner les agents et de fournir à l'administrateur les
informations récupérées. Ils doivent également gérer les traps et prévenir l'administrateur.
Les outils SNMP vont du simple "browser" de MIB qui permet juste de lire les variables, jusqu'à la plate-
forme d'administration qui peut les afficher de façon pertinente sur des cartes du réseau.
Le marché des plates-formes d'administration est réparti entre deux grandes familles:
les constructeurs de systèmes distribués (HP, BULL, IBM):
HP OpenView (pour Unix ou Windows NT)
ISM
Tivoli
Les constructeurs de solutions pour réseaux locaux :
Novell Network Management System
9. Avantages et inconvénients de SNMPv1
9-1. 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,
http://d.nouchi.free.fr/SNMP/SNMP.htm 8/20
3/3/2015 1) Le Protocole SNMP
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.
Exemple : On ne peut pas demander à une passerelle de terminer une connexion TCP donnée, mais
on peut modifier la valeur tcpConnState pour que cette connexion soit fermée.
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.
1.10. 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.
1.10.1. 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
http://d.nouchi.free.fr/SNMP/SNMP.htm 9/20
3/3/2015 1) Le Protocole SNMP
standard ou bien, pour la MIB d'un agent donné, les capacités effectivement implémentées ou non.
1.10.2. 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.
1.10.3. 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é.
1.10.4. Déploiement et compatibilité
SNMPv2 a été conçu pour être utilisé sur TCP/IP, OSI et d'autres architectures de communication.
SNMPv2 permet aussi de communiquer avec des plates-formes supportant le protocole SNMPv1.
SNMPv2 va certainement compliquer l'image de la gestion réseau pour la plus part des utilisateurs.
Certaines personnes attendent que SNMPv2 devienne un standard, d'autres veulent profiter
immédiatement des avantages de SNMPv2 et enfin, comme toujours, d'autres refusent radicalement tout
changement ... en attendant OSI... Ceci conduira tôt ou tard à des problèmes d'interopérabilité.
Aujourd'hui, SNMPv2 se met lentement en place, quelque fois de façon partielle, où la partie sécurité
est souvent délaissée. De ce fait, le contrôle d'accès se réduit à un accès non sécurisé pour toutes les
variables.
L'évolution de SNMPv1 vers SNMPv2 est une étape importante dans l'évolution de SNMP. Le champ
d'application couvert maintenant par SNMP s'est largement étendu.
Toutefois, il faut bien se rappeler que SNMP est un standard d'échange d'informations de gestion. Ceci
n'est qu'une partie du problème de la gestion réseau. En ce qui concerne l'interface utilisateur, il reste
encore beaucoup à faire. Il y a bien sur la présentation des informations mais aussi leur interprétation.
Il serait bien de disposer, par exemple, d'un langage permettant à l'utilisateur ou aux vendeurs de
définir un traitement à effectuer avec les informations obtenues par SNMP. Par exemple, les dispositions
à prendre ou les actions à effectuer face aux conclusions que le système peut tirer de ces informations.
Si SNMPv2 poursuit son évolution vers un protocole de gestion simple et performant, il reste encore
du chemin à parcourir avant de disposer de vrais outils de gestion réseau.
http://d.nouchi.free.fr/SNMP/SNMP.htm 10/20
3/3/2015 1) Le Protocole SNMP
11. SNMPv3
1.11.1. 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.
1.11-2. 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).
É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édé 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.
Il est important de rappeler que l'étape d'authentification ne vise pas à cacher l'existence du
paquet ou à le rendre illisible. Si uniquement l'authentification est appliquée, les personnes qui
saisissent les paquets passant sur le réseau peuvent encore voir le contenu du paquet. Toutefois, elles ne
peuvent pas en changer le contenu sans connaître le mot de passe.
La localisation des mots de passe :
SNMP pose un problème de sécurité particulier. Une plate-forme de gestion peut communiquer avec
des dizaines ou quelquefois des centaines d'agents. Si le même mot de passe est utilisé par chaque agent,
on court le risque qu'un des agents soit volé ou compromis.
La connaissance du mot de passe compromettrait alors la sécurité entière du domaine d'administration.
De la même façon, utiliser un mot de passe différent pour chaque agent n'est pas une solution
envisageable : il n'est pas raisonnable pour un administrateur de connaître des dizaines ou
des centaines de mots de passe différents.
La solution adoptée par SNMPv3 est d'utiliser un seul mot de passe, mais de passer par une
étape de « localisation ». Un mot de passe localisé ne fonctionne qu'avec un seul agent.
Avant de localiser, il nous faut une chaîne de caractères qui soit unique à chaque agent. Avec
SNMPv3, on utilise le « ContextEngineID ». Cette chaîne est générée par un ensemble de données comme
l'adresse MAC de la carte Ethernet, l'adresse IP, des nombres aléatoires ou
une chaîne spécifiée par l'administrateur.
On commence par trouver le ContextEngineID de l'agent auquel on veut envoyer une requête.
On groupe le ContextEngineID et le mot de passe ensemble et on passe le groupe dans une
fonction de hachage à une direction.
C'est le mot de passe localisé qui est mémorisé dans l'agent et qui est utilisé par la plate-forme. Il est
employé dans l'authentification et le chiffrement des paquets SNMPv3.
Les détails de la localisation sont décrits dans le RFC2274. Cette étape est très coûteuse en
temps processeur. Les plates-formes de gestion sont donc instruites d'utiliser un cache pour éviter de
répéter ce calcul plusieurs fois.
Le chiffrement :
Le chiffrement a pour but d'empêcher quiconque de lire les informations de gestion contenues dans un
paquet SNMPv3 en écoutant sur le réseau les requêtes et les réponses.
Avec SNMPv3, le chiffrement de base se fait sur un mot de passe « partagé » entre la plate-forme et
l'agent. Ce mot de passe ne doit être connu par personne d'autre. Pour des raisons de
sécurité, SNMPv3 utilise deux mots de passe : un pour l'authentification et un pour le chiffrement. On
recommande à l'usager d'utiliser deux mots de passe distincts. Ceci permet
au système d'authentification et au système de chiffrement d'être indépendants. Un de ces
systèmes ne peut pas compromettre l'autre.
SNMPv3 se base sur le DES (Data Encryption Standard) pour effectuer le chiffrement.
Contrairement à l'authentification qui est appliquée à tout le paquet, le chiffrement est seulement
appliqué sur le «ScopedPduData», voir Figure ci-dessous : Description d'un paquet SNMPv3.
http://d.nouchi.free.fr/SNMP/SNMP.htm 12/20
3/3/2015 1) Le Protocole SNMP
L'estampillage du temps :
L'estampillage du temps doit empêcher la réutilisation d'un paquet SNMPv3 valide que quelqu'un a
déjà transmis. En effet, si une requête est transmise, les mécanismes d'authentification, de localisation
et de chiffrement n'empêchent pas quelqu'un de saisir un paquet SNMPv3 valide du réseau et de tenter
de le réutiliser ultérieurement, sans modification. On appelle cette attaque le « replay attack ».
Pour l‛éviter, le temps est estampillé sur chaque paquet. Quand on reçoit un paquet SNMPv3, on
compare le temps actuel avec le temps dans le paquet. Si la différence est supérieur à 150 secondes, le
paquet est ignoré.
1.11.3. Conclusion
Contrairement à ce que l'on pourrait penser, SNMPv3 n'est pas compatible avec SNMPv1.
Ceci n'empêche pas SNMPv1 de fonctionner à coté de SNMPv3 (« Dual stack »), il suffit de
placer deux agents ou deux plates-formes de gestion côte à côte.
Les standards SNMPv1 et SNMPv2c décrivent essentiellement un protocole de transport des
données entre un agent et une plate-forme de gestion. Rien n'est mentionné sur l'architecture
ou l'environnement dans lequel SNMP doit être utilisé.
Avec l'arrivée de SNMPv3, le standard SNMP décrit maintenant une architecture pour la
plate-forme de gestion et l'agent. Toutefois, SNMP reste un protocole simple, dont la vocation
première est d'être placé dans les instruments de réseau. SNMP est donc un bon protocole
pour obtenir des informations de gestion à partir des équipements de gestion, maintenant
encore meilleur avec l'ajout de la sécurité.
2. Failles de sécurités du protocole SNMP
2.1. Introduction
Cette partie présente les différentes failles de sécurité rencontrées par l‛utilisation du protocole
SNMP (Simple Network Management Protocol) intégré et utilisé dans de nombreux dispositifs de divers
constructeurs.
Dans une première partie, je vais présenter les vulnérabilités rencontrées par l‛utilisation de ce
protocole et dans une deuxième, je vais montrer les différents moyens que l‛on peut utiliser pour se
prémunir de ces failles de sécurités.
Systèmes Affectés
Des produits d‛un très grand nombre de fournisseurs peuvent être affectés. En plus des fournisseurs
qui ont fourni la rétroaction pour cette partie, une liste de fournisseurs entrés en contact avec le CERT
concernant ces problèmes est fourni dans la partie solution un peu plus loin.
http://d.nouchi.free.fr/SNMP/SNMP.htm 13/20
3/3/2015 1) Le Protocole SNMP
De nombreux autres systèmes se servant de SNMP peuvent également être vulnérables mais n'ont pas
été spécifiquement examinés.
Vue d'ensemble
De multiples vulnérabilités ont été rapportées dans les réalisations de tests SNMP effectuées par
divers fournisseurs. Ces vulnérabilités peuvent permettre un accès privilégié non autorisé, des attaques
par déni de service, ou causer des comportements instables.
2.2. Description
Le Simple Network Management Protocol (SNMP) est un protocole largement déployé qui est
généralement employé pour surveiller et contrôler des dispositifs réseau. La version 1 du protocole
(SNMPv1) définit plusieurs types de messages SNMP qui sont utilisés pour demander des changements
d'information ou de configuration, répondre aux demandes, énumérer des objets SNMP, et envoyer des
alertes non sollicitées.
Le groupe de programmation de l‛université d'Oulu (OUSPG, http://www.ee.oulu.fi/research/ouspg/) a
rapporté de nombreuses vulnérabilités dans l‛utilisation de SNMPv1 de différents fournisseurs. Plus
d'informations sur l'OUSPG peuvent être trouvées sur le cite du CERT :
http://www.cert.org/advisories/CA-2002-03.html .
La recherche d'OUSPG s'est concentrée sur la façon dont les agents SNMPv1 et la poignée de
manageurs demandent et emprisonnent des messages. En appliquant le PROTOS c06-snmpv1 à une variété
de produits populaires utilisant SNMPv1, l'OUSPG a indiqué les vulnérabilités suivantes:
VU#107186 - De multiples vulnérabilités dans SNMPv1 emprisonnent la manipulation
Des messages d‛alarme SNMP sont envoyés des agents aux manageurs. Un message d‛alarme peut
indiquer une condition d'avertissement, d'erreur ou autrement informer le manageur sur l'état de
l'agent. Les manageurs SNMP doivent correctement décoder ces messages d‛alarme et traiter les
données résultantes. Dans l'essai, OUSPG a trouvé de multiples vulnérabilités sur de nombreux
manageurs SNMP qui décodent et traitent des messages d‛alarme SNMP.
VU#854306 - Vulnérabilités multiples dans la manipulation de requêtes SNMPv1
Les messages de requêtes SNMP sont envoyés des manageurs aux agents. Ces messages sont utilisés
pour obtenir l'information d'un agent ou pour demander à l'agent de configurer le dispositif d‛une
machine. Les agents SNMP doivent correctement décoder ces requêtes et traiter les données
résultantes. Dans l'essai, OUSPG a trouvé des vulnérabilités multiples dans la manière dont de
nombreux agents SNMP décodent et traitent ces messages SNMP.
Les vulnérabilités dans le décodage, le traitement des messages SNMP par les manageurs et les agents
peuvent avoir comme conséquence des états de déni de service, des vulnérabilités dans le format des
chaînes de caractères, et des débordements de buffer. Quelques vulnérabilités n'exigent pas du message
SNMP d'employer la chaîne de caractères correcte de la communauté SNMP.
Impact :
Ces vulnérabilités peuvent causer des états de déni de service, interruptions de service, et dans
http://d.nouchi.free.fr/SNMP/SNMP.htm 14/20
3/3/2015 1) Le Protocole SNMP
certains cas peuvent permettre à un attaquant d'accéder au dispositif affecté. Les impacts spécifiques
changeront suivant le produit.
2.3. Solutions
Il faut noter que plusieurs des étapes recommandées ci-dessous peuvent avoir un impact significatif
sur les opérations réseau et/ou architectures réseau journalières. Il faut s‛assurer que tous les
changements basés sur les recommandations suivantes n'affecteront pas irréversiblement les possibilités
d'opérations réseau.
1. Appliquer un patch conseillé par votre fournisseur
La partie « 2.4. » contient l'information fournie par les fournisseurs. Veuillez consulter cette partie
pour déterminer si vous devez contacter votre fournisseur directement.
2. Neutraliser le service de SNMP
En règle générale, le CERT/cc recommande de neutraliser n'importe quel service ou les possibilités qui
ne sont pas explicitement exigées, y compris SNMP. Cependant, certains produits affectés ont montré un
comportement ou un déni de service inattendu une fois exposés à la suite d'essai d'OUSPG même si
SNMP n'était pas permis. Dans ces cas, la neutralisation de SNMP devrait être employée en même temps
que les pratiques de filtrage énumérées ci-dessous pour assurer une protection additionnelle.
3. Filtrer les entrées
Comme mesure provisoire, il est possible de limiter la portée de ces vulnérabilités en bloquant l'accès
des services SNMP au périmètre du réseau.
Le filtrage d'entrée contrôle l'écoulement du trafic sur le réseau. Les serveurs sont typiquement les
seules machines qui doivent accepter le trafic provenant d‛Internet. Ainsi, le filtrage des entrées devrait
être effectué à la frontière pour interdire le trafic d'arrivée lancé par des services non autorisés. Pour
SNMP, le filtrage d'entrée des ports suivants peut empêcher des attaquants extérieurs au réseau
d'utiliser les dispositifs vulnérables dans le réseau.
SNMP 161/udp # Simple Network Management Protocol (SNMP)
SNMP 162/udp # système de gestion des messages SNMP
Les services suivants sont moins communs, mais peuvent être employés sur certain produits utilisant
SNMP :
snmp 161/tcp # Simple Network Management Protocol (SNMP)
snmp 162/tcp # système de gestion des messages SNMP
smux 199/tcp # SNMP Unix Multiplexer
smux 199/udp # SNMP Unix Multiplexer
synoptics-relay 391/tcp # SynOptics SNMP Relay Port
synoptics-relay 391/udp # SynOptics SNMP Relay Port
http://d.nouchi.free.fr/SNMP/SNMP.htm 15/20
3/3/2015 1) Le Protocole SNMP
http://d.nouchi.free.fr/SNMP/SNMP.htm 16/20
3/3/2015 1) Le Protocole SNMP
recommande que les administrateurs réseau changent la chaîne de caractères (c‛est-à- dire le nom) de la
communauté en un nom de leur propre choix.
Cependant, même lorsque les noms de communautés sont changés par défaut, ils passeront toujours en
texte clair et seront donc sujets à des attaques de reniflement de paquet (sniffing). SNMPv3 offrent
des possibilités additionnelles pour assurer l'authentification et l'intégrité comme décrit dans le
RFC2574 .
Puisque plusieurs des vulnérabilités identifiées dans ce consultatif se produisent avant que les noms de
communauté soient évaluées, il est important de noter qu‛exécuter cette seule étape n'est pas suffisant
pour atténuer l'impact de ces vulnérabilités. Néanmoins, elle devrait être exécutée en tant qu‛une bonne
méthode en matière de sécurité.
6. Isoler le trafic SNMP sur un réseau séparé
Dans les situations où le blocage ou la neutralisation de SNMP n'est pas possible, l'exposition à ces
vulnérabilités peut être restreint en limitant l' accès SNMP aux réseaux séparés et en faisant une
gestion isolée du réseau pour qu‛il ne soit pas publiquement accessible. Bien que ceci implique idéalement
des réseaux physiquement séparés, ce genre de séparation n'est probablement pas faisable dans la
plupart des environnements.
Des mécanismes tels que LANs virtuel (VLANs) peuvent être employés pour aider à isoler le trafic sur
un même réseau physique. Notez que les VLANs ne peuvent pas strictement empêcher un attaquant
d'exploiter ces vulnérabilités, mais elles peuvent rendre la tâche plus difficile pour un attaquant qui veut
lancer des attaques.
Une autre option est de limiter les sites le trafic SNMP pour séparer les réseaux privés virtuels
(VPNs), qui utilisent l'authentification cryptographique forte.
Notez que ces solutions peuvent exiger des changements étendus à l'architecture d‛un réseau.
7. Filtrer les sorties
Le filtrage de sortie contrôle l'écoulement du trafic pendant qu'il laisse le réseau sous le contrôle de
l‛administrateur. Il a besoin en général de limiter les machines fournissant des services publiques pour
lancer le trafic relié à l'Internet. Dans le cas des vulnérabilités de SNMP, l'utilisation d‛un filtrage de
sortie sur les ports énumérés ci-dessus à votre frontière de réseau peut empêcher votre réseau d'être
employé comme une source pour des attaques venant d'autres sites.
8. Outils et techniques de partage
Puisque traiter ces vulnérabilités liés aux systèmes et aux réseaux est si complexe, le CERT/cc
fournira un forum où les administrateurs peuvent partager les idées et les techniques qui peuvent être
employées pour développer des défenses appropriées.
http://www.cert.org/advisories/CA-2002-03.html
1. Bulletin Consultatif Général De DataComm
Les applications de l‛équipe GDC emploient le protocole SNMP de HP OpenView NNM pour la gestion de la
communication de réseau SNMP avec sa carte Manager SpectraComm (SCM). Le SCM contient un agent
proxy SNMP.
Recommandations:
1. Le SCM n'a pas un nom de communauté en lecture/écriture par défaut " privé " qui permet d‛éviter que
des intrus changent les configurations du matériel ou prennent la main sur la gestion ou les données du
réseau informatique. Le SCM lit par défaut seulement le nom de la communauté " public ". Il est conseillé
au client de changer ceci.
2. Les clients principaux de gestion réseau de GDC emploient habituellement un LAN privé séparé pour
leur trafic de gestion pour éliminer l'entrée à l‛exposition extérieure.
NOTE: Les patchs sont marquées OV(OpenView). Cependant, les patchs sont également applicables aux
systèmes qui n‛utilisent pas OpenView.
N'importe quel système HP-UX 10.x ou 11.x faisant tourner les démons snmpd ou snmpdm est vulnérable.
Pour déterminer si votre système de HP-UX a les démons snmpd ou snmpdm installés, faites la commande
suivante : swlist -l file | grep snmpd
Si un patch n'est pas disponible pour votre plate-forme ou vous ne pouvez pas installer un patch
disponible, les démons snmpd et snmpdm peuvent être neutralisés en enlevant leurs entrées de
/etc/services et les permissions d'exécution de /usr/sbin/snmpd/ et usr/sbin/snmpdm.
3. Hewlett-Packard Company
http://d.nouchi.free.fr/SNMP/SNMP.htm 18/20
3/3/2015 1) Le Protocole SNMP
PLATEFORME: HP 9000 série 700 séries 800 HP-UX fonctionnant sous HP-UX 10.x et 11.x
MATERIEL: Commutateurs de HP Procurve Progiciels Du ---->> JetDirect MC/ServiceGuard,
Moniteurs SME HA
Pour HP-UX:
Agent de PHSS_26137 s700_800 HP-ux 10,20 OV EMANATE14.2
Agent de PHSS_26138 s700_800 HP-ux 11.x OV EMANATE14.2
PSOV_03087 Solaris 2.X EMANATE Release 14.2
Pour des systèmes utilisant OV NNM:
PHSS_26286 s700_800 HP-ux 10,20 pour fixer les pièges du démon ovtrapd
PHSS_26287 s700_800 HP-ux 11.x pour fixer les pièges du démon ovtrapd
PSOV_03100 Solaris 2.x pour fixer les pièges du démon ovtrapd
NNM_00857 de NT 4.X/Windows 2000 pour fixer les pièges du démon ovtrapd
Les clients peuvent télécharger ces patchs sous forme de mises à jour de logiciel à:
http://www.hp.com/rnd/software/switches.htm
Produit Version
Commutateur de HP Procurve 2524 (J481Á) F.04.08 ou plus grand
Commutateur de HP Procurve 2512 (J481À) F.04.08 ou plus grand
Commutateur 4108GL (J486Ä) G.04.05 de HP Procurve ou plus grand
Commutateur 4108GL-bundle (J4861A) G.04.05 de HP Procurve ou plus grand
Quelques problèmes trouvés dans le produit de NNM ont été rapportés pour éviter certaines
vulnérabilités. Les patchs sont disponibles.
N'importe quel système HP-UX 10.x ou 11.x faisant tourner les démons snmpd ou snmpdm est
vulnérable. Pour déterminer si votre système de HP-UX a les démons snmpd ou snmpdm installés,
faites la commande suivante : swlist -l file | grep snmpd
http://d.nouchi.free.fr/SNMP/SNMP.htm 19/20
3/3/2015 1) Le Protocole SNMP
Les clients peuvent télécharger ces patchs sous forme de mises à jour du logiciel à :
http://www.hp.com/rnd/software/switches.htm
Les problèmes trouvés dans le produit de sont corrigés dans les patchs disponibles à:
http://support.openview.hp.com/cpe/patches/nnm/6.2/s700_800_11.X.jsp
Workaround: Changez le nom de communauté et employez la liste de contrôle d‛accès comme décrit
dans l‛impression de HP Jetdirect.
Sécurité : SNMPv1 se fonde sur le nom de communauté. Il est important qu‛il soit configuré sur le
matériel Jetdirect et maintenu secret.
les serveurs d'impression de Jetdirect offrent un Access Control List qui peut être employé pour
indiquer quels machines peuvent faire des changement de configuration SNMP sur les serveurs
d'impression de Jetdirect.
Les étapes ci-dessous peuvent aider à empêcher l'exploitation de vulnérabilités :
-> NEUTRALISEZ SNMP SUR UN SERVEUR D'IMPRESSION DE JETDIRECT
1. Mettez à jour les progiciels au niveau le plus élevé comme décrit dans le document de mise à jour
de Jetdirect : http://www.hp.com/cposupport/networking/support_doc/bpj06917.html
note: La neutralisation de SNMP peut affecter la découverte de matériel et le port des moniteurs qui
emploient SNMP pour obtenir le statut du matériel.
HP recommande toujours d‛upgrader ses progiciels de Jetdirect pour éliminer les derniers bugs et
pour bénéficier d‛avantage de sécurité. Ceux-ci sont téléchargeables gratuitement sous leur dernier
version. Par exemple, le dernier progiciel pour le J3110A est G.08.32.
4. Microsoft Corporation
Les documents suivants concernant cette vulnérabilité sont fournis par Microsoft:
http://www.microsoft.com/technet/security/bulletin/MS02-006.asp
http://d.nouchi.free.fr/SNMP/SNMP.htm 20/20