Vous êtes sur la page 1sur 42

Administration des rseaux

Objectifs du cours
Dfinir la notion de gestion de rseaux
Supervision Gestion Administration

But = maintenir un service

Quelles ressources ?
Des quipements (commutateur, routeur, ) Des rseaux (Ethernet, ATM,) Des services (Web, messagerie,) Des applications (SGBD, Systme dinformation,) Des utilisateurs (identification, privilges, )

Classification normalise
Gestion de la configuration Gestion des fautes Gestion de la performance Gestion de la scurit Gestion de laudit

Gestion de la configuration
localisation configurations logicielles et matrielles tats (on, off, stand-by, busy, listen) initialisations Identifications manipulations des configurations

Gestion des fautes


Dtection Localisation Correction Restauration Dtection + intervention rapides

Gestion de la performance
Capacit du rseau

Trafic temps rel Dbit par application Goulots dtranglement Mesure des temps de rponse = latence Mesure des variations de temps de rponse = gigue

Gestion de la scurit
Instaurer des rgles de scurit Visualiser, modifier et supprimer une politique de scurit Authentification des utilisateurs Audit de scurit

Gestion de laudit
Gnrer des rapports Tarification Ressources consommes Pourcentage dutilisation des ressources Statistique des applications Charge des serveurs

network management system

Relation manager/agent

Structure of Management Information (SMI)


Ensemble de rgles pour identifier dune manire unique les objets grs. Dfinir la structure logique de la base informationnelle MIB (Management Information Base) Deux versions: SMI 1 et SMI 2

Structure of Management Information (SMI)


Objets du rseau grs sont accessibles de deux manires: Physiquement: Accs direct linformation (@IP, nombre de paquets, tat de linterface, etc). Logiquement: Les informations sont dans la MIB pour tre consults et modifis SMI est responsable de lorganisation logique de ses informations

Structure of Management Information (SMI)


Avec SMI chaque objet gr doit possder: Un nom: un identifiant unique (OID: ObjectIDentifier ) Une syntaxe: type de donnes (integer, string, etc) Langage ASN.1 Un codage: reprsentation binaire pour la transmission sur le rseau Codage BER

Langage ASN.1
ASN.1 = Abstract Syntax Notation One Fonction de la couche prsentation

Langage normalis Les structures de donnes sont indpendantes de larchitecture interne physique de la machine. Langage interprt par ltre Humain SMI utilise un sous-ensemble de ASN.1 pour la description des objets.

Types de donnes ASN.1


Chaque object possde un type et une valeur. Rgle de dclaration de type [nom du type] ::= [dfinition du type] Rgle de dclaration de variable [nom de la valeur] [nom du type] ::= [dfinition de la valeur]

Types de donnes ASN.1


ASN.1 utilise deux types de donnes: Primitive: type simple (INTEGER, OCTETSTRING, etc) Constructeur: combinaison de types simple (Listes ou des tableaux).

Types Simples ASN.1


SMI utilise un sous-ensemble des types simples de ASN.1 INTEGER OCTET STRING OBJECT IDENTIFIER NULL

Exemple de type simple


Montant ::= INTEGER Credit Montant ::= 2000 Age ::=INTEGER (0..130) ageRetraite Age ::= 45 phrase OCTET STRING ::= "une phrase"

OCTET STRING
Une squence de zero, un, ou plusieurs octets SNMP trois cas spciaux de type OCTETSTRING: DisplayString: tous les caractres sont imprimables ASCII OctetBitstring: suite de bits qui dpasse 32 bits

PhysAddress: reprsente une adresse physique

OBJECT IDENTIFIER
Il permet dorganiser larbre SMI Exemples: internet OBJECT IDENTIFIER ::= {iso org(3) dod(6) 1} mgmt OBJECT IDENTIFIER ::= {internet 2} mib OBJECT IDENTIFIER ::= {mgmt 1} system OBJECT IDENTIFIER ::= {mib 1} sysDescr OBJECT IDENTIFIER ::= {system 1}

