Sie sind auf Seite 1von 146

Administration des rseaux

A.Laaroussi

Objectifs du cours
Dfinir la notion de gestion de rseaux Supervision Gestion Administration But = maintenir un service
A.Laaroussi 2

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

A.Laaroussi

Classification normalise
Gestion de la configuration Gestion des fautes Gestion de la performance Gestion de la scurit Gestion de laudit
A.Laaroussi 4

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

A.Laaroussi

Gestion des fautes


Dtection Localisation Correction Restauration Dtection + intervention rapides
A.Laaroussi 6

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
A.Laaroussi 7

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

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

A.Laaroussi

network management system

A.Laaroussi

10

Relation manager/agent

A.Laaroussi

11

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
A.Laaroussi 12

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


A.Laaroussi 13

Structure of Management Information (SMI)


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

Language 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.
A.Laaroussi 15

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]
A.Laaroussi 16

Types de donnes ASN.1


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

A.Laaroussi

17

Types Simples ASN.1


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

A.Laaroussi

18

Exemple de type simple


Montant ::= INTEGER
Credit Montant ::= 2000

Age ::=INTEGER (0..130)


ageRetraite Age ::= 45

phrase OCTET STRING ::= "une phrase"

A.Laaroussi

19

OCTET STRING
Une squence de zero, un, ou plusieurs octets SNMP trois cas spciaux de type OCTET STRING:
DisplayString: tous les caractres sont imprimables ASCII OctetBitstring: suite de bits qui dpasse 32 bits PhysAddress: reprsente une adresse physique
A.Laaroussi 20

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-2 1} sysDescr OBJECT IDENTIFIER ::= {system 1}

A.Laaroussi

21

Types complexes ASN.1


Deux types complexes pour dfinir des tableaux: SEQUENCE OF : liste ordonnes de valeurs de mme type. SEQUENCE : liste ordonnes fixe de valeurs de type diffrents.
A.Laaroussi 22

Exemple de SEQUENCE
IpRoutingTableEntry ::= SEQUENCE { ipRouteDest IpAddress, ipRouteNextHop IpAddress } gateway IpRoutingTableEntry ::= {194.57.88.0, 194.57.89.1}
A.Laaroussi 23

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} }

A.Laaroussi

24

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.
A.Laaroussi 25

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 Intervale
A.Laaroussi 26

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

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

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

A.Laaroussi

29

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 }
A.Laaroussi 30

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

A.Laaroussi

31

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)
A.Laaroussi 32

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.
A.Laaroussi 33

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
A.Laaroussi 34

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

A.Laaroussi

35

tiquettes de type (Tag)


Distinguer dune manire unique les types. Permettre de localiser la provenance des objets (leurs dclaration) 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
A.Laaroussi 36

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 A.Laaroussi dfinie par lutilisateur pour ses propres besoins
37

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

A.Laaroussi

38

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

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.
A.Laaroussi 40

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)
A.Laaroussi 41

Codage Type-Length-Value

A.Laaroussi

42

Codage Type-Length-Value

A.Laaroussi

43

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

A.Laaroussi

44

A.Laaroussi

45

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

Bit 7 0 1 0 1
46

Tag (Universal)
Type INTEGER OCTET STRING NULL OBJECT IDENTIFIER SEQUENCE SEQUENCE-OF
A.Laaroussi

Tag Number 00000010 = 02H 00000100 = 04H 00000101 = 05H 00000110 = 06H 00110000 = 30H 00110000 = 30H
47

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

A.Laaroussi

48

Tag Context
Type GetRequest GetNextRequest GetResponse SetRequest Trap Tag Number 10100000 = A0H 10100001 = A1H 10100010 = A2H 10100011 = A3H 10100100 = A4H

A.Laaroussi

49

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

A.Laaroussi

50

TLV (Length)

A.Laaroussi

51

Codage INTEGER

INTEGER type, Value = 75


A.Laaroussi 52

Codage OCTET STRING

OCTET STRING type, Value = BBM


A.Laaroussi 53

Codage OBJECT IDENTIFIER


Pour econimiser 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
A.Laaroussi 54

Codage OBJECT IDENTIFIER

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


A.Laaroussi 55

Codage NULL

NULL type, Value = NULL


A.Laaroussi 56

Codage SEQUENCE
VarBind ::= SEQUENCE { name ObjectName value ObjectSyntax } VarBindList ::= SEQUENCE OF VarBind
A.Laaroussi 57

Codage SEQUENCE

A.Laaroussi

58

Codage IpAddress

IpAddress type, Value = 128.150.161.8


A.Laaroussi

