Vous êtes sur la page 1sur 87

Ingnieur de Travaux de Tlcommunications 2013 (IGTT2-T201) SNMP: Simple Network Management Protocol

Teacher : Dr A. D. KORA

Assistant works : Moindze S


nov 2012

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Toutes ces normes nous conduisent une situation multi-normative

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

Versions 2: plusieurs version 2 non adoptes SNMPv2c:


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)

les diffrences entre les versions


Ameliorations SNMPv1 Reponse plus complete aux demandes Getbulk Authentication Cryptage MIB1 (MIBI) x MIB2 (MIBII) Architecture evolutive
Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

14

Les valeurs de NosuchObject sont dcrites dans le tableau 2 suivant.


Response NoAccess WrongLenght WrongValue WrongType WrongEncoding NoCreation NoWritable ReadOnly AuthorisationError Descriprion Acces non permis Erreur de longueur Valeur erronne Type erronnee Erreur dencodage Objet non creee Pas de permision decriture Pas de permission de lecture Erreur dautorisation

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)

Telecommunication Network management

nov 2012

16

Les demandes et les reponses ont le meme format.


SNMP v1 paquet Version SNMP Communaute PDU(paquet Data unit)

SNMP Version 1 (SNMPv1) General Message Format

Telecommunication Network management

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

Telecommunication Network management

nov 2012

18

Figure 2: SNMP Version 1 (SNMPv1) Common PDU Format

Telecommunication Network management

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

Les types d erreurs (suite)

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

22

Le format dun message Trap est reprsent comme suit.:

Fig 4: SNMP Version Trap-PDU Format

Telecommunication Network management

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.

Telecommunication Network management

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

Telecommunication Network management

nov 2012

25

Les OIDs dans la MIB:

Telecommunication Network management

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.

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

28

Les 10 groupes de MIB1 (incluant MIB 1)

TRANSAMISSION

ce groupe permet de connaitre le type de support de transmission utilise

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

30

paramtres du groupe System

paramtres du groupe IP paramtres du groupe Interface


Telecommunication Network management nov 2012

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

Telecommunication Network management

nov 2012

32

Les types simples sont reprsents dans le tableau 8


Type simple INTEGER OCTET STRING OBJECT IDENTIFIER NULL SEQUENCE SEQUENCE OF Description Entier Chainne de caractere Identificateur dobjet une sequence Une sequence repetitive

Les types applicatifs sont reprsents dans le tableau 9


Type derrivee IpAddress NetworkAddress Counter Gauge Time Ticks Opaque Description Type de donnes reprsentant une adresse IP Addressee reseau Revient a zro lorsque sa valeur atteint le seuil maximal Ne revient pas a zero Syntaxe [APPLICATION 0] IMPLICIT OCTET STRING (SIZE 4) CHOICE {internet IpAddress} [APPLICATION 1] IMPLICIT OCTET INTEGER (0.4294967295) [APPLICATION 2] IMPLICIT OCTET STRING INTEGER (0.4294967295) Compte le temps en centieme de [APPLICATION 3] IMPLICIT OCTET seconde a partir dun moment donnee STRING INTEGER (0.4294967295) Represente un encodage arbitraire [APPLICATION 4] IMPLICIT Octet String

Telecommunication Network management

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.

Telecommunication Network management

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

Telecommunication Network management

nov 2012

36

