You are on page 1of 24

Table des matires

1.

Dfinition et Fonctionnement
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
1.9.
1.10.
1.11.

Fonctionnement gnral de SNMP


SMI : Structure of Management Information
Extension de la MIB
Les diffrents types doprations
Format des messages SNMP
Les noms de communauts
Les agents SNMP
Les manageurs SNMP
Avantages et inconvnients de SNMPv1
SNMPv2
SNMPv3

2. Failles de scurit du protocole SNMP & Solutions


2.1.
2.2.
2.3.

2.4.

Introduction
Description
Solutions
a. Appliquer un patch conseill par votre fournisseur
b. Neutraliser le service de SNMP
c. Filtrer les entres
d. Filtrer le trafic SNMP des htes internes non autoriss
e. Changer la chane de caractres (nom) de la communaut par dfaut
f. Isoler le trafic SNMP sur un rseau spar
g. Filtrer les sorties
h. Outils et techniques de partage
L'Information des fournisseurs

p3
p 3
p 3
p 4
p 4
p 7
p 7
p 8
p 8
p 9
p 10
p 11

p 14
p 14
p 15
p 16
p 16
p 16
p 16
p 17
p 17
p 18
p 18
p 18
p 19

Ce rapport de DESS de fin dtude sur la scurit des systmes dinformation prsente le
protocole SNMP utilis dans le logiciel HP OpenView que jai tudi durant mon stage la DGA
Toulon au Centre Technique des Systmes Navals.
Dans une premire partie je vais dcrire le fonctionnement gnral du protocole SNMP ainsi que
ses diffrentes versions avec leurs avantages et leurs inconvnients respectifs.
Dans une deuxime, jtudierai ses failles de scurit ainsi que les mthodes appliquer pour sen
prmunir.
Enfin dans une dernire, janalyserai les faiblesses du logiciel HP OpenView ainsi que les
diffrentes solutions mettre en place pour les contourner.

1. Dfinition et Fonctionnement
1.1. Fonctionnement gnral de SNMP
Le protocole SNMP (Simple Network Management Protocol) a t dvelopp pour permettre
ladministrateur dinterroger les lments de son rseau sans se dplacer. Le principe de SNMP est
trs simple : sur chacune des machines, on installe un petit programme : lagent SNMP. Cet agent
enregistre en permanence des informations relatives la machine. Il stocke ces informations dans
une base de donnes appele MIB (Management Information Base).
Ainsi, de son ordinateur, ladministrateur peut interroger chacune de ses machines et obtenir les
informations souhaites, comme par exemple le nombre doctets reus et envoys... Il peut aussi en
modifier certaines.
Le protocole SNMP fonctionne au niveau 7 du modle OSI, mais se situe directement au-dessus
dUDP. Il fonctionne sur un modle client serveur, o il ny a quun seul client, la station
dadministration (NMS = Network Management Station) et de nombreux serveurs (chaque agent
SNMP), le client interrogeant les serveurs pour rcuprer les informations.
Chaque agent est plac sur un nud du rseau administrable (MN : Managed Node). Ces
nuds peuvent tre soit des htes (stations de travail ou serveurs), soit des lments
dinterconnexion (switchs, hubs, routeurs), soit des supports physiques (cbles).

1.2. SMI : Structure of Management Information


Pour se retrouver dans la foule dinformations proposes par chaque agent, on a dfini une
structure particulire pour les informations, appele SMI. Chaque information de la MIB peut tre
retrouve soit partir de son nom de variable, soit partir dun arbre de classification. Cela revient
parcourir des sous-dossiers et dossiers dun disque dur

Supposons que vous souhaitiez consulter la variable System dun hte, 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 larborescence de la variable (ISO, Identified
Organization, dod, Internet, Management, MIB2, System).
Cela peut paratre assez contraignant premire vue, mais le nombre de variables tant
important, on ne peut se souvenir de chaque nom. Par contre, il existe de nombreux logiciels
permettant dexplorer la MIB de faon conviviale, en utilisant cette classification.
Voici ci dessous un exemple darbre MIB :

1.3. Extension de la MIB


Au bout dun moment, les variables choisies pour la MIB (puis la MIB2) se sont avres
insuffisantes pour plusieurs applications. On va donc trouver deux autres types de MIB que sont les
Private MIB et les MIB R-MON (Remote network MONitoring).
Les Private MIB, reprsentes en 1.3.6.1.4 dans la classification SMI, permettent aux
entreprises de rajouter des variables pour une implmentation particulire des agents SNMP. Cela
leur permet dajouter de nouvelles variables en fonction des applications quelles veulent dvelopper.
Les MIB R-MON permettent par exemple de placer des agents SNMP sur des le trafic.
Ladministrateur pourra linterroger pour avoir des informations sur les collisions, les dbits un
endroit prcis.

1.4. Les diffrents types doprations


