Você está na página 1de 25

La supervision avec SNMP

Approfondissement Technique

SNMP
16/06/2010

Flechel Benjamin Tuteur : JF Hocquet

5 A AMSI 2009/2010

Contexte
Ce document est le rsultat dun exercice dapprofondissement technique de 5 anne leXia, visant amliorer les comptences de ltudiant dans un domaine technique prcis.
me

Liste de diffusion
Personnes
JF Hocquet Bflechel Jury Autre

Rles
Tuteur eXia Rdaction Evaluation Consultation

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

Table des matires


I. Introduction .................................................................................... 4
A.
1.

Supervision ............................................................................................... 4
Objectifs ............................................................................................................................... 4

B. C. A.
1. 2. 3.

Supervision et Monitoring ......................................................................... 4 Orientation de ltude ............................................................................... 4 Origines et volution ................................................................................. 6


SNMP v1 ............................................................................................................................... 6 SNMP v2 ............................................................................................................................... 6 SNMP v3 ............................................................................................................................... 6

II. SNMP .............................................................................................. 5

B. C. D.
1. 2.

Gnralits ............................................................................................... 7 MIB........................................................................................................... 7 Commandes SNMP.................................................................................... 8


Listing des commandes ........................................................................................................ 9 Scnario dutilisation des commandes SNMP ...................................................................... 9

III. SNMP v1.........................................................................................10


A. B. C. A.
1. 2. 3. 4. 5.

Structure des Paquets ............................................................................. 10


a) Dtail du PDU .................................................................................................................................... 11

Faiblesses du SNMP v1 ............................................................................ 12 Les amliorations de SNMPv2c ................................................................ 12 Architecture ............................................................................................ 13


Les modules de transport (UDP, IPX, autres) ..................................................................... 14 Les modules de traitement (SNMPv1, SNMPv3, SNMPng) ................................................ 15 Le systme de scurit ....................................................................................................... 15 Les applications .................................................................................................................. 15 Le contrle daccs ............................................................................................................. 15

IV. SNMP v3.........................................................................................13

B. C.
1.

Structure des paquets ............................................................................. 16 Scurisation ............................................................................................ 18


USM (User-based Security Model) ..................................................................................... 18
a) b) c) d) Authentification ................................................................................................................................ 19 Cryptage ............................................................................................................................................ 20 Localisation des mots de passe ......................................................................................................... 23 Estampillage ...................................................................................................................................... 24

2.

VACM (View-based Access Control Model) ....................................................................... 24

V. Conclusion ......................................................................................25
A. Limites .................................................................................................... 25 3

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

I.

Introduction
A. Supervision

En raison de laugmentation continue des quipements rseaux au sein des SI, il est devenu de plus en plus compliqu pour les administrateurs de maintenir ceux-ci, et plus particulirement de connaitre ltat de chacun deux. Cest de ce constat quest ne la notion de supervision : il est impensable davoir une plateforme de production tendue sans connaitre prcisment ltat de celle-ci. 1. Objectifs La supervision permet donc de connaitre ltat de sant de chacun des quipements prsents au sein dun SI, ce qui permet dtre trs ractif sur la dtection des pannes, ainsi que sur leur diagnostic. Il est en effet possible de dterminer, dun coup dil, quel priphrique rseau le transit se trouve bloqu, ou encore quel serveur ne rpond plus. En plus de pouvoir tre ractif lors de lapparition dune panne, la supervision permet dtre proactif ! En effet, il est possible danticiper certaines pannes au vue de lvolution dindicateurs dans le temps, par exemple, lvolution dun espace disque, ou encore laugmentation de la consommation dune bande passante jusque saturation. Ces dtections permettent danticiper des rparations afin dviter totalement certaines situations problmes.

B.

Supervision et Monitoring

Laction de monitorer un quipement est le fait de surveiller des indicateurs en lien avec un quipement. Cette surveillance brute, sans analyse, action ou traitement, est appele Monitoring. Le fait dy associer des alertes, actions par dfaut, procdure appliquer, plan dalerte et autres action constitue le traitement, qui va transformer le simple monitoring en supervision. En rsum : Monitoring + traitement = Supervision