Types complexes ASN.1


Deux types cmplexes pour dfinir des tableaux: SEQUENCE OF : liste ordonnes de valeurs de mme type.

SEQUENCE : liste ordonnes fixe de valeurs de types diffrents

Exemple de SEQUENCE
IpRoutingTableEntry ::= SEQUENCE { ipRouteDest IpAddress, ipRouteNextHop IpAddress } gateway IpRoutingTableEntry ::= {194.57.88.0, 194.57.89.1}

Exemple de SEQUENCE OF
IpRoutingTable ::= SEQUENCE OF IpRoutingTableEntry Routeur ipRoutingTable ::= { {181.23.54.0, 181.23.55.1}, {181.23.53.0, 181.23.55.255} }

Defined Types
SMI utilise un troisime type prdfinis Defined Defined donne une meilleure interprtation des types simples et complexe. NetworkAddress: adresse dsignant nimporte quelle famille de protocole IpAddress: @IP sur 32 bits Counter: entier positif qui incremente jusqu revenir la case de dpart Gauge: entier positif qui peut incrmenter ou dcrmenter TimeTicks: entier positif qui reprsente le temps en centime de seconde.

Convention lexicales ASN.1


Terme -::= | {} [] () .. Description nombre sign Commentaire Affectation Alternative Dbut et fin de listes Dbut et fin de a tag Dbut et fin de sous-type Intervalle

Conventions ASN.1
ASN.1 fait la diffrence entre minuscules et majuscules Terme Convention Types Values Macros Modules Mots rservs 1ere caractre en Majuscule 1ere caractre en Minuscule tous les caractres en Majuscule 1ere caractre en Majuscule tous les caractres en Majuscule

Macro
Une macro permet de dclarer un objet autre que ceux utilis de base. Declaration dune macro ASN.1 <macro name> MACRO ::= BEGIN TYPE NOTATION ::= <user-defined type notation> VALUE NOTATION ::= <user-defined value notation> <supporting syntax> END

Macro OBJECT-TYPE
OBJECT-TYPE MACRO ::= BEGIN TYPE NOTATION ::= "SYNTAX" type(ObjectSyntax) "ACCESS" Access "STATUS" Status DescrPart VALUE NOTATION ::= value (VALUE Object IDENTIFIER) Access ::= "read-only" | "read-write" | "write-only" | "not-accessible " Status ::= "mandatory" | "optional" | "obsolete" | "deprecated " DescrPart ::= "DESCRIPTION" value (description DisplayString) | empty END

Macro OBJECT-TYPE
OBJECT-TYPE permet une extension du SMI. sysDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION texte ::= { system 1 }

Macro OBJECT-TYPE
SYNTAX: Type de donnes ACCESS: droits daccs read-only, read-write, not-accessible not-accessible est utilis pour les tables et les lignes de tables STATUS: mandatory, optional, deprecated, ou obsolete. Obsolete est utilis pour les objets qui ne sont plus supports Deprecated est utilis pour les objets qui sont remplacs par dautres objets compatibles

Macro OBJECT-TYPE
DESCRIPTION: dfinition textuelle de lobjet

REFERENCE: dfinition textuelle dun autre objet de rfrence dfini dans une autre MIB INDEX: dcrit lordre de parution des champs dun tableau (colonnes). DEFVAL: Valeur par dfaut des champs dune ligne (Tableau)

Dclaration dun objet dans la MIB


tcpInSegs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory ::= { tcp 10 } La dclaration prcdente signifie que: tcpInSegs est un objet qui contient des informations de type Counter. tcpInSegs est en lecture seule tcpInSegs doit tre prsent dans les systmes grs qui supporte son parent mib2.tcp tcpInSegs est plac dans la position 10 dans le group tcp.