Deux situations sont possibles pour les changes de donnes. Soit ladministrateur rseau
demande une information un agent et obtient une rponse, soit lagent envoie de lui-mme une
alarme (trap) ladministrateur lorsquun vnement particulier arrive sur le rseau.
Il est donc possible que lagent prvienne ladministrateur de son propre chef si un incident survient.

Il existe quatre types de requtes :

GetRequest : permet dobtenir une variable.


GetNextRequest : permet dobtenir la variable suivante (si existante, sinon retour
derreur).
GetBulk : " permet la recherche dun ensemble de variables regroupes. "
SetRequest : permet de modifier la valeur dune variable.

Puis, les rponses :

GetResponse : permet lagent de retourner la rponse au NMS.


NoSuchObject : informe le NMS que la variable nest pas disponible.

Les types derreurs sont les suivants : NoAccess, WrongLenght, WrongValue, WeongType,
WrongEncoding, NoCreatio, NoWritable et AuthorisationError.
Les alertes (traps) sont ColdStart, WarmStart, LinkUP et AuthentificationFailure.

Type de PDU (Protocol Data


Units)

Nom

GetRequest

GetNextRequest

SetRequest

GetResponse

Trap

Le paquet SNMPv1
(La version 1 est la plus utilise)
SNMP est un protocole, comme son nom lindique, pour effectuer de la gestion de rseau. Il
permet de contrler un rseau distance en interrogeant les stations qui en font partie sur leur
tat et modifier leur configuration, faire des tests de scurit et observer diffrentes
informations lies lmission de donnes. Il peut mme tre utilis pour grer des logiciels et
bases de donnes distance. Depuis quil est devenu un standard TCP/IP, son utilisation a beaucoup
augment. Dailleurs, il est le protocole le plus utilis pour grer des quipements de rseau
(routeurs, ponts, etc.) et beaucoup de logiciels de gestion de rseau sont bass sur ce protocole.

Composantes pour lutilisation


Ce qui fait partie de lutilisation du SNMP dans un rseau:
1. Une station de gestion NMS (Network Management Station) : Cest la station qui excute
un programme de gestion SNMP. Son but principal est de contrler les stations du rseau et
de les interroger sur diffrentes informations. . Sa configuration matrielle doit possder
un processeur relativement rapide, beaucoup de mmoire (256 Mo minimum) et un espace
disque suffisant (pour archiver les informations).
2. Des lments de rseaux avec des agents : Ils sont les lments grer sur le rseau
(ex : logiciels, stations de travail, routeurs, concentrateurs, ponts, etc.). Lagent est un
module rsidant dans chaque nud du rseau qui a pour fonction daller chercher les
informations du systme afin de tenir sa table MIB jour.
3. Les tables MIB : Elles reprsentent une base de donnes maintenue par lagent qui
contient les informations sur les transmissions de donnes et sur les composantes de la
station ou du routeur, etc. (ex : uptime, configuration du routage, tat du disque et du port
srie, nombre de paquets reus et envoyes, combien de paquets errons reus, etc.). Elles
contiennent lensemble des variables TCP/IP de la station. Ce sont les informations
contenues dans ces tables qui sont demandes par la station de gestion afin deffectuer son
travail.
Fonctionnement
SNMP fonctionne avec des requtes, des rponses et des alertes. Autrement dit, NMS envoie
des requtes lagent sur chaque lment du rseau et celui-ci doit excuter la requte et envoyer
sa rponse. Il peut aussi rencontrer des alertes asynchrones venant des agents voulant avertir NMS
dun problme.
Voici ci-dessous un exemple dutilisation de SNMP :

1.5. Format des messages SNMP


Message SNMP standard

Le champ Version prcise la version du protocole SNMP utilise. Le champ Communaut est utilis
afin d'identifier le manageur et filtrer l'accs aux informations. Le champ PDU SNMP est constitu
par l'une des trois PDU suivantes:
PDU GetRequest, GetNextRequest et SetRequest

Le champ Type indique s'il s'agit d'une PDU GetRequest, GetNextRequest ou SetRequest. La
rponse la requte sera retourne avec la valeur fournie par le champ Request-Id, afin d'associer
la rponse la requte. Le champ Affectation des variables est une suite de couples
d'identificateurs et de valeurs associes. Les valeurs sont fournies uniquement dans le cas d'une
PDU SetRequest.
PDU GetResponse

Le champ Type permet de reconnatre une PDU SetResponse des PDU prcdentes (dont le format
est identique). Les champs error-status et error-index nous informent sur le rsultat de la
requte.
PDU Trap

Affectation

1.6. Les noms de communauts


L'accs aux informations des MIBs est contrl par un mcanisme simple utilisant des noms de
communauts. Un nom de communaut peut tre assimil un mot de passe connu par l'agent et
utilis par le manageur pour se faire reconnatre. Les noms de communauts sont configurs sur
l'agent et autorisent trois types d'accs sur les variables de la MIB gre par l'agent :

Pas d'accs

Read-Only
Read-Write.

