Beruflich Dokumente
Kultur Dokumente
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 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
A.Laaroussi
10
Relation manager/agent
A.Laaroussi
11
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
A.Laaroussi
17
A.Laaroussi
18
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
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
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
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
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
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
Codage NULL
Codage SEQUENCE
VarBind ::= SEQUENCE { name ObjectName value ObjectSyntax } VarBindList ::= SEQUENCE OF VarBind
A.Laaroussi 57
Codage SEQUENCE
A.Laaroussi
58
Codage IpAddress
59
Codage TimeTicks
60
A.Laaroussi
61
A.Laaroussi
62
A.Laaroussi
63
Historique
SGMP
SNMP
RMON MIB
Secure SNMP
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
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
GetResponse
SetRequest
Trap
Messages SNMP
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
A.Laaroussi
73
A.Laaroussi
74
A.Laaroussi
76
A.Laaroussi
78
GetRequest/GetResponse PDU
A.Laaroussi
79
SetRequest/GetResponse PDU
A.Laaroussi
80
A.Laaroussi
81
0 1 2 3 4 5 6
82
A.Laaroussi
83
A.Laaroussi
84
A.Laaroussi
85
A.Laaroussi
86
Groupe System
A.Laaroussi
87
Groupe Interfaces
A.Laaroussi
88
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
Station A
Routeur
Routeur
Station C
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
PROXY AGENT Agent 2 XYZ Agent 2 SNMP Station de gestion SNMP Agent 3 XYZ
A.Laaroussi
99
A.Laaroussi
101
SNMP V2
A.Laaroussi
102
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.
SMI SNMP v2
Extension du SMI v1 vers SMI v2. Ajout dautres types
ex: counter64
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
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
A.Laaroussi
115
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.
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
A.Laaroussi
125
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.
Dispatcher: son rle est la gestion du trafic SNMP. Il dispache les messages
selon les versions SNMP (v1, v2, ou v3).
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.
A.Laaroussi
129
A.Laaroussi
130
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.
Context
contextName=card1 contextName=card2
SNMP ENTITY
COMMAND RESPONDER APPLICATION
MIB
MIB
OTHER
A.Laaroussi
133
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)
A.Laaroussi
135
PDU SNMP v3
msgAuthoritativeEngineID : snmpEngineID qui fait autorit pour l'change. msgAuthoritativeEngineBoots : snmpEngineBoots 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.
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
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
MIB VIEWS
A.Laaroussi
143
A.Laaroussi
144
logique VACM
A.Laaroussi
145
SNMPv3 RFCs
SNMP ENTITY
SNMP APPLICATIONS
RFC 2572
MESSAGE PROCESSING SUBSYSTEM
A.Laaroussi
146