59

Codage TimeTicks

TimeTicks type, Value = 263691156


A.Laaroussi

60

Codage Context class

A.Laaroussi

61

Codage Context class (SNMP)

A.Laaroussi

62

SIMPLE NETWORK MANAGEMENT PROTOCOL

A.Laaroussi

63

Historique
SGMP

SNMP

RMON MIB

Secure SNMP

SNMPv2 Working Group

SNMP v2 Security Working Group

SNMP v2

A.Laaroussi

64

ARCHITECTURE SNMP
Processus Manager
7 6 5 4 3

Processus Agent
7 6 5 4 3

SNMP UDP IP

SNMP UDP IP

2 Protocoles lis 1 au rseau

Protocoles lis 2 1 au rseau Rseau


A.Laaroussi 65

Composantes SNMP
STATION DE GESTION DU RESEAU GetRequest GetNextRequest MANAGER Trap SetRequest AGENT EQUIPEMENT A VUE A DE LA MIB AGENT EQUIPEMENT B VUE B DE LA MIB AGENT EQUIPEMENT C VUE C DE LA MIB

A.Laaroussi

66

LE DIALOGUE SNMP
Station de gestion SNMP Agent SNMP

Application de gestion GetNextRequest GetResponse


GetRequest SetRequest

Application gre les objets

Ressources Gres Objets Grs par SNMP GetNextRequest


GetRequest

GetResponse

SetRequest

Trap

Messages SNMP

SNMP UDP IP Protocoles lis au rseau

SNMP UDP IP Protocoles lis au rseau

Rseau
A.Laaroussi 67

Trap

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
A.Laaroussi 68

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

A.Laaroussi

69

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

A.Laaroussi

70

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

A.Laaroussi

71

TRAP
Cette opration permet un noeud gr (agent) d'envoyer un message une station de gestion (manager) lorsqu'un vnement s'est produit sur le noeud L'envoi s'effectue de faon asynchrone par lmission d'un descriptif complet de la situation d'un noeud

A.Laaroussi

72

SNMP Protocol Data Units (PDUs)

A.Laaroussi

73

Structure SNMP PDU

A.Laaroussi

74

Structure SNMP PDU


version number: (INTEGER) assure que le manager te 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)
A.Laaroussi 75

Structure SNMP PDU


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

A.Laaroussi

76

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)
A.Laaroussi 77

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.

A.Laaroussi

78

GetRequest/GetResponse PDU

A.Laaroussi

79

SetRequest/GetResponse PDU

A.Laaroussi

80

structure de la PDU Trap

A.Laaroussi

81

structure de la PDU Trap


Generic Trap: fournit des informations sur lvnement qui dclench la Trap. Geniric Trap Value
coldStart warmStart linkDown linkUp authenticationFailure egpNeighborLoss enterpriseSpecific
A.Laaroussi

0 1 2 3 4 5 6
82

structure de la PDU Trap


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

A.Laaroussi

83

Management Information Base

A.Laaroussi

84

A.Laaroussi

85

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 noeuds qui implmentent EGP CMOT : relatif au protocole CMOT (Common Management Over TCP/IP).

A.Laaroussi

86

Groupe System

A.Laaroussi

87

Groupe Interfaces

A.Laaroussi

88

Groupe Address Translation

A.Laaroussi

89

Groupe IP

A.Laaroussi

90

Groupe ICMP

A.Laaroussi

91

Groupe TCP

A.Laaroussi

92

Groupe UDP

A.Laaroussi

93

Groupe EGP

A.Laaroussi

94

Groupe Transmission

A.Laaroussi

95

LES AGENTS SPECIAUX

Station A

Routeur

Routeur

Station C

Lien WAN Station D Station B Station de gestion


A.Laaroussi

Mise jour des informations Sonde RMON

96

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

A.Laaroussi

97

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.
A.Laaroussi 98

LES AGENTS PROXY

Agent 1 SNMP Agent 1 XYZ

PROXY AGENT Agent 2 XYZ Agent 2 SNMP Station de gestion SNMP Agent 3 XYZ

A.Laaroussi

99

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
A.Laaroussi 100

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

A.Laaroussi

101

SNMP V2

A.Laaroussi

102

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

A.Laaroussi

103

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


A.Laaroussi 104

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
A.Laaroussi 105

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
A.Laaroussi 106

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
A.Laaroussi 107

Valeurs des PDU


PDU Type Value 0 1 2 3 4 5 6 7 PDU Type GetRequest GetNextRequest Response SetRequest Trap SNMPv1 GetBulkRequest InformRequest Trap SNMPv2