Le nom de communaut circule en clair sur le rseau. Beaucoup d'administrateurs prfrent ainsi
limiter l'accs sur les MIBs en lecture seule, et se dplacent 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 rpond aux requtes du
manageur. On trouve maintenant des agents SNMP sur tout les quipements dits administrable .
Les constructeurs fournissent galement des agents pour les stations du rseau.
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'intermdiaire
avec celui non SNMP.

1.8. Les manageurs SNMP


Les manageurs sont chargs de questionner les agents et de fournir l'administrateur les
informations rcupres. Ils doivent galement grer les traps et prvenir 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 faon pertinente sur des cartes du rseau.
Le march des plates-formes d'administration est rparti entre deux grandes familles:

les constructeurs de systmes distribus (HP, BULL, IBM):

HP OpenView (pour Unix ou Windows NT)

ISM

Tivoli
Les constructeurs de solutions pour rseaux locaux :

Novell Network Management System

9. Avantages et inconvnients 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'implmenter sur un rseau, puisqu'il ne ncessite pas une longue configuration et
qu'il est de petite taille.
Un autre atout de SNMP est qu'il est trs rpandu aujourd'hui. Presque tous les grands
constructeurs de matriel hardware inter-rseaux, tels que les commutateurs ou les routeurs,
implmentent le support SNMP dans leurs produits.
L'expansion est un autre privilge de SNMP. De par sa simplicit de conception, il est facile de
mettre jour le protocole pour qu'il rponde aux besoins des futurs utilisateurs.
Enfin, SNMP est bas sur le protocole de transport UDP, ce qui ncessite moins de ressources
et de connexions simultanes qu'avec TCP.

9-2. Inconvnients
La puissance de SNMP administrer un rseau n'est plus dmontrer, mais il faut avouer que ce
protocole souffre de quelques dfauts :

A chaque rponse reue correspond une requte. Le transfert de donnes travers le


rseau s'avre 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 trs pratique pour ramener une grosse quantit de donnes comme
une table de routage par exemple.
Les alarmes ne sont pas acquittes et un agent n'est jamais sr de bien avoir averti sa
station d'administration.

L'authentification reste trs simple et donc non scurise. Le mot de passe et les donnes
de contrle sont envoys sans chiffrement sur le rseau.
SNMP ne permet pas de "commander" un agent, cette manipulation ne peut se faire qu'en
modifiant une entre de sa MIB.
Exemple : On ne peut pas demander une passerelle de terminer une connexion TCP donne,
mais on peut modifier la valeur tcpConnState pour que cette connexion soit ferme.
SNMP ne supporte pas la communication de station d'administration station
d'administration. Il est donc impossible une station d'administration de faire des requtes
un priphrique administr par une autre station en passant par son intermdiaire.

1.10. SNMPv2
Devant le succs de SNMP, il a vite sembl ncessaire de dvelopper un successeur qui
corrigerait ses nombreuses faiblesses, notamment en terme de scurit.
Une version amliore a t propose sous le nom SNMPv2. Elle apporte des mcanismes
d'authentification et de chiffrement ainsi que des mthodes de consultation des informations
rseaux plus efficaces.
Plus complexe que SNMP (v1), qui est par ailleurs bien implant, SNMPv2 ne connat pas de rel
succs ce jour.

1.10.1. Domaine d'application


SNMPv2 est conu pour faciliter la gestion de n'importe quelle ressource, pas seulement de
ressources rseaux. SNMPv2 peut donc tre utilis pour grer des applications, des systmes et
communiquer entre gestionnaires.
Grce l'ajout des fonctions de communication de gestionnaire, SNMPv2 peut tre aussi utilis en
gestion distribue.
SNMPv2 propose un cadre concis et flexible pour dcrire les informations en promouvant
l'extensibilit dans la dfinition de MIBs.
De mme, SNMPv2 propose un moyen pour dcrire les conditions de "conformance" la dfinition de
MIB standard ou bien, pour la MIB d'un agent donn, les capacits effectivement implmentes ou
non.

1.10.2. Taille, vitesse et efficacit


SNMPv2 reste "simple" pour permettre le dveloppement de petites et rapides implmentations.
Le format des messages de type trap n'est plus diffrent des autres messages afin de simplifier
les routines d'interprtation des messages.

Le changement majeur dans cette catgorie est l'ajout de la commande get bulk pour l'change
de grandes quantits d'informations. La commande get bulk est une requte 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 rponse peuvent maintenant suffire pour cela.

1.10.3. Scurit et privauts


SNMPv2 permet de garantir l'authentification des messages et/ou le chiffrement des messages.
Ce systme est trs riche et permet de dfinir l'accs chaque variable, le type de scurit et de
protocole utilis pour chaque transaction. Il est ainsi possible de spcifier qui peut faire quelle
opration sur quelle variable et avec quel degr de scurit : non scuris, authentifi ou chiffr.

1.10.4. Dploiement et compatibilit