Modules
ASN.1 regroupe les dclarations dobjet dans des listes appeles: module La dclaration dun module commence par le nom du module suivit de DEFINITIONS BEGIN et END englobent le corps du module IMPORTS peut tre utilis pour faire rfrence des types et valeurs dclars dans dautres modules

Exemple de module
RMON-MIB DEFINITIONS ::= BEGIN IMPORTS Counter FROM RFC1155-SMI DisplayString FROM RFC1158-MIB mib-2 FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; -- Remote Network Monitoring MIB rmon OBJECT IDENTIFIER ::= { mib-2 16 } -- textual conventions . . END

tiquettes de type (Tag)

Distinguer dune manire unique les types. Permettre de localiser la provenance des objets (leurs dclarations) Utiliser un autre paramtre autre que le nom du type. Combiner les types de base avec un autre argument. Le nombre entre [ ] dfinit le tag On distingue Quatre classes dtiquettes

Classes dtiquettes
universelle types de base dfinis dans ASN.1 ex : INTEGER, OCTET STRING application associe une autre application : dfinie dans dautres normes Utilis par les standards Internet contexte permet de distinguer les lments dun ensemble Utilis par SNMP (requte, rponse, notification) prive dfinie par lutilisateur pour ses propres besoins

Classes dtiquettes
La classe des tiquettes (entre crochet) applicative : [APPLICATION n] contextuelle : [n] universelle ou non tiquet : INTEGER prive : [private n]

Classes dtiquettes
SNMP utilise les trois premires classes: Universal: permet dencoder les types simples INTEGER, OCTET STRING, etc Application: permet dencoder les typesprdfinis Contexte: permet dencoder les PDUs SNMP (GetRequest, SetRequest, etc)

Exemple de tag
TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295)

TimeTicks est un type tag Appartenant la classe APPLICATION Portant ltiquette 3 IMPLICIT indique le Tag associ INTEGER ne sera pas transmis.

Rgles de codage
Basic Encoding Rules (BER) dfinit la syntaxe de transfert des donnes sur le rseau BER dcrit la reprsentation binaire des donnes BER dcrit lacheminement des bits sur un canal de communication BER utilise la syntaxe Type-Length-Value (TLV)

Codage Type-Length-Value

Codage Type-Length-Value

Codage TLV (Type)


Type dfinit la nature des donnes contenues dans le champ value Il est compos de trois champs Class: classe de donnes P/C: primitive ou Constructeur

Tag: la valeur de ltiquette

Le Champ Class
Ce champ permet de coder les classes dtiquette. Class Universal Application Context Private Bit 8 0 0 1 1 Bit 7 0 1 0 1

Tag (Universal)
Type INTEGER OCTET STRING NULL OBJECT IDENTIFIER SEQUENCE SEQUENCE-OF Tag Number 00000010 = 02H 00000100 = 04H 00000101 = 05H 00000110 = 06H 00110000 = 30H 00110000 = 30H

Tag (Application)
Type IpAddress Counter Gauge TimeTicks Opaque Tag Number 01000000 = 40H 01000001 = 41H 01000010 = 42H 01000011 = 43H 01000100 = 44H

Tag Context

Type GetRequest GetNextRequest GetResponse SetRequest Trap

Tag Number 10100000 = A0H 10100001 = A1H 10100010 = A2H 10100011 = A3H 10100100 = A4H

TLV (Length)
Ce champ prcise la taille du champ suivant (Valeur). Si la taille de la valeur dpasse les 127 octets. Le bit le plus significatif porte la valeur 1 Le bit le plus significatif du dernier octet(Length) porte la valeur 0

TLV (Length)

Codage INTEGER

INTEGER type, Value = 75

Codage OCTET STRING

OCTET STRING type, Value = BBM

Codage OBJECT IDENTIFIER