MIB (Management Information Base


Ensemble dobjets structurs de manire arborescente Accs un objet via un Object Identifier (OID) Deux MIB normalises: MIB I et MIB II Rfrences des informations rseau (interfaces, ip ) MIB prive sous le nud enterprises Une MIB nest pas une base de donnes mais une dispatch table

37

Telecommunication Network management nov 2012

MIB (Management Information Base


NB : une MIB est une base de donnes ou une liste, qui est contenue dans lagent et dont on peut lire et crire les valeurs. Certaines informations de gestion sont une abstraction, qui nexiste quau moment o il y a une requte pour cette information.

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

MIB (Management Information Base


NB : Toutes les informations, comme les compteurs et les indicateurs qui changent souvent, devraient tre changes dans la base de donnes chaque fois.

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

MIB (Management Information Base


NB : Ces mthodes font le ncessaire pour chercher ou calculer les informations de gestion. Le Dispatch table doit contenir tous les OIDs de gestion en ordre lexicographique. Ceci est ncessaire pour rpondre aux requtes GETNEXT (Donne le prochain) et GETBULK (donne les n prochains). On pourrait attendre la requte et, une fois la requte reue, demander linstrumentation la valeur de ce OID existant. Mais ceci fonctionne uniquement pour les GET et SET. Un Dispatch table ordonn est essentiel pour rpondre GETNEXT et GETBULK.
40 Telecommunication Network management nov 2012

Exemple d accs un objet d une MIB


Objet de type simple (une seule variable)
+--accelance(9697) +--general(1) +-- -R-- String +-- -R-- INTEGER +-- -R-- String release(1) nbeProcessus(2) currentDate(3)

Accs la variable realease : .1.3.6.1.4.1.9697.1.1.0


enterprises Numro dfini par IANA Correspond lentreprise Accelance
Telecommunication Network management nov 2012

Convention

Information souhaite

41

Exemple d accs un objet d une MIB (2


Objet complexe (ex : Tableau)

Accs la variable ifSpeed : .1.3.6.1.2.1.2.2.1.5.x


interfaces Information souhaite Index

42

Telecommunication Network management nov 2012

ASN.1 (Abstrat Syntax Notation One


Standard ISO (ISO 8824) qui dfinit plusieurs types autoriss dans SNMP (ex : INTEGER, DisplayString )

Effectue la correspondance entre un OID et un nom

ASN.1 se localise au niveau de la couche Prsentation dans le modle OSI.

43

Telecommunication Network management nov 2012

Exemple de fichier ASN.1


ACCELANCE-MIB DEFINITIONS ::= BEGIN accelance MODULE-IDENTITY ::= { enterprises 9697 }

Identification dun fichier ASN.1

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

SYNTAX MAX-ACCESS STATUS DESCRIPTION

"Type dOS utilis" ::= { general 1 }

Dsormais nous pouvons accder la variable release de la manire suivante : .iso.dod.internet.private.enterprises.accelance.general.release.0

44

Telecommunication Network management nov 2012

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.

Telecommunication Network management

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

SNMPv3 dfinis la notion dentits Entitity SNMP = Machine SNMP + Applications)

Telecommunication Network management

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

Fig .1. SNMPv3 Entity


Telecommunication Network management nov 2012

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.

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

50

Le sous systme de traitement de message Subsystem):

(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.

Telecommunication Network management

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)

Telecommunication Network management

nov 2012

53

Le sous systme securite (security subsystem) :

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.

Telecommunication Network management

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)

Telecommunication Network management

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

Telecommunication Network management

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.

Telecommunication Network management

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.

Telecommunication Network management

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

Telecommunication Network management

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.

Architecture du manager SNMPv3

Telecommunication Network management

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

Telecommunication Network management

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:

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

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 .

Telecommunication Network management

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.

Telecommunication Network management

nov 2012

73

Msgflag : (suite)

Telecommunication Network management

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

champ est u entier et prend une valeur entre 0 et 231-1

Telecommunication Network management

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

Le s champs du paquet SNMPv3

Telecommunication Network management

nov 2012

77

Le paquet SNMPv3

Telecommunication Network management

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.

Telecommunication Network management

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

Telecommunication Network management

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

Telecommunication Network management

nov 2012

82

Lauthentification (suite) Lentit mettrice signe le message en fonction de:


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.

Telecommunication Network management

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.

Telecommunication Network management

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

Telecommunication Network management

nov 2012

85

MERCI DE VOTRE AIMABLE ATTENTION

Telecommunication Network management

nov 2012

86

Ingnieur de Travaux de Tlcommunications 2013 (IGTT2-T201) SNMP

Teacher : Dr A. D. KORA

Assistant works : Moindze S


nov 2012

Telecommunication Network management

87