C.

Orientation de ltude

Cet approfondissement technique sera tourn vers le ltude du protocole le plus utilis dans le domaine de la supervision : le SNMP. Ce choix a t fait par ma volont dapprofondir mes connaissances sur ce sujet sur lequel jai t amen travailler lors de mon dernier stage, et dont ltude se poursuit en partit pendant mon stage de 5 me anne chez Enova.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

II.

SNMP

Le plus rpandu des protocoles de supervision est le SNMP : Simple Network Management Protocol. Mme si couramment, le mot SNMP englobe larchitecture complte, ce protocole nest quen fait la partie communication dune architecture globale de management base sur les lments suivants : Machine de supervision (NMS : Network Management Station) o Station charge de rcolter et de centraliser les attributs des diffrents lments du rseau Agents o Prsent sur chaque quipement, ils surveillent lquipement, et mettent disposition la base MIB. Cest aussi eux qui sont chargs denvoyer les requtes vnementielles, bases sur des critres propres chaque quipement (Voir Trap SNMP) Base de donnes (MIB : Management Information Base) o Cest cette base de donnes stocke sur chaque machine qui contient tous les attributs propre cette machine. Protocole de communication (SNMP : Simple Network Management Protocol) o Cest lui qui va permettre la station de supervision daller rcolter les informations dans les MIB travers les agents. Il sappuie sur lUDP pour fonctionner.

Architecture globale SNMP

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

A.

Origines et volution

1. SNMP v1 Ce protocole a t dfini dans sa version 1 en 1990 par lIETF (Internet Engineering Task Force). Il a t initialement bas sur le SGMN (Simple Gateway Management Protocol) qui, comme son nom lindique, se limitait la supervision des routeurs. Cette v1 du SNMP sort donc du cadre dorigine de supervision des passerelles en sorientant sur la supervision de tous les composants rseaux. 2. SNMP v2 Les premiers brouillons de la v2 paraissent en 1993, mais la version finale nest publie quen 1996. En raison des divergences de principes entre les diffrentes sous version de ce protocole (v2p, v2c, v2u, v2*), la version 2 du protocole SNMP nest pas couramment utilise, due aux non compatibilit entre ces diffrentes implmentations. Nanmoins, il est savoir que les amliorations implmentes dans ces diffrentes versions concernaient principalement la scurit et laccessibilit des bases MIB. 3. SNMP v3 Sortie en 2002, cest la norme qui est dfinie aujourdhui comme standard. Les principaux ajouts de cette norme portent sur lauthentification des transactions, ainsi que le chiffrement de celles-ci. Deux techniques sont utilises pour scuriser les transactions : USM (User-based Security Model) o Utilise lauthentification (les paquets ne peuvent pas tre modifis par une tierce personne pendant une transaction), les transactions sont chiffres et elles ne sont valides quune fois. VACM (View- based Access Control Model) o Permet de restreindre laccs la MIB en lecture et/ou criture pour un groupe ou pour un utilisateur.

Exemple dapplication de la supervision SNMP


Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

B.

Gnralits

Comme vu ci-dessus, il existe 3 versions principales du protocole SNMP. Cest nanmoins encore la version 1 qui est la plus utilise. Nanmoins, la version 3 commence petit petit simposer en tant que nouveau standard. Le protocole SNMP est bas sur un fonctionnement asymtrique. Il est constitu d'un ensemble de requtes, de rponses et d'un nombre limit d'alertes. Le manager envoie des requtes l'agent, lequel retourne des rponses. Lorsqu'un vnement anormal surgit sur l'lment rseau, l'agent envoie une alerte (Trap) au manager. Bas sur le protocole UDP, le SNMP sappuie sur la couche 7 (et infrieur) du modle OSI. Encapsulation OSI

C.

MIB