Pour conomiser la taille des donnes envoyes, on combine le premier et le deuxime OID Le premier sous identifiant est toujours un petit nombre (0, 1 ou 2) Si X est la valeur du premier OID, et Y le deuxime: Premier identifiant calcul = (X * 40) + Y

Codage OBJECT IDENTIFIER

OBJECT IDENTIFIER, Value = {1 3 6 1 2 1 1 }

Codage NULL

NULL type, Value = NULL

Codage SEQUENCE
VarBind ::= SEQUENCE { name ObjectName value ObjectSyntax } VarBindList ::= SEQUENCE OF VarBind

Codage SEQUENCE

Codage IpAddress

IpAddress type, Value = 128.150.161.8

Codage TimeTicks

TimeTicks type, Value = 263691156

Codage Context class

Codage Context class (SNMP)

SIMPLE NETWORK MANAGEMENT PROTOCOL


Historique

ARCHITECTURE SNMP

Composantes SNMP

LE DIALOGUE SNMP

GET-REQUEST
Opration qui permet de lire le contenu d'un objet Il faut lui passer en argument le libell de l'objet La valeur est retourne sous la forme correspondant au type de l'objet Exemple : snmpget -v 1 c public agent SysDesc.0

GET-NEXT-REQUEST
Opration qui retourne le prochain libell de variable se trouvant dans la base de gestion en fonction du libell de variable transmis Le premier usage de cette opration est de retrouver la liste des variables gres,

qui peut dpendre de la machine qui supporte ce noeud


Exemple : snmpgetnext -v 1 c public agent SysDesc.0

SET-REQUEST
Cette opration permet d'affecter une valeur une variable sur un noeud donn Cette opration est mise par une station de gestion (manager) vers un noeud gr (agent) Exemple : snmpset -v 1 c public agent SysName.0 s Agent

GET-RESPONSE
Cette opration permet un nud gr (agent) de rpondre une requte provenant de la station de gestion (manager).

TRAP
Cette opration permet un nud gr (agent) d'envoyer un message une station de gestion (manager) lorsqu'un vnement s'est produit sur le nud

L'envoi s'effectue de faon asynchrone par lmission d'un descriptif complet de la situation d'un nud

SNMP Protocol Data Units (PDUs)

Structure SNMP PDU

Structure SNMP PDU


version number: (INTEGER) assure que le manager et lagent utilisent la mme version. community name (OCTET STRING): chane dauthentification entre le manager et lagent. PDU Type: prcise le type dopration (GetRequest, GetNextRequest, etc)

Structure SNMP PDU


PDU GetRequest GetNextRequest GetResponse SetRequest Trap PDU Tag 0 1 2 3 4

Structure SNMP PDU

Request ID: (INTEGER) corrlation entre la requte du manager et la rponse de lagent.

Error Status: (INTEGER) code erreur.


Error noError TooBig noSuchName badValue readOnly genErr Value 0 1 2 3 4 5 (autre erreur)

Structure SNMP PDU


Error Index: (INTEGER) indique lemplacement de lerreur dans VarBindList VarBindList: (SEQUENCE OF) liste de paires (OID,valeur) Pour GetRequest et GetNextRequest Valeur de VarBindList est de type NULL.

GetRequest/GetResponse PDU

SetRequest/GetResponse PDU

structure de la PDU Trap

structure de la PDU Trap


Generic Trap: fournit des informations sur lvnement qui dclench la Trap. Geniric Trap coldStart warmStart linkDown linkUp authenticationFailure egpNeighborLoss enterpriseSpecific Value 0 1 2 3 4 5 6

structure de la PDU Trap


Timestamp contient la valeur de lobject sysUpTime (temps entre la dernire rinitialisation de lagent et cette PDU)

Management Information Base

PRINCIPAUX GROUPES MIB


