Vous êtes sur la page 1sur 20

David NOUCHI Annexe A

DESS SSI

Table des matires

1.Dfinition et Fonctionnement p 3

1.1.Fonctionnement gnral de SNMP p 3


1.2.SMI : Structure of Management Information p 3
1.3.Extension de la MIB p 4
1.4.Les diffrents types doprations p 4
1.5.Format des messages SNMP p 7
1.6.Les noms de communauts p 7
1.7.Les agents SNMP p 8
1.8.Les manageurs SNMP p 8
1.9.Avantages et inconvnients de SNMPv1 p 9
1.10.SNMPv2 p 10
1.11.SNMPv3 p 11

2.Failles de scurit du protocole SNMP & Solutions p 14

2.1.Introduction p 14
2.2.Description p 15
2.3.Solutions p 16
a.Appliquer un patch conseill par votre fournisseur p 16
b.Neutraliser le service de SNMP p 16
c.Filtrer les entres p 16
d.Filtrer le trafic SNMP des htes internes non autoriss p 17
e.Changer la chane de caractres (nom) de la communaut par dfaut p 17
f.Isoler le trafic SNMP sur un rseau spar p 18
g.Filtrer les sorties p 18
h.Outils et techniques de partage p 18
2.4.L'Information des fournisseurs 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 sousdossiers 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 plateforme 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 HMAC-SHA- 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 problme de scurit particulier. Une plate-forme de gestion peut communiquer avec
des dizaines ou quelquefois des centaines d'agents. Si le mme 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 scurit entire du domaine d'administration.
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 161/udp # Simple Network Management Protocol (SNMP)


SNMP 162/udp # systme de gestion des messages SNMP

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

snmp 161/tcp # Simple Network Management Protocol (SNMP)


snmp 162/tcp # systme 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

agentx 705/tcp # AgentX


snmp-tcp-port 1993/tcp # cisco SNMP TCP port
snmp-tcp-port 1993/udp # 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 100122 na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk


snmpv2 100138 na.snmpv2 # SNM Version 2.2.2
snmpXdmid 100249

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/services et 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 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
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