La MIB (Management Information Base) est un des composants essentiels de la structure de SNMP. Cest une base de donnes (virtuelle) qui est situe sur les nuds du rseau surveiller (Switch, routeur, etc. ), et cest elle qui rpond aux requtes SNMP mises par le superviseur et elle peut galement tre modifie par le superviseur. La structure dune MIB est standardise, elle sappuie sur des normes bien dfinies. Les normes utilises sont : lespace de nommage ISO en utilisant SMI (Structure of Management Information) pour dfinir la structure de larbre. SMI est en lui-mme une dfinition dASN-1 (Abstract Syntax Notation One) adapt SNMP pour dcrire ses objets. ASN-1 est une notation formelle qui permet de spcifier les donnes transmises par les protocoles de tlcommunications indpendamment des langages informatiques et de la reprsentation physique de ces donnes. ASN-1 a t normalis pour la premire fois en 1984.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

La structure de la MIB est hirarchique : les informations sont regroupes en arbre. Chaque information a un Object Identifier (OID), une suite de chiffres spars par des points, qui l'identifie de faon unique et un nom, indiqu dans le document qui dcrit la MIB. Ainsi, les noms des attributs stocks dans la MIB ne sont pas stocks. La MIB ne comporte que deux types de champs : OID Valeur. Cest pourquoi il est ncessaire de possder la documentation constructeur, afin de pouvoir mettre en correspondance chaque OID avec le nom de valeur laquelle il correspond. Sans cela, on se retrouve avec des valeurs dattributs sans pouvoir savoir quoi ils correspondent !

Arbre dune base MIB.

D.

Commandes SNMP

Il existe deux modes de rcupration de linformation de la MIB en SNMP : le pulling et le pushing. Pulling o Mthode la plus courante, le manager SNMP vient tirer les informations rgulirement, une frquence dfinie. Pushing o Mthode vnementielle utilise par les clients lors dune modification (selon configuration). Linformation est envoye directement au manager, sans requte de celui-ci. (Trap SNMP)

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

1. Listing des commandes Ces deux modes de transmission de linformation se basent sur les commandes suivantes :

2. Scnario dutilisation des commandes SNMP Les changes concernant les requtes suivantes sont initis par le manager : Get-request Get-next-request Get-bulk Set-request La requte Trap est une alerte initie par lagent, par la dtection dun vnement dclencheur (perte de connexion, branchement dune prise, )

Principes dchanges entre Manager et Client

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

III.

SNMP v1
A. Structure des Paquets

Le paquet SNMPv1 est compltement encod en ASN.1 [ISO 87]. Les requtes et les rponses ont le mme format et nont pas de taille fixe dfinie.

Format de paquet SNMP v1 Version La plus utilise est la version 1. Cette information sera utilise pour envoyer le paquet vers le bon module de dcodage selon la version utilise pour son encapsulation. Communaut 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 manager 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 gres par l'agent : o Pas daccs o Read-Only o Write. PDU Le PDU contient les valeurs changs par le SNMP, que ce soit les valeurs demandes ou les rponses ces demandes. Un dtail est fourni la page suivante.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

10

a)

Dtail du PDU

Structure dun paquet PDU PDU Type Le type de PDU dfinit le type de requte, de rponse ou dalerte. Les valeurs peuvent tre les suivantes : o o o o o 0 correspond Get-Request, 1 correspond Get next-Request, 2 correspond Set-Request, 3 correspond Get response 4 correspond une alerte (Trap).

Request ID Ce champ permet la station de gestion dassocier les rponses reus aux requtes prcdemment envoyes. Error Status Le champ error statut indique, sil y a lieu, le type derreur rencontre. Les valeurs peuvent tre les suivantes : o o o o o o o o o NoAccess WrongLengh WrongValue WrongType WrongEncoding Nocreation ReadOnly NoWritable AuthorisationError > > > > > > > > > Accs non permis Erreur de longueur Valeur errone Type erron Erreur dencodage Objet non cr Pas de permission dcrire Pas de permission dcrire Erreur dautorisation