A.Laaroussi

108

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.

A.Laaroussi

109

GetBulkRequest PDU format

PDU type Identifie le PDU comme opration GetBulk. Request ID Associer 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
A.Laaroussi

110

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-to-manager". 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 ).

A.Laaroussi

111

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.
A.Laaroussi 112

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 0 1 2 3 4 5 6 Nom noError tooBig noSuchName badValue readOnly genErr noAcess Statut d'erreur 7 8 9 10 11 12 13 Nom wrongType wrongLength wrongEncoding wrongValue noCreation inconsistentValue resourceUnavailable Statut d'erreur 14 15 16 17 18 Nom commitFailed undoFailed authorizationError notWritable inconsistentName

A.Laaroussi

113

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 seul les utilisateurs autoriss ont accs une MIB particulire
A.Laaroussi 114

La scurit sous SNMP v2c


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

A.Laaroussi

115

Compatibilit snmp v1 et snmp v2


SNMP Agent GetRequest GetNextRequest SetRequest InformRequest GetResponse Trap Manager Bilingue InformRequest Trap SNMP v2 Response GetRequest GetNextRequest GetBulkRequest Setrequest SNMP v2 Agent

SNMP v2 Manager

A.Laaroussi

116

SNMP v3
Cette norme reprend la versions 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)
A.Laaroussi 117

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.
A.Laaroussi 118

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

A.Laaroussi

119

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.
A.Laaroussi 120

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.

A.Laaroussi

121

Le cryptage

A.Laaroussi

122

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 suprieur 150 secondes, le paquet est ignor.
A.Laaroussi 123

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.
A.Laaroussi 124

Distribution des mots de passe

A.Laaroussi

125

Distribution des mots de passe


Mot de passe

Hash SnmpEngineID Digest0

Hash

Digest1
Mot de passe localis
A.Laaroussi 126

SNMPv3 ARCHITECTURE
SNMP ENTITY
SNMP APPLICATIONS
COMMAND GENERATOR COMMAND RESPONDER NOTIFICATION ORIGINATOR NOTIFICATION RECEIVER PROXY FORWARDER

OTHER OTHER

SNMP ENGINE
MESSAGE PROCESSING SUBSYSTEM SECURITY SUBSYSTEM ACCESS CONTROL SUBSYSTEM

DISPATCHER

A.Laaroussi

127

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: soccuppe 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 ?

A.Laaroussi

128

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: pemet la redirection des messages SNMP.

A.Laaroussi

129

SNMPv3 ARCHITECTURE: MANAGER

A.Laaroussi

130

SNMPv3 ARCHITECTURE: AGENT

A.Laaroussi

131

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.
A.Laaroussi 132

Context
contextName=card1 contextName=card2

SNMP ENTITY
COMMAND RESPONDER APPLICATION

MIB

MIB

OTHER

SNMP ENGINE snmpEngineID=1

The context can be reached from this engine, thus:


contextEngineID=1

A.Laaroussi

133

SNMPv3 MESSAGE STRUCTURE

A.Laaroussi

134

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

A.Laaroussi

135

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 si il ny a pas
dauthentification. Autrement, ce champ contient le digest HMAC du message.

msgPrivacyParameters : la valeur est nulle si il ny a pas de cryptage.


Autrement, ce champ contient les paramtres du Cipher Block DES.

A.Laaroussi

136

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.

A.Laaroussi

137

USM message processing

A.Laaroussi

138

SNMPv3 flow

A.Laaroussi

139

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.

A.Laaroussi

140

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.


A.Laaroussi 141

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-ACM-MIB, qui permet de modifier ces droits par SNMP. On peut donc de manire centralise grer tous les accs toutes les entits administrables du rseau.
A.Laaroussi 142

MIB VIEWS

A.Laaroussi

143

ACCESS CONTROL TABLES


MIB View Interface Table Interface Table System Allowed operations SET GET/GETNEXT GET/GETNEXT Allowed Managers Admin1 Admin2 Admin3 Required level of security authentication Authentication Encryption None

A.Laaroussi

144

logique VACM

A.Laaroussi

145

SNMPv3 RFCs
SNMP ENTITY
SNMP APPLICATIONS

RFC 2571 RFC 2573


OTHER

SNMP ENGINE RFC 2572


DISPATCHER

RFC 2572
MESSAGE PROCESSING SUBSYSTEM

USM: RFC 2574


SECURITY SUBSYSTEM

VACM: RFC 2575


ACCESS CONTROL SUBSYSTEM

A.Laaroussi

146

Das könnte Ihnen auch gefallen