Académique Documents
Professionnel Documents
Culture Documents
Teacher : Dr A. D. KORA
1. 2. 3. 4. 5. 6. 7.
Introduction Evolution des normes et technologies dans la gestion Etude de SNMPv1 Limites et faiblesses de SNMPv1 Etude de SNMPv3 Limites et faiblesses de SNMPv3 Perspectives
nov 2012
Initialement la gestion de rseau a t mise en uvre au travers des solutions propritaires la gestion s'est structure ds 1984 dans le cadre du modle OSI [ISO89] pour l'interconnexion des systmes ouverts. Plusieurs modles : le Modle de l'Information de Gestion (MIG), le Modle Gestionnaire/Agent (MGA), la Base d'Information de Gestion (BIG) Le model Telecommunication Management Network (TMN) Le modle informatique : SNMP Etc Le model de gestion OSI a t normalis aux annes 1988: Il s'appuie sur le langage objet GDMO (Guidelines for the Definition of Managed Objects) [ISO92a] pour la spcification des modles d'information de gestion, Il se base aussi sur le service CMIS (Common Management Information Service ) [ISO92b] et le protocole CMIP (Common Management Information Protocol) [ISO92c] pour l'change d'information de gestion entre le gestionnaire et les agents
nov 2012
Le model TMN a t normalise en 1985 par le lUIT-T [UIT 92] Il est trop orient gestion des rseau telecom : SONET, PDH/SDH, ATM, etc Il utilise des quipements trs chre et des normes propritaires L'approche SNMP est mis en place par lIETF (Internet Engineering Task force) pour les rseaux internet Initialement focalise sur la gestion de piles IP, il a volu vers la gestion de nombreux autres quipements rseaux (hubs, routeurs, commutateurs ATM, commutateurs Frame Relay,) la gestion des systmes et applications via la conception de bases d'information de gestion (MIB: Management Information Base) intgrer dans ces quipements Du point de vue architectural, SNMP a connu plusieurs volutions : SNMP v1 et simple et plus utilise SNMPv2 intgrant la scurit via des groupe SNMPv3 intgrant la modularit, la dlgation et la scurit : USM et VACM
nov 2012
Dans le domaine des systmes d'exploitation, le DMTF (Distributed Management Task Force) a conu une approche de gestion : Desktop Management Interface (DMI) en 1994 Le DMTF a tendu son domaine d'application en 1998 : Cette approche appele WBEM (Web-Based Enterprise Management) reprend les bases de l'approche OSI : WBEM est aujourd'hui en plein essor Une autre approche : la gestion l'aide de politiques avec : DEN (Directory Enabled Networks) : se focalise sur le modle, COPS (Common Open Policy Service) au sein du groupe de travail sur les politiques l'IETF (Policy Group) COPS se focalise sur l'architecture, le protocole ainsi que sur la reprsentation des politiques dans des bases d'information
nov 2012
le protocole JMX (Java Management eXtension ) : une nouvelle approche de gestion des services web et applications base sur Java est aussi dveloppe Ce protocole simpose grce la forte intgration de la technologie Java dans les plans fonctionnels des applications gres IPPM (Internet Protocol Performancy Metrics) de lIETF: travail sur dautres normes pour la gestion de la performance IPPM a dfinit aussi un ensemble de mtriques primaires pour valuer une approche de gestion en terme de rapidit, de cot et de qualit
nov 2012
Les versions de SNMP Version 1 SNMP v1 est cre en 1988 pour grer les ressources er quipements du future internet Dfinit dans RFC 1157 on prdcesseur SGMP (Simple Gateway Monitoring Protocol) tait dvelopper spcifiquement pour grer des routeurs internet, une version SNMPsec pour ajouter la scurit a SNMPv1 tait dfini dans les RFC 1351 a 1353: version non adopt Versions 2: plusieurs version 2 non adoptes SNMPv2p:
portait non seulement sur la scurit la mise a jour des operations du protocole, la dfinitions des nouvelles operations et de nouveaux types de donnes. La scurit est base sur les groupes de SNMPsec: RFC1441, 1445, 1446, 1448 et 1449.
nov 2012
version exprimentale du protocole. nomme commununity string-based SNMPv2 utilise la scurit via des chaines des caractres community de v1. dfini dans les RFC 1901, 1905 et 1906. SNMPv2u:
version exprimentale du protocole, utilise les operations de type de donnes de SNMPv2c la scurit devrait se basait sur les usagers; dcrite sur RFC 1905,1906, 1909 et 1910. SNMPv2*: exprimentale combine les meilleurs pratiques de SNMPv2c et SNMPv2p, jamais t publie dans un RFC; Ses travaux sont reste en tat de Draft et a t dfendu par la socit SNMP Research
Telecommunication Network management nov 2012
Versions 3: dbute en 1999 et standardise en 2002 non adoptes pour rsoudre les problmes de SNMPv1 et v2 en terme de scurit sur :
access control, authentication, encryption of management data V3 utilise une scurit bases base sur sur les usagers, les vues les types et les operations de SNMPv2p, la capacit avec les proxies. standardise en mars 2002 par Internet Engineering Steering Group (IESG)
SNMPv2 X X X X X
SNMPv3 X X X X X X
nov 2012
Les composants: Les lments du rseaux (NE) : ce sont les quipements ou logicielles quon cherche a grer. PC, switchs, concentrateur, routeur, PABX, etc Les agents : ce sont des modules qui rsident dans les lments rseaux. Ils vont chercher linformation de gestion telle que le nombre de paquet errones reu par un lment, etc. Le gestionnaire (station de gestion de rseau o NMS) : il excute lapplication qui contrle les lments de rseau. La MIB est un ensemble dobjets servant a linformation de gestion rsidant dans un agent. Le protocole : permet au gestionnaire daller chercher les informations sur un lment rseau mais changer ces paramtres
nov 2012
10
Le modele dechange entre lagent et le gestionnaire Il est base sur deux types doperations : les requtes et les alarmes. Une requte est mis par le gestionnaire vers un agent, lequel retourne une rponse. un vnement se prsentant sur un NE, lagent envoi une alarme (trap ou inform) vers le gestionnaire
Manager Manager Agent
Transport UDP
Agent
Transport UDP
traitement Fig 2 : envoieManager asynchrone dune alarme (trap) par un agent SNMP Agent
Transport UDP
Fig. 1: interaction Requte /Rponse entre un gestionnaire et un agent SNMP Fig 3 : envoie dun message Inform par un nud SNMP
traitement
nov 2012
11
Les ports dchange lors des requtes / rponses : port UDP 161 et 162
GetRequest_PDU Port 161 GetNextRequest_PDU SetRequest_PDU Port 161 Port 162 GetResponse_PDU Trap_PDU
Agent
Network
nov 2012
12
SNMPv1 : est dfinit dans les RFC 11 55, 1157 et 1212. utilise la communaut (community name) comme paramtre de scurit. Lagent et le gestionnaire sont configurs pour rpondre aux demandes des domaines de communauts enregistrs. cela nest pas vraiment une scurit mais plutt une dfinition de domaine de gestion. La communaut est dfini dans un champ du paquet SNMP. Il existe trois communaut dans SNMPv1: read-only, read-write, and trap. La communaut est une chaine de caractre qui circule en plaine clair sur le rseau. Cette chaine permet aux agents et gestionnaires ayant la mme chaine de communaut dchanger dinformation de gestion. SNMPv1 est bas sur les requtes/Response. Il existe : Les requtes de lecture dinformation : Get, GetNext, Les requtes de modification dinformation : Set Les requtes de type non sollicite : Trap
nov 2012
13
Les requtes de lecture : GET La requte Get est utilise par le gestionnaire pour rechercher une value dune ou plus ieurs objets dun agent. GetRequest : Cette requte permet aux stations de gestion (manager) d'interroger les objets grs et les variables de la MIB des agents. La valeur de l'entre de la MIB (nom) est passe en paramtre. Elle permet d'accder une variable prcise. GetNextRequest : Cette requte permet aux stations de gestion de recevoir le contenu de l'instance qui suit l'objet nomm (pass en paramtre) dans la MIB. Elle permet en particulier aux stations de gestion de balayer les tables des MIB. Elle permet d'accder plusieurs variables simultanment. GetResponse : les agents rpondent aux requtes par une rponse GetResponse. Si la rponse est ngative, le rponse GetResponse est accompagne dun message derreur appel No suchObject.
nov 2012
14
Les requtes de modification : SET Les requtes SET sont utilises par le manager pour modifier une valeur dun objet dans une instance dun agent. o SetRequest : Cette requte permet aux stations de gestion de modifier une valeur de la MIB ou d'une variable et de lancer des priphriques. o Elle permet par exemple un manager de mettre jour une table de routage. o La requete SetRequest provoque aussi le retour de GetResponse. Exemple: SetRequest(1.3.6.1.2.1.6.13.1.1 = 12 ) provoque le retour de GetResponse(tcpConnState = 12).
Telecommunication Network management nov 2012
15
Les requtes non sollicite : TRAP Lorsquun priphrique entre dans un tat anormal, lagent SNMP prvient le gestionnaire SNMP par le biais dun Trap SNMP. Le message Trap peuvent tre : Cold start : dmarrage froid, warm start : dmarrage chaud, LinkUp ou LinkDown : rinitialisation de lagent SNMP, authentication failure : chec dauthentification, lorsquun nom de communaut incorrect est spcifi dans une requte.
Les paquets SNMP v1 Le paquet SNMPv1 est compltement encod en ASN.1 [ISO87]. La dimension des champs est indique dans le paquet par lencodage ASN.1 et BER (Basic Encoding Rules)
nov 2012
16
nov 2012
17
Description des champs du paquet SNMPv1 Champ version : elle est utilise pour envoyer le paquet vers le bon module de dcodage. Ce champ indique la version du protocole utilise. On place la valeur 0 dans le champ version pour SNMPv1 et la valeur 3 pour SNMPv3. Cest un entier code sur 4 octets. Champ communaut : elle est utilise comme contrle daccs (trivial). Elle permet de crer des domaines de gestion. Par dfaut , la communaut est PUBLIC. Le nombre doctets varie. Le PDU : ce sont les valeurs demandes ou les rponses a des demandes
Le format PDU de Get request, Get next request, Get response, et Set request est reprsenter comme suit :
PDU PDU type Request ID Error status Error Index Variables Binding List ObjectName Value Objectname value
PDU PDU type Request ID Error status Error Index Object 1 Value 1 Objetc 2 Value 2 Object 3 Value 3 Objetc n Value n
nov 2012
18
nov 2012
19
Les differents champs du PDU: Type PDU : identifie le message transport par la PDU : Get, GetResponse, Set, Trap,etc. il dcrit le type de demande, de rponse ou dalerte. Cest un entier code sur 4 octets Valeurs possibles :
Type de PDU 0 1 2 3 4 Tableau 3 : les types de PDU SNMPv1 Nom Get request- PDU Get next request-PDU Set request-PDU Get response PDU Trap PDU
Type derreur (error status) : utilis par les rponses a des requtes pour indiquer une valeur non existante, un accs interdit, un paquet trop long, etc. Il indique le type derreur. Si aucune erreur ne sest produite, ce champ est mis a zro. Ce champ est reprsente par un entier sur 4 octets.
Telecommunication Network management nov 2012
20
nov 2012
21
Les champs (suite) Liste des variable (Variables Binding List): cette liste de variables est compose didentificateurs et de valeurs. Ce champ a une taille variable. Valeur (values) : ce champ peut tre de nimporte quel type et correspond a la valeur de la variable telle que dcrite par lidentificateur Identificateur d requte (request ID) : permet au gestionnaire dassocier les demandes et les rponses ou de faire correspondre une requte avec une rponse. Cest un entier code sur 4 octets. Position de lerreur (error Index) : sil ya erreur se champ indique quelle variable a cause lerreur. Ce champ est code sur 4 octets. Identificateur de lobjet (objetc name) : est une squence unique dcrivant lobjet dans la MIB.
nov 2012
22
nov 2012
23
Les informations de gestions : MIB, OID and SMI Les informations de gestion peuvent tre: la quantit dinformation transmise chaque port dun routeur, la temprature lintrieur dun imprimante laser ou lusager qui utilise prsentement une station de travail etc. MIB (Management Information Base) La MIB est une description qui contient la dfinition des informations de gestion Un objet est dfinit textuellement par les champs suivants : Objetc : indique le nom de lobjet et le numro didentificateur (OID) Syntaxe : indique la syntaxe du type dobjet. Il doit tre dfinit dans le SMI(structure management information) Definition :contient la description textuelle de lobjet Access : indique le niveau daccs de cet objet. Il peut tre en mode lecture seulement(read), en mode lecture/criture (read/write). Status : ce champ indique le niveau de support que requiert cet objet.
nov 2012
24
Les OIDs (Object identifier): Les variables a grer a distance doivent identifie de faon unique Cet identificateur est dit OID (Object identifier). Un OID est une squence dentier spares par un point (.). cette squence dentiers reflte une structure hirarchique des objets de la MIB. Un objet reprsente une variable ou un groupe de variables. Cette structure hirarchique est reprsente sous la forme dun arbre dont la racine nest pas numrote. Chaque nud de larbre dcrit un identificateur de lobjet. Par exemple, le numro didentificateur de lobjet MIB 1.3.6.1.2.1.1.2 correspond au nom iso.org.dod.internet.mgmt.mib.system.syslocation
nov 2012
25
nov 2012
26
Les feuilles de larbre correspondent alors aux instances de lobjet qui sont les variables. La valeur change entre lagent et la plate-forme de gestion est le numro didentificateur. Lorsquune entreprise veut dfinir son propre ensemble de variables de gestion, elle va enregistrer son numro dobjet sous le nud iso.org.dod.internet.private.entreprise. Ces MIB seront dites prives. Elles correspondent la racine 1.3.6.1.4.1.
nov 2012
27
Les composants des MIB 1 et MIB 2 LIETF a dfini un ensemble dobjet pour larchitecture technologique IP. Cet ensemble est nomm MIB1 ou MIB2. La premire version MIB1 est obsolte. Elle a t remplace au dbut des anne s1990 par la MIB2. La MIB2 est prise en charge par lensemble des agents SNMP. Elle est une version enrichie de la MIB 1. Elle se distingue par lajout des groupes TRANSMISSION et SNMP a MIB1. Elle est dsign dans larbre par la mention mgmt. Elle est note mib-2 object Identifier :: = {mgmt 1} La MIB II est utilise par la version SNMPv2. Les entreprises peuvent de leur ct dfinir leur propre MIB La MIB 2 est compos de dix sous ensembles ou groupes.
nov 2012
28
TRANSAMISSION
nov 2012
29
Les groupes de MIB1 (incluant MIB 1) Le groupe system :correspond au nom de lagent, au numro de version, au type de machine, au nom du systme dexploitation. Il permet la description de toutes les entits Le group interfaces :il dcrit les interfaces rseau des quipements rseaux. Le nombre dinterface, le type dinterfaces, le nom du fabricant, la vitesses des interfaces, le nombre maximale doctets par paquet, ladresse physique et le statut administratif Le groupe IP : cest la variable de la MIB la plus importante. Ce groupe dcrit les paramtres IP : dure de vie TTL par dfaut par paquet, nombre de paquet reus ou envoys, nombre de paquets rassembls avec succs, le nombre de fragment cres, la table de routage si elle existe, le masque de sous rseau, ladresse physique, etc.
nov 2012
30
31
La structure SMI
Les SMI sont des dfinitions communes pour la structure et lidentification des informations de gestion. Ils dfinissent les types gnriques pour la description de informations de gestion. Une description formelle est faite au moyen dun sous ensemble du langage de description e donnes ASN.1(Abstract Syntax notation one). Chaque objet est dfinit en utilisant les SMI. Les lments utilises lors de la dfinitions sont : nom, syntaxe et encodage Le nom de lobjet: il est dcrit de faon unique par lOID, La syntaxe : il dfinit la structure de donne abstraite. Lencodage consiste a reprsenter lobjet S SMI a deux types de variables : les types simples et types applicatifs
nov 2012
32
nov 2012
33
Les faiblesses du SNMPv1 1er grand faiblesses du protocole SNMPv1 : labsence dun mcanisme adquat pour:
assurer la confidentialit et la scurit des fonctions de gestion. 2e faiblesses : Pas dauthentification , ni d encryptions, absence dun cadre administratif pour lautorisation Pas de contrle daccs. Ces problmes rend la scurit sur SNMPv1 du type : SHOW-AND-TELNET , cest dire quon utilise SNMP pour lacquisition des donnes de gestion, mais pour effectuer le contrle on utilise le protocole Telnet.
nov 2012
34
Les faiblesses du SNMPv1 (suite) Le groupe de travail de lIETF a uvr sur SNMPv2 pour inclure la scurit Malheureusement, le groupe na pas pu atteindre un consensus sur le fonctionnement du mcanisme de scurit. 2 version v2 (SNMPv2u et SNMPv2*) : mais elles ne peuvent pas coexister, et que ceci ntait pas une solution long terme. LIETF a termin ses travaux en publiant une version de SNMPv2 (on lappelle SNMPv2c, RFC 1901, RFC 1905 t RFC 1906) sans scurit. Les ameliorations de SNMPv2c SNMPv2c introduit quelques nouveaux types, Sa nouveaut majeure est lajout de lopration GETBULK, qui permet une plate forme de gestion, de demander en bloc plusieurs variables conscutives dans la MIB de lagent. Ceci rgle un problme majeur de performance dans SNMPv1. Avec SNMPv1, le NMS est oblige de faire un GETNEXT et dattendre la rponse pour chaque variable de gestion
Telecommunication Network management nov 2012
35
Les ameliorations de SNMPv2c Format Message PDU SNMPv2c identique au PDU SNMPv1 Mme problme que v1 : manque de scurit
nov 2012
36
37
Si linformation de gestion tait rellement conserve dans une base de donnes, la construction dun agent pour ces donnes serait trs facile.
Toutefois, la consommation en mmoire et en temps processeur dun tel agent seraient trs leve.
38 Telecommunication Network management nov 2012
Aussi, deux copies de linformation existeraient, dans linstrumentation et dans la base de donnes de lagent. En ralit, les agents SNMP utilisent un Dispatch table , une table qui indique pour chaque OID, la mthode quil faut appeler pour obtenir la valeur de cet OID. On garde aussi les informations sur la mthode appeler pour changer la valeur dun OID. Quand il y a une requte pour des informations de gestion, les mthodes correspondantes aux OIDs demandes sont appeles.
39 Telecommunication Network management nov 2012
Convention
Information souhaite
41
42
43
Rattachement de la branche Accelance la branche enterprises via lOID 9697 Affectation de la branche general la branche accelance via lOID 1 Dfinition de la variable realease & Rattachement de celle-ci la branche general
general OBJECT IDENTIFIER ::= { accelance 1 } release OBJECT-TYPE DisplayString read-only current
44
SNMPv3 a pour but de rsoudre 2 problmes majeurs de SNMPv1 et 2 : la scurit et linteroprabilit pas dapproche particulire de scurit intgre des nouvelles approches peuvent aisment tre intgrer dans larchitecture. Un choix : 1 architecture avec lapproche modulaire pour sadapter aux choix de scurit. ladministrateur doit faire les bons choix de mise en place en fonction de risque encourus, des besoins et des systmes prsents dans son architecture Les aspects de scurit prvus [RFC 2571]: la modification de linformation de gestion, lusurpation didentit (mascarade), la modification du flux de message(rejoue, retard, rorganisation de lordre ,etc), la divulgation dinformation, le dni de service et lanalyse de trafic.
nov 2012
45
SNMPv3 dfinis la notion dentits SNMPv3 (RFC 2271) dfinit le fonctionnement et les divisions dun gestionnaire SNMP Selon RFC 2271 dans le manager on a des divisions entre le transport, le traitement, la scurit et les applications Dans un agent SNMPv3 (RFC 2271), on retrouve : le module access control les applications qui communiquent avec linstrumentation SNMP v3 utilise la notion dEntit SNMP (Entity SNMP) Entitity SNMP = Machine SNMP + Applications)
Telecommunication Network management nov 2012
46
nov 2012
47
SNMPv3 dfinis la notion dentits Une entit : c est limplmentation dun systme SNMPv3 Une entit correspondre a un ensemble de module dploy pour former soit un agent soit un gestionnaire SNMPv3 [RFC 2571] SNMPv3 fonctionne toujours selon un modle agent-manager
48
Une entit est compose dun moteur SNMP et dune ou plusieurs applications Le moteur : pour mettre en place les services denvoie et de rception des messages, leurs authentifications et cryptages a le contrle daccs aux objets gres de la MIB. snmpEngineID: identifiant unique dun moteur dans un chaque domaine administratif Le moteur contiens les modules : Le dispatcher (Dispatcher) :
permet de supporter la coexistence de plusieurs version SNMP. dtermine lors de l arrive du message, a quel protocole il appartient et lenvoie vers le sous systme de traitement de message correspondant; offre une interface de communication abstraite aux applications SNMP en leur cachant le dtail de tels ou tel protocole.
nov 2012
49
Le sous systme de traitement de message (Message Processing Subsystem): i responsable de la prparation des messages en vue de leur envoie dans un protocole particulier extraction des informations dun message reu du dispatcher existe plusieurs instances de ce sous systme dans une mme entit que lon nomme des modles. []RFC 2571 ]a dfinis trois modles de traitement de messages: SNMPv3, v2c et v1.
nov 2012
50
(Message Processing
Un module de traitement est requis pour faire le dcodage des paquets SNMP qui arrivent du rseau et lencodage de ceux qui sapprtent partir dans le rseau. Pour garder SNMP flexible, et permettre les changements futurs, chaque paquet SNMP est marqu dun numro de version SNMP Le numro de version permet un moteur SNMP de dterminer quel module de traitement (Mpv1, MPv3, MPng) ce message est destin. Normalement, chaque module de traitement prend en charge une version de SNMP Le module de traitement est modulaire, ceci permet ladaptation aux prochaines versions de SNMP.
Telecommunication Network management nov 2012
51
Le sous systme de traitement de message (Message Processing Subsystem): 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 SNMP sans entraner les cots de reconstruction complte du moteur 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.
nov 2012
52
Le sous systme securite (security subsystem) : fournit les services de scurit ncessaire a lauthentification et a la confidentialit des messages. peut contenir plusieurs modles de scurit. Chaque modle de scurit dfinit les atteintes de scurit quil traite (services offerts, protocole de scurit a mettre en uvre. (authentification, confidentialit, etc). Pour la confidentialit: lalgorithmes dencryptages est DES (Data Encryption Standard) Lauthentification sur HMAC-MD596. (voir Model USM et VACM)
nov 2012
53
Certains environnements requirent des interactions scuritaires. La scurit est normalement applique en deux tapes: dans la transmission et la rception du message dans le traitement du contenu du message Trois fonctions sont gnralement communes tous les modules de scurit: lauthentification, lencryption la vrification du temps. NB : Encore une fois, plusieurs modules de scurit peuvent tre actifs simultanment dans un moteur SNMP.
nov 2012
54
Le sous systme de contrle daccess (Access control Subsystem) : offre les services dautorisation via des modles de contrle daccs. Dfinis les politiques de droits daccs aux objets de la MIB. permet de restreindre au client l accs aux objets de la MIB, sur la base des didentits. (see Model VACM)
nov 2012
55
Le sous systme de contrle daccess (Access control Subsystem) : 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 a fait la requte Chaque application a le choix daccepter ou de rejeter une requte. 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
nov 2012
56
Le sous systme de contrle daccess (Access control Subsystem) : On peut donc faire une seule configuration des droits des accs, Le module peut autoriser une requte sur: les critres de qui la demand quel type de requte quelle information est touche par la requte. Il faut noter qu ce stade, lauthentification de lentit (usager ou application) qui a effectu la requte a dj t faite, Ce module na donc pas sen proccuper.
nov 2012
57
Le sous systme de transport (Transport Sub Module) : Le protocole SNMP nest pas li un protocole rseau et de transport particulier, Mme si en pratique il est plus que souvent utilis sur le protocole UDP [RFC 768] Pour permettre lindpendance du moyen de transport, le module qui est responsable du transport 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 permet de restreindre au client l accs aux objets de la MIB, sur la base des didentits.
nov 2012
58
Les applications (applications) : ce sont les modules permettant de faire fonctionner lentit SNMP. Applications [RFC2571]:
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, donc les objectifs peuvent tre fort varis dune application lautre Toutes les applications utilisent en commun le mme moteur SNMP pour effectuer les oprations de gestion Par exemple, une application de gestion pourrait contrler des lments de gestion et un proxy pourrait effectuer le relais de messages entre les mdiums diffrents ou des versions diffrentes de SNMP.
Telecommunication Network management nov 2012
59
Plusieurs Applications [RFC2571]: lapplication gnration de commande (command generator) : permet de genre les operations de surveillance et de manipulations de donnes, lapplication de rponse aux commandes (command response) : fournit un accs aux informations de gestion, lapplication de gnration de notification (notification originator) : permet dinitier des messages asynchrones pour notifier un vnement particulier dans le rseau, lapplication de rception de notification (notification receiver) : permet de recevoir des messages de manire asynchrone, lapplication de relais proxy (proxy forwarder) : permet denvoyer des message entre entits Autres
nov 2012
60
Le manager SNMPv3 : constitu dun sous ensemble des modules de lentit SNMP; dun moteur SNMP, dune ou plusieurs applications de gnration de commandes, et/ou dune application de rception de notifications.; prsente des divisions entre le transport, le traitement, la scurit et les applications.
nov 2012
61
Lagent SNMPv3 : correspondre a un ensemble de sous systme et de modules de lentit SNMPv3 constitu dun moteur SNMPv3, Dune ou plusieurs applications de rponse aux commandes et/ou gnrateurs de notifications; D1 module de contrle daccs permet de verifier les autorisations concernant les requtes traites par les applications de rponses aux commandes et de notifications; Lapplication proxy permet de transmettre la requte vers une autre entit SNMP agent. SNMPv3 introduit la notion de contexte SNMP, Un contexte dfinit lensemble des informations de gestion qui sont accessible par une entit SNMP; un objet gre est identifiede manier unique dans son propre contexte; Deux identificateurs sont utiliss : le nom du contexte (contextEngineID) et lidentificateur du moteur (snmpEngineID) . architecture de lagent SNMPv3
nov 2012
62
Le format du paquet rseau SNMPv3 est trs diffrent du format de SNMPv1, ils sont toutefois cods tous deux dans le format ASN.1 pour assure la compatibilit des types de donnes entres les ordinateurs darchitectures diffrentes Pour rendre plus facile la distinction entre les versions, le numro de la version SNMP est plac tout au dbut du paquet La figure (diapositive suivante ) montre un paquet SNMPv3: le contenu de chaque champ varie selon la situation et les informations places dans le paquet respectent des rgles bien dfinies dans le standard Selon que lon envoie: une requte, une rponse, ou un message derreur, Etc
Telecommunication Network management nov 2012
63
Paquet SNMPv3:
nov 2012
64
Paquet SNMPv3: comment les champs dun paquet SNMPv3 sont remplis?
Version SNMP: Pour SNMPv3, on place la valeur 3 dans ce champ. (0 pour un paquet SNMPv1) Identificateur de message (MsgID) Ce champ est laiss la discrtion du moteur SNMP, On retrouve souvent des algorithmes, o le premier message de requte est envoy avec un nombre alatoire et les suivants avec les incrments de 1 Les paquets qui sont mis en rponse une requte portent la mme identification que le paquet de la requte Taille maximale (Max Size) Le moteur choisit la taille maximale dune rponse une requte selon ses capacits en mmoire tampon et ses limites dcoder de longs paquets Quand on envoie une rponse une requte, on doit veiller ne pas dpasser la taille maximale
Telecommunication Network management nov 2012
65
Paquet SNMPv3: comment les champs dun paquet SNMPv3 sont remplis?
Drapeaux (flags) Prsentement, trois bits sont utiliss (sur les 8) pour indiquer : Si une rponse est attendue la rception de ce paquet (Reportable Flag) Si un modle dencryption a t utilis (Privacy Flag) Si un modle dauthentification a t utilis (Authentification Flag) NB : Il nest pas possible denvoyer un paquet qui utilise un modle dencryption sans quil soit aussi authentifi, donc quil utilise un modle dauthentification
nov 2012
66
Paquet SNMPv3: comment les champs dun paquet SNMPv3 sont remplis?
Le modle de scurit (Security model) Il 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 Le groupe de lIETF recommande quil y ait relativement peu de modules de scurit pour permettre de maximiser lintercompatibilit des quipements Prsentement, lalgorithme dencryption DES (Data Encryption Standard) et lalgorithme dauthentification HMAC-MD5-96 ont t choisis comme algorithmes utiliss dans SNMPv3 HMAC-SHA-96 est optionnel AES non : pourquoi intgrer AES dans SNMPv3
nov 2012
67
Paquet SNMPv3: comment les champs dun paquet SNMPv3 sont remplis?
Les informations de scurit (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
nov 2012
68
Paquet SNMPv3: comment les champs dun paquet SNMPv3 sont remplis? Les identificateurs de contextes (ContextEngine ID et Context Name) Avec SNMPv1, on ne pouvait avoir une seule base dinformations (MIB) par agent. Ceci nest pas suffisant pour certains quipements qui peuvent avoir plusieurs fois les mmes variables Par exemple, un commutateur ATM contient plusieurs cartes qui peuvent avoir chacune leurs propres bases dinformations Le contexte permet de distinguer entre plusieurs bases dinformations et mme plusieurs agents On distingue entre des agents, par exemple, quand on a un moteur qui agit comme passerelle entre SNMPv3 et du SNMPv1 On envoie donc un paquet SNMPv3 en identifiant quel agent SNMPv1 on dsire que le paquet soit retransmis
nov 2012
69
Le PDU (Protocol Data Unit) est la charge utile qui contient les variables de la requte ou les valeurs de la rponse. On y prcise aussi quelle opration on dsire effectuer Les dtails exacts du PDU sont dcrits dans le RFC1905
nov 2012
70
SNMPv3 peut sappuyer sur differents types de transport comme UDP ; Au dessus de la couche transport, larchitecture SNMPv3 introduit deux couches : la couche de traitements des PDU; la couche de traitement de message. La couche de traitement de PDU: gre les commandes de gestion telles que Get, Set, Trap et Inform. Ces PDU contiennent (comme dans SNMPv1&2) la liste des objets gres concernes par ces commandes. Ecouche niveau plus haut, c'est--dire qui est directement manipules par les applications; la couche de traitement de messages: ajoute aux PDU un en-tte de message; Len-ttes contient les informations en rapport avec le service de scurit a mettre en place (authentification , confidentialit).
nov 2012
71
Le message SNMPv3 encapsule la PDU SNMP, form de 3 parties : 5 cinq champs prliminaires (niveau haut) remplis par le model e de traitement des messages lors de lmission, et la rception (fig.); 6 champs suivants (niveau intermdiaire) paramtres cres et utilises par le modle de scurit pour offrir le service de scurit souhaite; la PDU SNMPv3 (niveau bas) associe a deux paramtres particuliers que sont le contextEngine et contextName. Les champs du message [RFC 2572] : MsgVersion : permet didentifier la version de SNMP. Msgversion=3 pour SNMPv3; MsgID : identificateur unique utilise entre deux entits SNMP pour coordonner les messages de requtes et de rponses, et aussi par le module de gestion des messages pour coordonner le traitement des messages entre les differents sous modles. Il peut prendre une valeur entre 0 a 231-1 .
nov 2012
72
Les champs du message [RFC 2572] (suite) : MsgMaxSize : fixe la taille maximale des reposes ou autres types de messages a accepter en fonction de ses capacits en mmoire tampon et de ses limites a dcoder de longs paquets (le moteur). Sa valeur peut tre de 484 a 231-1. Msgflag : 1 octet qui contient trois drapeaux dans les trois bits les moins significatifs qui sont : reportableFlag, privFlag et authFlag.
reportableFlag: prcise si une rponse est attendre (1) ou pas (0). Ce drapeau est mis a 1 dans tous les messages Get, Set et Inform Pour la confirmation, et a 0 dans tous les autres messages Trap ou report PDU. PrivFLag permet dindiquer si on crypte ou pas le message authFlag permet dindiquer si on authentifie ou pas On applique les combinaison souhaites entre ces deux drapeaux Sauf: privFlag=1 et authFlag=0 car le cryptage sans authentification nest pas accepte.
nov 2012
73
Msgflag : (suite)
nov 2012
74
Les champs du message [RFC 2572] (suite) : MsgSecurityModel : identificateur , prend les valeurs allant de 0 a 231-1.;
indique quel modle de scurit a t utilise par l metteur pour prparer ce message. Le rcepteur doit utiliser le mme modle ; Des valeurs rserves sont utilises : 1 pour SNMPv1, 2 pour SNMPv2c et enfin 3 pour SNMPv3. MsgAuthenticativeEngineID : cest lID de la machine autoritaire MsgAuthenticativeEngineBoots : nombre de reboots de la machine autoritaire;
Ce champ est un entier et prend une valeur entre 0 et 231-1 MsgAuthenticativeEngineTime : nombre de seconde depuis le dernier boot de la machine autoritaire
nov 2012
75
Les champs du message [RFC 2572] (suite) : MsgUserName : dfinis le principal (lutilisateur) qui envoie le message ou qui est a lorigine de lenvoie du message. MsgAuthenticativeParameters : mise en uvre uniquement si lauthentification est utilise. MsgPrivacyParameters : valeur initiale pour le mode Cipher Bloc Chaining de lalgorithme DES utilise pour le chiffrement.
la cl de chiffrement est un autre secret partag (ou ventuellement le mme que pour la signature). ContextEngineID : identifiant de la machine Contextname : contexte de cette requte. Le PDU proprement dite : identique au PDU classique SNMP de v1 et v2.
Telecommunication Network management nov 2012
76
nov 2012
77
Le paquet SNMPv3
nov 2012
78
La securite de SNMPv3 est basee sur 2 modeles : LUSM (User Security Model) Le VACM (View based Acces Control Model) LUSM utilise 4 mcanismes (RFC 2274) et chacun de ces mcanismes a pour but dempcher un type dattaque: Lauthentification: Empche quelquun de changer le paquet SNMPv3 en cours de route et valider le mot de passe de la personne qui transmet la requte 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. Lencryption Empche quiconque de lire les informations de gestions contenues dans un paquet SNMPv3 Lestampillage du temps Empche la rutilisation dun paquet SNMPv3 valide que quelquun a dj transmis.
nov 2012
79
Le mcanisme de scurit de SNMPv3 est bass sur le User Security Model : USM Pour scuriser le systme de gestion, ce modle introduit les services: dhorodatage, dauthentification, de confidentialit. Definition du principal: pour identifier lmetteur dune commande de gestion; Un principal : cest un usager, un groupe dusagers, une application, un groupe dapplication, etc ayant accs a une station de gestion SNMPv3. 3 modules : Le module dhorodatage du temps: pour assurer une protection contre les dlais et les rejoue de commandes; Le module dauthentification: pour assure lintgrit des PDU et lauthentification de leur origine; le module confidentialit: pour protger la confidentialit du contenu des messages.
Telecommunication Network management nov 2012
80
Lhorodatag estampillage en temps : Pour protger le systme contre les attaques de rejoue, de dlais ou de redirection.; MsgAuthenticativeEngineTime: champ destampillage dfinis dans le message SNMPv3; Le principe consiste a dfinir une fentre de temps dans laquelle un message envoye doit obligatoirement arriver a destination. 1 entit SNMPv3 est autoritaire: elle reoit un message SNMP qui ncessite une rponse (Get, GetBulk, Set ou Inform) ou si elle envoie un message SNMP sans rponse (SNMPv2-Trap, response ou ReportPDU); Les entits non autoritaires incluent une estimation de temps selle envoie un message (get, Getbulk, Set, ou inform) Si la diffrence est suprieur a 150 secondes (dlais maximal tolre dans le rseau) , on suppose que le paquet ait t retarde ou rejou, il est alors ignor
nov 2012
81
Lhorodatag 2 paramtres : snmpEngineTime et snmpEngineBoots snmpEngineTime: calcule le temps depuis que lquipement a t allume par le moteur de variables snmpEngineBoots : correspond au nombre de rinitialisation depuis la mise en route du systme.; Ces deux variables vont galement servir a synchroniser les deux entits communicantes. Lauthentification Permet de sassurer que le paquet est effectivement transmis par celui qui est identifie comme tant lmetteur dans le message SNMPv3 (MsgUserName); 1 entit principale et 1 entit cible partagent 1 cl dauthentification pour athentifier le message
nov 2012
82
Lidentit du principal (MsgUserName), lidentit du moteur (MsgAuthenticativeEngineID), lheure de la transmission (MsgAuthenticativeTime) et la cl secrte (MsgAuthenticativeParameters) qui nest connue que par lmetteur et le rcepteur. Lorsque le rcepteur reoit le message il utilise la mme cl pour recalculer la signature. Si le rsultat est identique a celui contenu dans le message, il peut poursuivre le traitement du message, et dans le cas contraire , il lannule. HMAC-MD5-96 est le premier protocole prconiser par USM.
nov 2012
83
La confidentialit Pour garantir la confidentialit et assurer que les tierce partie ne vont pas lire le contenue des messages, USM introduit des mcanismes de cryptage. le manager et lagent doivent partager une cl secrte. tout le trafic est crypte par lmetteur en utilisant un protocole de cryptage donne. Lentit rceptrice dcrypte le message en utilisant le mme protocole de cryptage et la mme cl. USM prconise le standard DES (Data Encryprion Standard) . USM utilise le mode CBC(Cipher Bloc Chaining) de DES. Ce mode ncessite quune valeur initiale (IV) soit utilise pour commencer le cryptage. Cette information est transmise dans le chmap MsgPrivacyParameters du message SNMPv3.
nov 2012
84
View Acces Control Model La VACM ou contrle daccs base sur les vues permet de dfinir des accs diffrencies avec droits pour les utilisateurs crer des comptes administrateurs avec des droits diffrencies en termes de contrle de ressources de lagent , de visibilit des objets de MIB, etc; restreindre laccs a certains objets de la MIB soit en cachant des objets de la MIB, soit en dfinissant des restrictions en termes doperations sur les objets. Ces politiques daccs doivent tre prconfigures. Le model VACM prvoit dutiliser des tables intgres dans la base de donnes locale de configuration du moteur SNMPv3 (LCD : local configuration Database) qui fait partie de la MIB. Contre lauthentification qui est procder sur la base de lentit utilisateur, le contrle daccs doit se raliser pour les groupes dutilisateurs. Chaque utilisateur doit appartenir a un groupe Le groupe contient les politiques daccs en fonction des droits et privilges
nov 2012
85
nov 2012
86
Teacher : Dr A. D. KORA
87