Error Index Le champ Error Index indique, si besoin, la variable qui a caus lerreur. Variable Bindings Cet lment contient lensemble des valeurs retournes. Il est compos des OID (Object IDentifiers) et des valeurs correspondantes. Il peut y avoir plusieurs paires OID/Value au sein dun mme PDU.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

11

B.

Faiblesses du SNMP v1

Une des plus grandes faiblesses du protocole SNMPv1 est l'absence d'un mcanisme adquat pour assurer la confidentialit et la scurit des fonctions de gestion. Les faiblesses comprennent aussi l'authentification et le cryptage, en plus de l'absence d'un cadre administratif pour l'autorisation et le contrle d'accs. Ce problme rend la scurit sur SNMPv1 du type : "SHOW-AND-TELNET", c'est dire qu'on utilise SNMP pour l'acquisition des donnes de gestion, mais pas pour effectuer le contrle ou on utilise le protocole Telnet. Le groupe de travail de l'IETF qui a uvr sur SNMPv2 a voulu inclure la scurit dans la nouvelle version. Malheureusement, ce groupe n'a pas pu atteindre un consensus sur le fonctionnement du mcanisme de scurit. Partant de l, deux propositions ont t dveloppes (SNMPv2u et SNMPv2*). Tous les consensus du groupe de travail ont t rassembls (uniquement les amliorations qui ne portaient pas sur la scurit), et le groupe de travail SNMPv2 de l'IETF a termin ses travaux en publiant une version de SNMPv2 sans scurit.

C.

Les amliorations de SNMPv2c

SNMPv2c a introduit quelques nouveaux types, mais sa nouveaut majeure est l'opration GETBULK, qui permet une plate-forme de gestion, de demander en bloc de plusieurs variables conscutives dans la MIB de l'agent. Gnralement, on demande autant de variables que l'on peut mettre dans un paquet SNMP. Ceci rgle un problme majeur de performance dans SNMPv1. Avec la version 1, la plate-forme est oblige de faire un GETNEXT et d'attendre la rponse pour chaque variable de gestion.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

12

IV.

SNMP v3

En raison de ses nombreuses dclinaisons et de leurs non implmentation, nous naborderons pas en dtail le SNMP v2, mais directement la norme SNMP v3. La version 3 du protocole SNMP a pour but principal de combler les failles de scurits laisses par les versions prcdentes. Cette scurit comprend lidentification des parties qui communiquent (authentification) et lassurance que la conversation soit prive (confidentialit), mme si cette communication est transmise via un rseau public. La norme SNMP v3 est dfinie en 7 documents qui sont trs spcifiques afin dassurer la compatibilit entre ses diffrentes implmentations.

A.

Architecture

Larchitecture SNMP v3 est dcoupe entre le transport, le traitement, la scurit et les applications. Les schmas ci-dessous, tirs de la RFC 2271 (sur SNMPv3) dtaillent larchitecture dune plateforme de gestion, et celle dun agent.

Architecture SNMPv3 dune plateforme de gestion

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

13

Le schma suivant dtaille larchitecture dun agent, avec la particularit de lentit Access Control.

Architecture SNMPv3 dun agent. Sur ces deux schmas, on distingue bien les diffrents rles des modules : o Le transporteur (Transport mapping) o Module de traitement (Processing Module) o La scurit (Security Subsystem) o Les applications. Et dans le cadre des agents : o Contrle daccs 1. Les modules de transport (UDP, IPX, autres) Le protocole SNMP nest ni li un protocole rseau et ni un mode de transport particulier, mme si en pratique il est plus que souvent utilis sur le protocole UDP. Pour permettre lindpendance du moyen de transport, le module grant cet aspect est externe au moteur SNMP. Il est possible den placer plusieurs qui fonctionnent simultanment. On pourrait avoir par exemple, un module de transport UDP, un AppleTalk ou un RS-232.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

14