SYSTEME : liste des informations de configuration gnrique. INTERFACE : liste des informations gnriques sur les interfaces. AT : liste de traduction d'adresses. Ces informations servent raliser la translation entre les adresses IP et les adresses physiques. IP : liste des variables lies au protocole de routage IP ICMP : reprsente la liste des variables lies au protocole ICMP TCP : reprsente la liste des variables lies au protocole TCP. UDP : reprsente la liste des variables lies au protocole UDP. EGP : liste obligatoire dans les nuds qui implmentent EGP CMOT : relatif au protocole CMOT (Common Management Over TCP/IP).

Groupe System

Groupe Interfaces

Groupe Address Translation

Groupe IP

Groupe ICMP

Groupe TCP

Groupe UDP

Groupe EGP

Groupe Transmission

LES AGENTS SPECIAUX

RMON
La RMON MIB est une MIB spciale qui contient les objets ncessaires la gestion distante, via SNMP, d'un quipement de mesure

La RMON MIB
STATISTICS : statistiques de trafics (octets, paquets, erreurs...). HISTORY : accumulation des statistiques en fonction du temps. HOST : statistiques par station dcouverte par l'agent. HOSTTOPN : permet le filtrage des ordinateurs qui contiennent ou sont source de statistiques. MATRIX : matrice de statistique sur le trafic entre couple de stations. ALARM : positionnement d'alarmes selon les seuils. EVENT : gnration dvnements selon les alarmes reues. FILTER : positionnement des filtres de donnes. CAPTURE : capture de paquets des filtres de donnes.

LES AGENTS PROXY

LES AGENTS PROXY


Certaines machines peuvent avoir des protocoles propritaires non bass sur le protocole UDP la conversion de protocole qui permet de grer des quipements pr-SNMP ou tlcom rle de gestion locale de base sur un rseau local distant. Il interroge les stations, collecte priodiquement des statistiques et remonte les alarmes vers le gestionnaire principal

La scurit sous SNMP v1


La conjugaison d'un agent SNMP avec un ensemble arbitraire dentits d'application s'appelle une communaut SNMP Chaque communaut SNMP est identifie par une chane d'octets, le nom de la communaut une chane communaut , qui est contenue dans chaque paquet SNMP, est compare avec la chane Communaut configure de l'agent

SNMP V2
Principales amliorations SNMP v2
Communication entre des stations managers Transfert de donnes avec le mode Bulk Extension des codes derreurs Utilisation de services de transport varis Compatibilit descendante scurit

Variantes snmp v2
Quatre variantes sont dfinies: party-based SNMPv2 (SNMPv2p); community-based SNMPv2 (SNMPv2c), user-based SNMPv2 (SNMPv2u) SNMPv2 star (SNMPv2*). SNMPv2p, SNMPv2c and SNMPv2u sont les seuls dfinis par les standard RFC SNMP v2C : nouvelles fonctionnalits SNMP v2U : inclut lauthentification SNMP v2 = v2U + cryptage + configuration distance. Seule la version snmp2c a t implmente et utilise

LES OPERATIONS SNMP2


En plus des oprations SNMPv1, SNMPv2 ajoute les oprations suivantes: GetBulkRequest : permet de demander une rponse aussi complte (une arborescence complte) InformRequest : permet un manager SNMP v2 dchanger des informations avec un autre manager. Trap SNMP v2 : joue le mme rle que le Trap SNMP v1 mais lagent doit rmettre le Trap sil ne constate aucune intervention du manager

LES MIBs SNMP v2


Deux principales MIBs sont dcrites dans la spcification SNMP v2 : La SNMP v2 MIB : elle est quivalente la MIB II de SNMP qui fournit des informations relatives lutilisation du protocole SNMP v2 lui-mme La MIB Manager-To-Manager (M2M) qui fait rfrence aux alarmes et vnements rsultant dchanges entre managers

SMI SNMP v2
Extension du SMI v1 vers SMI v2. Ajout dautres types ex: counter64 Ajout dautres macro OBJECT-IDENTITY Module-IDENTITY Ajout dautres attributs Access: read-create

PDU Type Value PDU Type