SNMPv2 a t conu 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 rseau pour la plus part des
utilisateurs. Certaines personnes attendent que SNMPv2 devienne un standard, d'autres veulent
profiter immdiatement des avantages de SNMPv2 et enfin, comme toujours, d'autres refusent
radicalement tout changement ... en attendant OSI... Ceci conduira tt ou tard des problmes
d'interoprabilit.
Aujourd'hui, SNMPv2 se met lentement en place, quelque fois de faon partielle, o la partie
scurit est souvent dlaisse. De ce fait, le contrle d'accs se rduit un accs non scuris 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 problme de la gestion rseau. En ce qui concerne l'interface utilisateur,
il reste encore beaucoup faire. Il y a bien sur la prsentation des informations mais aussi leur
interprtation.
Il serait bien de disposer, par exemple, d'un langage permettant l'utilisateur ou aux vendeurs
de dfinir un traitement effectuer avec les informations obtenues par SNMP. Par exemple, les
dispositions prendre ou les actions effectuer face aux conclusions que le systme 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 rseau.

11. SNMPv3
1.11.1. Les amliorations de SNMPv3
Comme nous avons pu le voir dans la partie prcdente, le contrle d'accs pour les versions
antrieures SNMPv3 est approximatif et la confidentialit inexistante. SNMPv3, quant lui,
rsout le problme de la scurit et de la modularit. Les nouveauts apportes par SNMPv3 sont
les suivantes :
Scurit :

Authentification et chiffrement.

Autorisation et contrle d'accs.


Administration :

Nommage des entits.

Gestion de la compatibilit.

Destinations des notifications.

Configuration distance.

1.11-2. Le fonctionnement de la scurit dans SNMPv3


Cette partie dcrit les mcanismes de scurit utiliss dans SNMPv3. Ils sont au nombre de
quatre et chacun dentre eux a pour but d'empcher un type d'attaque :
L'authentification :
L'authentification a pour rle d'assurer que le paquet reste inchang pendant la transmission, et
que le mot de passe est valide pour l'usager qui fait la requte.
Pour construire ce mcanisme, des fonctions de hachage une seule direction sont ncessaires. Ces
fonctions prennent en entre une chane de caractres de longueur indfinie, et gnrent en sortie
une chane d'octets de longueur fixe (16 octets pour MD5, 20 octets pour SHA-1).
Ces fonctions de hachage une seule direction ont la proprit suivante :

tant donn une chane d'octets qui est le rsultat d'une fonction de hachage une direction. Il
doit tre trs difficile de trouver une quelconque chane d'entre qui, une fois passe dans la
fonction, donne cette mme chane en sortie.
Pour authentifier l'information qui va tre transmise, on doit aussi possd un mot de passe qui
est partag . Celui-ci ne doit donc tre connu que par les deux entits qui s'envoient
les messages.
Les tapes d'authentification sont alors les suivantes :

Le transmetteur groupe les informations transmettre avec le mot de passe.


On passe ensuite ce groupe dans la fonction de hachage une direction.
Les donnes et le code de hachage sont ensuite transmis sur le rseau.
Le receveur prend le bloc des donnes et y ajoute le mot de passe.
On passe ce groupe dans la fonction de hachage une direction.
Si le code de hachage est identique celui transmis, le transmetteur est
authentifi.

Avec cette technique, le mot de passe est valid sans qu'il ait t transmis sur le rseau. Quelqu'un
qui saisit les paquets SNMPv3 passant sur le rseau ne peut pas facilement trouver le mot de
passe. Pour ce qui est de SNMPv3, l'authentification se fait l'aide de HMAC-MD5-96 et HMACSHA- 96.
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 applique, les personnes qui
saisissent les paquets passant sur le rseau peuvent encore voir le contenu du paquet. Toutefois,
elles ne peuvent pas en changer le contenu sans connatre le mot de passe.
La localisation des mots de passe :
SNMP pose un
avec des dizaines
chaque agent,
La connaissance
d'administration.

problme de scurit particulier. Une plate-forme de gestion peut communiquer


ou quelquefois des centaines d'agents. Si le mme mot de passe est utilis par
on court le risque qu'un des agents soit vol ou compromis.
du mot de passe compromettrait alors la scurit entire du domaine

De la mme faon, utiliser un mot de passe diffrent pour chaque agent n'est pas une solution
envisageable : il n'est pas raisonnable pour un administrateur de connatre des dizaines ou
des centaines de mots de passe diffrents.
La solution adopte 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 chane de caractres qui soit unique chaque agent. Avec
SNMPv3, on utilise le ContextEngineID . Cette chane est gnre par un ensemble de donnes
comme l'adresse MAC de la carte Ethernet, l'adresse IP, des nombres alatoires ou
une chane spcifie par l'administrateur.
On commence par trouver le ContextEngineID de l'agent auquel on veut envoyer une requte.
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 mmoris dans l'agent et qui est utilis par la plate-forme.
Il est employ dans l'authentification et le chiffrement des paquets SNMPv3.
Les dtails de la localisation sont dcrits dans le RFC2274. Cette tape est trs coteuse en
temps processeur. Les plates-formes de gestion sont donc instruites d'utiliser un cache pour viter
de rpter ce calcul plusieurs fois.