2. Les modules de traitement (SNMPv1, SNMPv3, SNMPng) Un module de traitement est requis pour faire le dcodage des paquets SNMP qui arrivent du rseau et lencodage de ceux qui sapprtent partir sur le rseau. Pour garder le protocole SNMP flexible, et permettre les changements futurs, chaque paquet est marqu dun numro de version (voir la description d'un paquet plus haut). Ce numro de version permet un moteur SNMP de dterminer quel module de traitement ce message est destin. Normalement, chaque module de traitement prend en charge une version de SNMP. Un ajout dun nouveau module de traitement pourrait permettre au moteur SNMP de comprendre des messages SNMPng(Snmp Next Generation). Ceci permet lvolution du protocole sans entraner les cots de reconstruction complte du moteur et des architectures en place. Un des grands avantages est quil est possible de faire fonctionner plusieurs modules de traitements simultanment. Il est donc possible pour un moteur SNMP de traiter des messages SNMPv1, SNMPv3, SNMPng tous en mme temps. 3. Le systme de scurit Certains environnements requirent des interactions scuritaires. La scurit est normalement applique en deux tapes: dans la transmission et la rception du message et dans le traitement du contenu du message. Trois fonctions sont gnralement communes tous les modules de scurit: lauthentification, le cryptage et la vrification du temps. Encore une fois, plusieurs modules de scurit peuvent tre actifs simultanment dans un moteur SNMP. 4. Les applications Les applications sont des processus qui interagissent avec le moteur SNMP en utilisant des messages qui peuvent tre dfinis dans le protocole, ou des messages dcrits par une mise en uvre spcifique du moteur. Les applications sont dveloppes pour effectuer des oprations de gestion spcifiques. Les objectifs peuvent tre fort varis dune application lautre. Toutefois, toutes les applications utilisent en commun le mme moteur SNMP pour effectuer les oprations de gestion. 5. Le contrle daccs Le module du contrle daccs doit dcider si une requte est permise et si une rponse peut tre envoye, ou lignorer si une personne non autorise fait la requte. Chaque application a le choix daccepter ou de rejeter une requte. Mais si plusieurs applications fonctionnent sur un mme agent, il serait avantageux de centraliser le contrle daccs. Le standard SNMPv3 place donc un module de contrle daccs qui peut tre interrog par les applications. On peut donc faire une seule configuration des droits des accs. Ce module peut autoriser une requte sur les critres de qui la demand, quel type de requte et quelle information est touche par la requte. On doit noter qu ce stade, lauthentification de lentit (usager ou application) qui a effectu la requte a dj t faite. Par consquent, ce module na donc pas sen proccuper.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

15

B.

Structure des paquets

Les paquets SNMPv3 sont diffrents des paquets correspondants aux versions prcdentes principalement par leur entte. En effet, les PDU sont identiques selon les versions SNMP.

Format de paquet SNMP v1 Version SNMP Contient la valeur 3 pour un paquet SNMP de version 3. La version 1 correspond la valeur 0. Message ID Cette identification ne possde pas de rgle, et est dfinie par le moteur SNMP. Gnralement, la premire valeur est attribue alatoirement, et est suivie pour chaque message dune incrmentation. Les paquets mis en rponse une requte possdent le mme message ID que la requte initiale. Max Size Le moteur dfinit la taille maximale dune rponse quil peut recevoir, ceci en fonction de ses capacits en mmoire tampon, et ses limites dcoder de longs paquets. Flags Cod sur un octet, la gestion de drapeau nutilise que les trois derniers bits. Ils permettent lagent davoir plus dinformation sur le paquet reu : o Si une rponse est attendue la rception de ce paquet. (Reportable Flag) o Si un modle de cryptage a t utilis (Privacy Flag) o Si un modle dauthentification a t utilis (Authentification Flag) Il est noter quil nest pas possible denvoyer un paquet qui utilise un modle de cryptage sans quil soit aussi authentifi, donc quil utilise un modle dauthentification. Security Model
Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

16

Ce module identifie le type de scurit qui est utilis pour encrypter le reste du paquet. Cet identificateur doit identifier de faon unique chaque module de scurit. Actuellement, lalgorithme de cryptage DES (Data Encryption Standard) et lalgorithme dauthentification HMAC-MD5-96 ont t choisis comme algorithmes utiliss dans SNMPv3. HMAC-SHA-96 est optionnel. Security Parameters Ces informations ne sont pas dcrites dans le standard SNMPv3, ce bloc est laiss au soin des modules de scurit. Dun module de scurit un autre, ces informations seront diffrentes. Le module de scurit DES a standardis le contenu de ce bloc. Context EngineID et Context Name En SNMPv1, il ntait possible davoir quune seule base MIB par agent. Ceci a montr des limites dans le cas dquipement possdant de nombreux indicateurs. Le contexte permet de faire la distinction entre plusieurs bases et mme plusieurs agents sur un mme quipement. Cela peut tre utile lorsquun moteur SNMP agit comme une passerelle sur un quipement qui possde un agent v1 et un agent v3. On envoie donc un paquet SNMPv3 en identifiant quel agent SNMPv1 on dsire que le paquet soit retransmis. PDU Il n'y a pas grande chose dire sur la PDU de SNMPv3. En effet, on retrouve exactement le mme PDU que pour la version 1. Ce non changement a t voulu afin de conserver la comptabilit entre les diffrentes versions de SNMP. Par consquent, on en dduit que ce dernier est cod en ASN.1 tout comme celui de SNMPv1.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

17

C.

Scurisation

Cette nouvelle version du protocole SNMP vise essentiellement inclure la scurit des transactions. La scurit comprend l'identification des parties qui communiquent et l'assurance que la conversation soit prive, mme si elle passe par un rseau public. Cette scurit est base sur 2 concepts : USM (User-based Security Model) VACM (View- based Access Control Model)

1. USM (User-based Security Model) La premire partie de cette section introduit les mcanismes de scurit utiliss dans SNMPv3 via le User Security Module (USM). Ces concepts interviennent au niveau de la gestion des utilisateurs, et des communications entre agents et console de supervision. Quatre mcanismes sont utiliss. Chacun de ces mcanismes a pour but dempcher un type dattaque. Lauthentification Empche quelquun de changer le paquet SNMPv3 en cours de route et de valider le mot de passe de la personne qui transmet la requte. Permet de conserver lauthenticit et lintgrit. (Cest bien lmetteur souhait qui a envoy le message, et il na pas t altr) La localisation des mots de passes Ce mcanisme empche quelquun de compromettre la scurit dun domaine dadministration, mme si la scurit dun des agents du domaine est compromise. Le cryptage Empche quiconque de lire les informations de gestions contenues dans un paquet SNMPv3. Permet de valider la confidentialit (seul le destinataire peut lire le message) Lestampillage du temps Empche la rutilisation dun paquet SNMPv3 valide a dj transmis par quelquun. Un dtail de ces quatre mthodes de scurisation est fourni la page suivante.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

18

a) Authentification Lauthentification a pour rle dassurer que le paquet reste inchang pendant la transmission, et que le mot de passe est valide pour lusager qui fait la requte. Pour construire ce mcanisme, des fonctions de hachage une seule direction sont utilises. Des exemples de ces fonctions sont : MD5 et SHA-1. Ces fonctions prennent en entre une chane de caractres de longueur indfinie, et gnrent en sortie une chane doctets de longueur finie (16 octets pour MD5, 20 octets pour SHA-1). Ces fonctions de hachage une seule direction ont la proprit suivante: tant donn une chane doctets qui est le rsultat dune fonction de hachage une direction. Il doit tre trs difficile de trouver une quelconque chane dentre qui, une fois passe dans la fonction, donne cette mme chane en sortie. On peut dire aussi que : Il est trs difficile de trouver deux chanes de caractres qui passes dans la fonction de hachage une direction, donnent le mme rsultat. Si on trouve deux chanes qui ont le mme code de hachage, on dit que lon a trouv une collision. Avant dutiliser une fonction de hachage une direction pour faire de la scurit, il est important de dfinir ce que veut dire trs difficile . Dans le cas de SHA-1, les chances quune deuxime chane de caractres donne un rsultat identique la premire est de lordre de 1 sur 1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 (Source : SETS Secure Electronic Transaction Specification , groupe form par Visa, MasterCard,). Il nest donc pas raliste de trouver une telle combinaison dans des temps acceptables, mme avec des ordinateurs trs puissants. Pour authentifier linformation qui va tre transmise, on doit aussi avoir un mot de passe qui est partag . Le mot de passe ne doit donc tre connu que par les deux entits qui senvoient les messages, et par personne dautre.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