PDU GetBulkRequest
Le but de cette PDU est de minimiser le nombre d'changes travers le rseau. Cette opration permet de rcuprer le maximum d'informations pouvant tre contenues dans un message.

La PDU GetBulkRequest offre la possibilit de spcifier des successeurs multiples.

GetBulkRequest PDU format

PDU type Identifie le PDU comme opration GetBulk. Request IDAssocier une requte SNMP avec la rponse. Non repeaters Nombre de variables (N) dans la premire partie variable dont on souhaite un simple successeur (GeTNext). Max repetitions Nombre de successeurs devant tre retournes pour chacune des dernires R variables. Variable bindings association objets et valeurs (N+R) L'agent SNMP recevant une requte de type GetBulkRequest rpond avec une PDU GetResponse

PDU InformRequest
Cette opration permet une communication manager vers manager Cette opration permet un manager d'envoyer des informations vers un autre manager qui centralise des informations contenues dans la MIB "manager-tomanager". Un manager se comporte la fois comme agent et manager Le PDU InformRequest utilise la mme structure quune PDU Trapv2. Une rponse au manager metteur sous la forme d'une PDU GetReponse ( mmes valeurs que ceux de InformRequest ).

PDU Trap v2
La PDU Trap de SNMPv2 remplit les mmes fonctions que le PDU Trap version 1 mais avec un format diffrent. La PDU Trap-SNMPv2 ne se distingue plus des autres PDU et prend la mme forme. Trap v2 na pas daccus de rception comme cest le cas de InformRequest Le champ variable bindings du Trap-SNMPv2 comporte les noms d'objets et leurs valeurs suivants : sysUpTime.0 snmpTrapOID.0 : partie du groupe Trap de la MIB SNMPv2. variables complmentaires pouvant tre rajoutes par l'agent.

GetResponse PDU
Ce PDU est identique celui de la version 1. Cependant son champ error-status comporte une gamme de messages d'erreurs plus vastes Statut d'erreur Nom

La scurit sous SNMP v2


La scurit est dcompose en plusieurs niveaux : Le chiffrement : cest la protection des donnes contre les coutes indiscrtees et les recopies

Lauthentification : elle protge le message contre la falsification par la vrification du dlai de transfert Contrle daccs : Permet de vrifier que seuls les utilisateurs autoriss ont accs une MIB particulire

La scurit sous SNMP v2c


SNMP v2c utilise toujours la chaine communaut comme mot de passe dauthentification.

Compatibilit snmp v1 et snmp v2

SNMP v3
Cette norme reprend la version SNMPv2 (GetBulk, InformRequest ..) SNMP v3 ajoute les nouvelles fonctionnalits: un nouveau format de message SNMP, un systme de scurisation des messages, un contrle d'accs, une configuration distance des paramtres SNMP. Cette scurit est base sur 2 concepts : USM (User-based Security Model) VACM (View- based Access Control Model)

User Security Module (USM)


Trois mcanismes sont utiliss pour d'empcher un type d'attaque. L'authentification : Empche quelqu'un de changer le paquet SNMPv3 en cours de route et de valider le mot de passe de la personne qui transmet la requte. Le cryptage :

Empche quiconque de lire les informations de gestions contenues dans un paquet SNMPv3. L'estampillage du temps: Empche la rutilisation d'un paquet SNMPv3 valide a dj transmis par quelqu'un.

Authentification
Sassurer que le message que reoit l'entit provient bien de la machine qu'elle prtend tre et qu'il n'a pas t modifi Un mcanisme d'authentification utilisant un algorithme de hachage, et par le partage des mots de passe. L'algorithme de hachage MD5 ou SHA

Authentification

Les tapes d'authentification sont les suivantes : Le transmetteur groupe des informations transmettre avec le mot de passe. On passe ensuite ce groupe dans la fonction de hachage une direction. Les donnes et le code de hachage sont ensuite transmis sur le rseau. Le receveur prend le bloc des donnes, et y ajoute le mot de passe. On passe ce groupe dans la fonction de hachage une direction. Si le code de hachage est identique celui transmis, le transmetteur est authentifi.