Le chiffrement :
Le chiffrement a pour but d'empcher quiconque de lire les informations de gestion contenues
dans un paquet SNMPv3 en coutant sur le rseau les requtes et les rponses.
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
scurit, 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 systme d'authentification et au systme de chiffrement d'tre indpendants. Un de ces
systmes ne peut pas compromettre l'autre.
SNMPv3 se base sur le DES (Data Encryption Standard) pour effectuer le chiffrement.
Contrairement l'authentification qui est applique tout le paquet, le chiffrement est seulement
appliqu sur le ScopedPduData, voir Figure ci-dessous : Description d'un paquet SNMPv3.

L'estampillage du temps :
L'estampillage du temps doit empcher la rutilisation d'un paquet SNMPv3 valide que quelqu'un
a dj transmis. En effet, si une requte est transmise, les mcanismes d'authentification, de
localisation et de chiffrement n'empchent pas quelqu'un de saisir un paquet SNMPv3 valide du
rseau et de tenter de le rutiliser ultrieurement, sans modification. On appelle cette attaque le
replay attack .
Pour lviter, le temps est estampill sur chaque paquet. Quand on reoit un paquet SNMPv3, on
compare le temps actuel avec le temps dans le paquet. Si la diffrence est suprieur 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'empche pas SNMPv1 de fonctionner cot de SNMPv3 ( Dual stack ), il suffit de
placer deux agents ou deux plates-formes de gestion cte cte.
Les standards SNMPv1 et SNMPv2c dcrivent essentiellement un protocole de transport des
donnes 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'arrive de SNMPv3, le standard SNMP dcrit maintenant une architecture pour la
plate-forme de gestion et l'agent. Toutefois, SNMP reste un protocole simple, dont la vocation

premire est d'tre plac dans les instruments de rseau. 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 scurit.

2. Failles de scurits du protocole SNMP


2.1. Introduction
Cette partie prsente les diffrentes failles de scurit rencontres par lutilisation du
protocole SNMP (Simple Network Management Protocol) intgr et utilis dans de nombreux
dispositifs de divers constructeurs.
Dans une premire partie, je vais prsenter les vulnrabilits rencontres par lutilisation de ce
protocole et dans une deuxime, je vais montrer les diffrents moyens que lon peut utiliser pour se
prmunir de ces failles de scurits.

Systmes Affects
Des produits dun trs grand nombre de fournisseurs peuvent tre affects. En plus des
fournisseurs qui ont fourni la rtroaction pour cette partie, une liste de fournisseurs entrs en
contact avec le CERT concernant ces problmes est fourni dans la partie solution un peu plus loin.
De nombreux autres systmes se servant de SNMP peuvent galement tre vulnrables mais
n'ont pas t spcifiquement examins.

Vue d'ensemble
De multiples vulnrabilits ont t rapportes dans les ralisations de tests SNMP effectues
par divers fournisseurs. Ces vulnrabilits peuvent permettre un accs privilgi non autoris, des
attaques par dni de service, ou causer des comportements instables.

2.2. Description