19

La figure ci-dessous montre le mcanisme dauthentification :

Les tapes dauthentification sont les suivantes : 1. 2. 3. 4. 5. 6. Le transmetteur groupe les informations transmettre avec le mot de passe. On passe ensuite ce groupe dans la fonction de hachage. 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. Si le code de hachage est identique celui transmis, le transmetteur est authentifi.

Avec cette technique, le mot de passe est valid sans quil ait t transmis sur le rseau. Quelquun qui saisit les paquets SNMPv3 passants sur le rseau ne peut pas donc pas facilement trouver le mot de passe. Pour ce qui est de SNMPv3, lauthentification se fait laide de HMAC-MD5-96 ou de HMAC-SHA- 96, qui est un peu plus compliqu que ce qui a t dcrit ici. Le rsultat de la fonction de hachage est plac dans le bloc paramtres de scurit du paquet SNMPv3. Lauthentification se fait sur lensemble du paquet. Il est important de rappeler que ltape dauthentification ne vise pas cacher lexistence du paquet ou le rendre illisible. Si seule lauthentification est applique, les personnes qui saisissent les paquets passants sur le rseau peuvent encore voir le contenu de celui-ci. Toutefois, elles ne peuvent pas en changer le contenu sans connatre le mot de passe. b) Cryptage Le cryptage a pour but d'empcher que quelqu'un n'obtienne les informations de gestion en coutant sur le rseau les requtes et les rponses de quelqu'un d'autre.
Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