Le cryptage
Assurer la confidentialit des messages SNMP. Utiliser un systme de cryptage symtrique SNMPv3 utilise l'algorithme DES (Data Encryption Standard). Pour des raisons de scurit, SNMPv3 utilise deux mots de passe : un pour l'authentification et un pour le cryptage.

Le cryptage

L'estampillage du temps
L'estampillage du temps doit empcher la rutilisation d'un paquet SNMPv3 valide que quelqu'un a dj transmis. En effet, si une requte est transmise, les mcanismes d'authentification, de localisation et d'encryption n'empchent pas quelqu'un de saisir un paquet SNMPv3 valide du rseau et de tenter de le rutiliser ultrieurement, sans modification. On appelle cette attaque la 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 suprieure 150 secondes, le paquet est ignor.

Distribution des mots de passe


La connaissance du mot de passe compromettrait la scurit entire du domaine d'administration. La solution adopte par SNMPv3 est d'utiliser un mot de passe, mais de passer par une tape de localisation . SnmpEngineID est une chane unique gnre par un ensemble de donnes comme l'adresse MAC, l'adresse IP, des nombres alatoires ou une chane spcifie par l'administrateur. On groupe le SnmpEngineID et le mot de passe (hash) ensemble et on passe le groupe dans une fonction de hachage. Le mot de passe localis est utilis dans l'authentification et le cryptage des messages SNMPv3. Si le mot de passe est compromis sur un agent, cela ne remet pas en cause les autres agents.

Distribution des mots de passe

Distribution des mots de passe

SNMPv3 ARCHITECTURE

SNMPv3 ARCHITECTURE
SNMP entity: implmente une fonction SNMP, peut tre un agent, un manager ou une combinaison des deux. SNMP engine: implmente les fonctions denvoi et de rception, authentification et de cryptage des messages ainsi que le contrle daccs aux objets. Dispatcher: son rle est la gestion du trafic SNMP. Il dispache les messages selon les versions SNMP (v1, v2, ou v3) Message Processing Subsystem: mise en forme des PDU selon les formats des messages des diffrentes versions SNMP. Security Subsystem: soccupe des services dauthentification et de cryptage. Authentification est soit community-based (SNMP v1 and v2) ou userbased authentication (SNMPv3 ). Access Control Subsystem: responsable du contrle daccs la MIB. Quelle opration permise pour quel utilisateur sur quel Objet ?

SNMPv3 Applications
Command generator: Gnre les requtes get, getnext, getbulk, et set et traite les rponses. Cette application est implemente par le manager. Command responder: Rpond aux requtes get, getnext, getbulk, et set. Pour les versions 1 et 2, command responder est implment par lagent SNMP. Notification originator: Gnre les traps SNMP. Pour les versions 1 et 2, Notification oroginator est implement par lagent SNMP. Notification receiver: Reoit les messages traps et inform. Cette application est implmente par le manager. Proxy forwarder: permet la translation des requtes SNMPV3 pour les agents SNMPv1/v2c.

SNMPv3 ARCHITECTURE

: MANAGER

SNMPv3 ARCHITECTURE: AGENT

Terminologie SNMPv3
snmpEngineID: identificateur administratif unique du SNMP Engine. Combinaison entre enterprise ID, adresse IP ou adresse MAC. snmpSecurityModel: SNMPv1, SNMPv2 ou USM snmpEngineBoots: nombre de fois que le SNMP Engine redmarr. snmpEngineTime: nombre de secondes depuis la dernire incrmentation de snmpEngineBoots. snmpSecurityLevel: Trois niveaux de scurit. noAuthNoPriv: pas dauthentification , pas de cryptage. securityName est toujours demand. AuthNoPriv: Authentification , pas de cryptage. AuthPriv: . Authentification et cryptage. Authoritative SNMP engine: si le message SNMP demande une rponse (get, getnext, getbulk, set, ou inform), le rcepteur est authoritative. Si le message ne demande pas de rponse (trap ou report), lmetteur du message est authoritative. Gnralement, un agent SNMP est authoritative et le manager est nonauthoritative.