Le Simple Network Management Protocol (SNMP) est un protocole largement dploy qui est
gnralement employ pour surveiller et contrler des dispositifs rseau. La version 1 du protocole
(SNMPv1) dfinit plusieurs types de messages SNMP qui sont utiliss pour demander des
changements d'information ou de configuration, rpondre aux demandes, numrer des objets
SNMP, et envoyer des alertes non sollicites.
Le
groupe
de
programmation
de
luniversit
d'Oulu
(OUSPG, http://www.ee.oulu.fi/research/ouspg/) a rapport de nombreuses vulnrabilits dans
lutilisation de SNMPv1 de diffrents fournisseurs. Plus d'informations sur l'OUSPG peuvent tre
trouves sur le cite du CERT : http://www.cert.org/advisories/CA-2002-03.html .

La recherche d'OUSPG s'est concentre sur la faon dont les agents SNMPv1 et la poigne de
manageurs demandent et emprisonnent des messages. En appliquant le PROTOS c06-snmpv1 une
varit de produits populaires utilisant SNMPv1, l'OUSPG a indiqu les vulnrabilits suivantes:
VU#107186 - De multiples vulnrabilits dans SNMPv1 emprisonnent la manipulation
Des messages dalarme SNMP sont envoys des agents aux manageurs. Un message dalarme peut
indiquer une condition d'avertissement, d'erreur ou autrement informer le manageur sur l'tat
de l'agent. Les manageurs SNMP doivent correctement dcoder ces messages dalarme et
traiter les donnes rsultantes. Dans l'essai, OUSPG a trouv de multiples vulnrabilits sur de
nombreux manageurs SNMP qui dcodent et traitent des messages dalarme SNMP.
VU#854306 - Vulnrabilits multiples dans la manipulation de requtes SNMPv1
Les messages de requtes SNMP sont envoys des manageurs aux agents. Ces messages sont
utiliss pour obtenir l'information d'un agent ou pour demander l'agent de configurer le
dispositif dune machine. Les agents SNMP doivent correctement dcoder ces requtes et
traiter les donnes rsultantes. Dans l'essai, OUSPG a trouv des vulnrabilits multiples dans
la manire dont de nombreux agents SNMP dcodent et traitent ces messages SNMP.
Les vulnrabilits dans le dcodage, le traitement des messages SNMP par les manageurs et les
agents peuvent avoir comme consquence des tats de dni de service, des vulnrabilits dans le
format des chanes de caractres, et des dbordements de buffer. Quelques vulnrabilits
n'exigent pas du message SNMP d'employer la chane de caractres correcte de la communaut
SNMP.

Impact :
Ces vulnrabilits peuvent causer des tats de dni de service, interruptions de service, et
dans certains cas peuvent permettre un attaquant d'accder au dispositif affect. Les impacts
spcifiques changeront suivant le produit.

2.3. Solutions
Il faut noter que plusieurs des tapes recommandes ci-dessous peuvent avoir un impact
significatif sur les oprations rseau et/ou architectures rseau journalires. Il faut sassurer que
tous les changements bass sur les recommandations suivantes n'affecteront pas irrversiblement
les possibilits d'oprations rseau.

1. Appliquer un patch conseill par votre fournisseur


La partie 2.4. contient l'information fournie par les fournisseurs. Veuillez consulter cette
partie pour dterminer si vous devez contacter votre fournisseur directement.

2. Neutraliser le service de SNMP


En rgle gnrale, le CERT/cc recommande de neutraliser n'importe quel service ou les
possibilits qui ne sont pas explicitement exiges, y compris SNMP. Cependant, certains produits
affects ont montr un comportement ou un dni de service inattendu une fois exposs la suite
d'essai d'OUSPG mme si SNMP n'tait pas permis. Dans ces cas, la neutralisation de SNMP devrait
tre employe en mme temps que les pratiques de filtrage numres ci-dessous pour assurer une
protection additionnelle.

3. Filtrer les entres


Comme mesure provisoire, il est possible de limiter la porte de ces vulnrabilits en bloquant
l'accs des services SNMP au primtre du rseau.
Le filtrage d'entre contrle l'coulement du trafic sur le rseau. Les serveurs sont typiquement
les seules machines qui doivent accepter le trafic provenant dInternet. Ainsi, le filtrage des
entres devrait tre effectu la frontire pour interdire le trafic d'arrive lanc par des
services non autoriss. Pour SNMP, le filtrage d'entre des ports suivants peut empcher des
attaquants extrieurs au rseau d'utiliser les dispositifs vulnrables dans le rseau.
SNMP
SNMP

161/udp
162/udp

# Simple Network Management Protocol (SNMP)


# systme de gestion des messages SNMP

Les services suivants sont moins communs, mais peuvent tre employs sur certain produits utilisant
SNMP :

snmp
snmp
smux
smux
synoptics-relay
synoptics-relay
agentx
snmp-tcp-port
snmp-tcp-port

161/tcp
162/tcp
199/tcp
199/udp
391/tcp
391/udp
705/tcp
1993/tcp
1993/udp

# Simple Network Management Protocol (SNMP)


# systme de gestion des messages SNMP
# SNMP Unix Multiplexer
# SNMP Unix Multiplexer
# SynOptics SNMP Relay Port
# SynOptics SNMP Relay Port
# AgentX
# cisco SNMP TCP port
# cisco SNMP TCP port

Remarque : vous devez soigneusement considrer l'impact de bloquer les services que vous pouvez
employer.
Il est important de noter que dans de nombreuses utilisations de SNMP, le dmon SNMP peut
tre li toutes les interfaces IP sur le dispositif. Ceci a des consquences importantes quand des

mesures de filtrage de paquet exiges sont utilises pour protger un dispositif utilisant ou
permettant SNMP. Par exemple, mme si un dispositif rejette des paquets SNMP dirigs vers les
adresses IP de ses interfaces rseaux normales, il peut encore tre possible d'exploiter ces
vulnrabilits sur ce dispositif par l'utilisation de paquets dirigs aux adresses IP suivantes :
" tout-ceux " qui ont une adresse dmission (broadcast),
adresse d'mission de sous-rseau (broadcast),
toutes adresses internes de rception (loopback) (gnralement utilises pour la gestion
des routeurs, et ne pas confondre avec l'adresse 127.0.0.1 de boucle de retour de la pile IP).
Une grande attention devrait tre accorde aux adresses des types mentionns ci-dessus par la
planification d'emplacements du paquet filtrant en tant qu'lment de la stratgie de scurit pour
ces vulnrabilits.
En conclusion, les emplacements (lendroit o lon place le filtre) peuvent bloquer l'accs aux
services RPC suivants lis SNMP :
snmp
snmpv2
snmpXdmid

100122
100138
100249

na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk


na.snmpv2
# SNM Version 2.2.2

Veuillez noter que ce travail peut ne pas protger les dispositifs vulnrables contre des attaques
internes.

4. Filtrer le trafic SNMP des htes internes non autoriss


Dans de nombreux rseaux, seulement un nombre limit de systmes de gestion rseau doit
lancer des messages de requtes SNMP. Par consquent, il peut tre possible de configurer les
agents systmes SNMP (ou les dispositifs rseaux entre les systmes de gestion et d'agents) afin
quils rejettent les requtes des systmes non autoriss. Ceci peut rduire, mais pas compltement
liminer, le risque des attaques internes.
Cependant, il peut avoir des effets nfastes sur la charge du rseau due la charge accrue
impose par le filtrage, ainsi une considration soigneuse est exige avant excution. Les
avertissements semblables au travail prcdent concernant les adresses d'mission (broadcast) et
de rception (loopbac) s'appliquent ici.

5. Changer la chane de caractres (nom) de la communaut par dfaut


La plupart des produits utilisant ou permettant SNMP utilisent la chane de caractres (nom) de
la communaut par dfaut " public " pour l'accs en lecture seulement et " priv " pour l'accs
lecture/criture. Comme avec n'importe quel mcanisme connu de contrle d'accs par dfaut, le
CERT/cc recommande que les administrateurs rseau changent la chane de caractres (cest-- dire
le nom) de la communaut en un nom de leur propre choix.

Cependant, mme lorsque les noms de communauts sont changs par dfaut, ils passeront
toujours en texte clair et seront donc sujets des attaques de reniflement de paquet (sniffing).
SNMPv3 offrent des possibilits additionnelles pour assurer l'authentification et l'intgrit comme
dcrit dans le RFC2574 .
Puisque plusieurs des vulnrabilits identifies dans ce consultatif se produisent avant que les
noms de communaut soient values, il est important de noter quexcuter cette seule tape n'est
pas suffisant pour attnuer l'impact de ces vulnrabilits. Nanmoins, elle devrait tre excute en
tant quune bonne mthode en matire de scurit.

6. Isoler le trafic SNMP sur un rseau spar


Dans les situations o le blocage ou la neutralisation de SNMP n'est pas possible, l'exposition
ces vulnrabilits peut tre restreint en limitant l' accs SNMP aux rseaux spars et en faisant
une gestion isole du rseau pour quil ne soit pas publiquement accessible. Bien que ceci implique
idalement des rseaux physiquement spars, ce genre de sparation n'est probablement pas
faisable dans la plupart des environnements.
Des mcanismes tels que LANs virtuel (VLANs) peuvent tre employs pour aider isoler le
trafic sur un mme rseau physique. Notez que les VLANs ne peuvent pas strictement empcher un
attaquant d'exploiter ces vulnrabilits, mais elles peuvent rendre la tche plus difficile pour un
attaquant qui veut lancer des attaques.
Une autre option est de limiter les sites le trafic SNMP pour sparer les rseaux privs virtuels
(VPNs), qui utilisent l'authentification cryptographique forte.
Notez que ces solutions peuvent exiger des changements tendus l'architecture dun rseau.

7. Filtrer les sorties


Le filtrage de sortie contrle l'coulement du trafic pendant qu'il laisse le rseau sous le
contrle de ladministrateur. Il a besoin en gnral de limiter les machines fournissant des services
publiques pour lancer le trafic reli l'Internet. Dans le cas des vulnrabilits de SNMP,
l'utilisation dun filtrage de sortie sur les ports numrs ci-dessus votre frontire de rseau
peut empcher votre rseau d'tre employ comme une source pour des attaques venant d'autres
sites.

8. Outils et techniques de partage


Puisque traiter ces vulnrabilits lis aux systmes et aux rseaux est si complexe, le CERT/cc
fournira un forum o les administrateurs peuvent partager les ides et les techniques qui peuvent
tre employes pour dvelopper des dfenses appropries.

2.4. L'Information des fournisseurs


Dans cette partie se trouve les principales solutions proposes par les fournisseurs qui ont
effectu des tests sur leur produit. Nous prsenterons ici seulement les fournisseurs qui nous
intressent comme HP par exemple. Des informations plus dtailles sont donnes sur le site du
CERT : http://www.cert.org/advisories/CA-2002-03.html

1. Bulletin Consultatif Gnral De DataComm


Site de rfrence : http://www.gdc.com/products/bulletin.shtml
Vulnrabilits multiples dans de nombreuses implmentations du protocole SNMP.
Les applications de lquipe GDC emploient le protocole SNMP de HP OpenView NNM pour la gestion
de la communication de rseau 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 dfaut " priv " qui permet
dviter que des intrus changent les configurations du matriel ou prennent la main sur la gestion ou
les donnes du rseau informatique. Le SCM lit par dfaut seulement le nom de la communaut "
public ". Il est conseill au client de changer ceci.
2. Les clients principaux de gestion rseau de GDC emploient habituellement un LAN priv spar
pour leur trafic de gestion pour liminer l'entre lexposition extrieure.
3. Obtenez et installez les patchs de HP et de HPOV des sites numrs.

2. HP HpOV NNM (Network Node Manager)


Quelques problmes ont t trouvs dans le produit NNM.
Systme : HP-UX utilisant le dmons snmpd ou OPENVIEW
Les patchs suivants sont disponibles maintenant:
Le patch PHSS_26137 s700_800 10,20 OV EMANATE14.2
Le patch PHSS_26138 s700_800 11.x OV EMANATE14.2
Le patch Psov_03087 EMANATE14.2 de Solaris 2.x
Chacune des trois patchs est disponible : http://support.openview.hp.com/cpe/patches/
En outre les patchs PHSS_26137 et PHSS_26138 seront bientt disponibles.
NOTE: Les patchs sont marques OV(OpenView). Cependant, les patchs sont galement applicables
aux systmes qui nutilisent pas OpenView.

N'importe quel systme HP-UX 10.x ou 11.x faisant tourner les dmons snmpd ou snmpdm est
vulnrable. Pour dterminer si votre systme de HP-UX a les dmons snmpd ou snmpdm installs,
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 dmons snmpd et snmpdm peuvent tre neutraliss en enlevant leurs entres
de /etc/serviceset les permissions d'excution de /usr/sbin/snmpd/ et usr/sbin/snmpdm.

3. Hewlett-Packard Company
PROBLME: Vulnrabilits dans la demande de SNMP et la manipulation des alarmes.
PLATEFORME: HP 9000 srie 700 sries 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
DOMMAGES: Dni de service possible, interruptions de service, accs non autoris.
SOLUTIONS: Appliquez les patchs ou mettez en application les workarounds.

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 systmes utilisant OV NNM:
PHSS_26286 s700_800 HP-ux 10,20 pour fixer les piges du dmon ovtrapd
PHSS_26287 s700_800 HP-ux 11.x pour fixer les piges du dmon ovtrapd
PSOV_03100 Solaris 2.x pour fixer les piges du dmon ovtrapd
NNM_00857 de NT 4.X/Windows 2000 pour fixer les piges du dmon ovtrapd
Les clients peuvent tlcharger ces patchs sous forme de mises jour de logiciel :
http://www.hp.com/rnd/software/switches.htm
Produit
Commutateur de HP Procurve 2524 (J481)
Commutateur de HP Procurve 2512 (J481)
Commutateur 4108GL (J486)
Commutateur 4108GL-bundle (J4861A)

Version
F.04.08 ou plus grand
F.04.08 ou plus grand
G.04.05 de HP Procurve ou plus grand
G.04.05 de HP Procurve ou plus grand

PROBLME : NNM (NETWORK NODE MANAGER)

Quelques problmes trouvs dans le produit de NNM ont t rapports pour viter certaines
vulnrabilits. Les patchs sont disponibles.
MATERIEL : Progiciels Du -->> JetDirect
tat de la version du progiciel de JetDirect
--->> version X.08.32 ou infrieur : VULNRABLE (o X = A K)
--->> version X.21.00 plus suprieur : NON VULNERABLE (o X = L P)

SYSTEMES: Systmes de HP-UX utilisant le dmon snmpd ou OPENVIEW


N'importe quel systme HP-UX 10.x ou 11.x faisant tourner les dmons snmpd ou snmpdm est
vulnrable. Pour dterminer si votre systme de HP-UX a les dmons snmpd ou snmpdm installs,
faites la commande suivante : swlist -l file | grep snmpd
SOLUTIONS: installez les patchs appropris
Les clients peuvent tlcharger ces patchs sous forme de mises jour du logiciel :
http://www.hp.com/rnd/software/switches.htm
Les problmes trouvs dans le produit de sont corrigs 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 contrle daccs comme
dcrit dans limpression de HP Jetdirect.
Scurit : SNMPv1 se fonde sur le nom de communaut. Il est important quil soit configur sur
le matriel 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 empcher l'exploitation de vulnrabilits :
-> NEUTRALISEZ SNMP SUR UN SERVEUR D'IMPRESSION DE JETDIRECT
1. Mettez jour les progiciels au niveau le plus lev comme dcrit 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 dcouverte de matriel et le port des
moniteurs qui emploient SNMP pour obtenir le statut du matriel.
2. Telnet au dispositif de Jetdirect (sur les derniers progiciels) et tapez:

snmp-config: 0
quit
Ceci va neutraliser compltement SNMP sur le matriel de Jetdirect.
HP recommande toujours dupgrader ses progiciels de Jetdirect pour liminer les derniers bugs
et pour bnficier davantage de scurit. Ceux-ci sont tlchargeables 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 vulnrabilit sont fournis par Microsoft:
http://www.microsoft.com/technet/security/bulletin/MS02-006.asp

You might also like