20

Contrairement lauthentification qui se base sur des fonctions de hachage, le cryptage sappuyer sur des fonctions ponymes, qui, contrairement au hachage, sont rversibles. Avec SNMPv3, le cryptage de base se fait sur un mot de passe "partag" entre la plateforme et lagent. Ce mot de passe ne doit tre connu par personne dautre. Pour des raisons de scurit, SNMPv3 utilise deux mots de passe : un pour lauthentification et un pour le cryptage. On recommande lusager dutiliser deux mots de passe distincts. Ceci permet au systme dauthentification et au systme de cryptage dtre indpendants. Un de ces systmes ne peut ainsi pas compromettre lautre. SNMPv3 se base sur DES (Data Encryption Standard) pour effectuer le cryptage.

Cryptage et Dcryptage avec DES

On utilise une cl de 64 bits (8 des 64 bits sont des parits, la cl relle est donc longue de 56 bits) et DES encrypte 64 bits la fois. Comme les informations que lon doit encrypter sont plus longues que 8 octets, on utilise du chanage de blocs DES de 64 bits.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

21

Utilisation du DES avec SNMPv3 Une combinaison du mot de passe, dune chane alatoire et dautres informations forme le Vecteur dinitialisation . Chacun des blocs de 64 bits est pass par DES et est chan avec le bloc prcdent avec un XOR. Le premier bloc est chan par un XOR au vecteur dinitialisation. Le vecteur dinitialisation est transmis avec chaque paquet dans les Paramtres de scurit , un champ qui fait partie du paquet SNMPv3. Contrairement lauthentification qui est applique tout le paquet, le cryptage est seulement appliqu sur le PDU.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

22

c) 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.

Mcanisme de localisation dun mot de passe 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. On passe le groupe dans une fonction de hachage une direction.

Mcanisme de localisation dun mot de passe

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