Context

PDU SNMP v3

PDU SNMP v3
msgVersion : Pour SNMPv3, la valeur est 3 msgID : identificateur de message. Il correspond au numro de squence utilis pour diffrencier les messages (associer les requtes et les rponses).

msgMaxSize. : taille maximale d'une rponse une requte selon les capacits en mmoire tampon et les limites dcoder de longs paquets.. msgFlags: Actuellement, seulement trois bits sont utiliss sur les huit. Il s'agit des trois derniers bits, savoir : Si un message SNMP Report est attendue la rception de ce paquet (Reportable Flag) Si un modle de cryptage a t utilis (Privacy Flag) Si un modle d'authentification a t utilis (Authentification Flag) msgSecurityModel : Ce module identifie le modle de scurit qui a mis le message. Valeurs respectives 1, 2, et 3 pour SNMPv1, SNMPv2c, et SNMPv3

PDU SNMP v3
msgAuthoritativeEngineID : snmpEngineID qui fait autorit pour l'change. msgAuthoritativeEngineBoots : snmpEngineBoots de lEngine qui fait autorit pour l'change msgAuthoritativeEngineTime : snmpEngineTime de de lEngine qui fait autorit pour l'change. msgUserName : nom de l'utilisateur qui a mis la requte msgAuthenticationParameters : la valeur est nulle sil ny a pas dauthentification. Autrement, ce champ contient le digest HMAC du message. msgPrivacyParameters : la valeur est nulle sil ny a pas de cryptage. Autrement, ce champ contient les paramtres du Cipher Block DES.

PDU SNMP v3
ContextEngineID : identifie dune manire unique SNMP Entity. Context Name : Identifie un contexte (MIB) dans snmp Engine. Data : contient les variables de la requte ou les valeurs de la rponse.

USM message processing

SNMPv3 flow

Discovery
USM demande que msgSecurityParameters contienne snmpEngineID, snmpEngineBoots, et snmpEngineTime de lEngine qui fait autorit dchange. Avant toute utilisation des oprations get, getnext ou set, lEngine non autorit dchange doit obtenir ces valeurs de la part de lEngine autorit dchange. Discovery process est utilis pour obtenir ces informations.

USM User Table


Username: nom dutilisateur, parfois nomm Security Name. Authentication protocol: protocole dauthentification utiliser: usmNoAuthProtocol, usmHMACMD5AuthProtocol, usmHMACSHAAuthProtocol. Authentication key: passphrase utilis pour authentification. 8 caractres minimum. Privacy protocol: protocole de cryptage utiliser: usmNoPrivProtocol usmDESPrivProtocol. Privacy key: passphrase utilis pour authentification. 8 caractres minimum. usmUserSpinLock: verrou qui empche multiple modification de la table lutilisateur.

View-based Access Control Model VACM


Modle de contrle d'accs bas sur une vue Ce modle gre les droits d'accs en lecture et criture des MIB. Ce contrle permet de grer trs finement l'accs au MIB, par exemple autoriser un utilisateur lire uniquement, et un autre crire uniquement. La nouveaut de SNMPv3 est l'existence d'une MIB SNMP-VIEW-BASED-ACMMIB, qui permet de modifier ces droits par SNMP.

On peut donc de manire centralise grer tous les accs toutes les entits administrables du rseau.

MIB VIEWS

ACCESS CONTROL TABLES

MIB View Allowed

Managers Required level of


logique VACM

SNMPv3 RFCs

Vous aimerez peut-être aussi