23

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. 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. d) Estampillage Si une requte est transmise, les mcanismes dauthentification, de localisation et de cryptage nempchent pas quelquun de saisir un paquet SNMPv3 valide du rseau et de tenter de le rutiliser plus tard, sans modification. Par exemple, si ladministrateur effectue lopration de remise jours dun quipement, quelquun peut saisir ce paquet et tenter de le retransmettre lquipement chaque fois que cette personne dsire faire une mise jour illicite de lquipement. Mme si la personne na pas lautorisation ncessaire, elle envoie un paquet, authentifi et encrypt correctement pour ladministration de lquipement. On appelle cette attaque le replay attack. Pour viter ceci, 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 plus que suprieur 150 secondes, le paquet est ignor. Toutefois, les agents SNMP sont souvent des petits microcontrleurs qui nont pas leur disposition une horloge avec lheure courante et prcise. Les horloges doivent tre mises lheure, et il est pratique de les garder lheure mme quand lquipement est teint. De plus, il est difficile de garder toutes les horloges synchronises. SNMPv3 nutilise pas lheure normale. On utilise plutt une horloge diffrente dans chaque agent. Ceux-ci gardent le nombre de secondes depuis que lagent a t mis en circuit. On garde aussi un compteur qui compte le nombre de fois o lquipement a t mis en fonctionnement. On appelle ces compteurs BOOTS (Nombre de fois ou l'quipement a t allum) et TIME (Nombre de secondes depuis la dernire fois que lquipement a t mis en fonctionnement). La combinaison du BOOTS et du TIME donne une valeur qui augmente toujours, et qui peut tre utilise pour lestampillage. Comme chaque agent a sa propre valeur du BOOTS/TIME, la plate-forme de gestion doit garder une horloge qui doit tre synchronise pour chaque agent quelle contacte. Au moment du contact initial, la plate-forme obtient la valeur du BOOTS/TIME de lagent et synchronise une horloge distincte. 2. VACM (View-based Access Control Model) Permet le contrle d'accs au MIB. Ainsi on a la possibilit de restreindre l'accs en lecture et/ou criture pour un groupe ou par utilisateur.

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

24

V.

Conclusion

Le protocole SNMP tant trs normalis et bas sur les MIBs, qui peuvent tre tendues par nimporte quel diteur/constructeur, il convient parfaitement la supervision. Il permet en effet dutiliser un seul protocole pour avoir accs des donnes de configuration, dordre matriel ou logiciel ! On peut donc en thorie avoir accs toutes les informations ncessaires. De plus, lvolution vers la norme SNMPv3 a montr que ce protocole, tout en restant rtro-compatible, offrait de grande amliorations en terme de scurit. Il est donc possible de limplmenter en toute confiance, au sein dune architecture de supervision dj en place, sans devoir remettre plat toute la solution.

A.

Limites

Les limites les plus couramment rencontres quant limplmentation du SNMP en entreprise sont les suivantes : Manque de documentation MIB Certains constructeurs proposant des solutions de supervision propritaires, il est parfois difficile vois impossible davoir accs aux tables de correspondances des MIBs. La seule chose accessible est la MIB en elle-mme, qui fournit les OID avec leurs valeurs correspondantes, mais sans documentation, impossible de savoir quel OID correspond quel indicateur. Omniprsence du SNMPv1 Comme vu dans la dernire partie de ce rapport, le SNMPv3 propose de nouvelles fonctionnalits concernant la scurit, ou encore laccessibilit. Nanmoins, cette nouvelle version implique plus de configurations et se base sur une architecture plus complexe mettre en uvre. Cest pourquoi encore aujourdhui, de nombreux SI sont encore superviss avec la v1 du protocole SNMP, permettant ainsi trs facilement tout le monde davoir accs aux informations des MIB, et dans certains cas, de modifier les valeurs !

Titre : Approfondissement Technique Supervision : SNMP Auteur : BFlechel Modification : 16/06/2010

25

Você também pode gostar