Vous êtes sur la page 1sur 30

INTRODUCTION

AU
PROTOCOLE SNMP
( Simple Network
Management )

Michaël VOLLERIN – Introduction au protocole SNMP 1


Sommair
e
 Qu’est ce que le protocole SNMP ?

 Architecture de SNMP

 SNMPv1 et SNMPv2c

 SNMPv3 : La sécurité avant tout

 Synthèse

Michaël VOLLERIN – Introduction au protocole SNMP 2


Qu’est ce que le protocole
SNMP ?

 SNMP est un protocole de gestion réseaux proposé


par l’IETF (Internet Engineering Task Force)

 Il s’appuie sur 4 composantes principales :


 Des agents
 Un ou plusieurs managers
 Une MIB (Management Information Base)
 Des trames

Michaël VOLLERIN – Introduction au protocole SNMP 3


Les différentes versions de
SNMP
 SNMPv1 (ancien standard) : Première version apparue en 1989.
 SNMPsec (historique): Ajout de sécurité par rapport à la
version 1
 SNMPv2p (historique) : Ajout de nouveau type de données.
 SNMPv2c (expérimental) : Amélioration des opérations du
protocole
 SNMPv2u (expérimental) : Implémente la version 2c en
ajoutant la sécurité utilisateurs.
 SNMPv2* (expérimental) : Combinaison des meilleures parties
de v2u et v2p.
 SNMPv3 (nouveau standard) : La sécurité avant tout.

Michaël VOLLERIN – Introduction au protocole SNMP 4


Architecture de
SNMP

Michaël VOLLERIN – Introduction au protocole SNMP 5


Le modèle
OSI

Michaël VOLLERIN – Introduction au protocole SNMP 6


La remontée

d’informations
Nous avons le choix entre deux méthodes complètement
différentes mais qui peuvent être complémentaires :
 Le polling
 L’émission de
trap

Michaël VOLLERIN – Introduction au protocole SNMP 7


Les requêtes

SNMP
Recherche d’informations :
 GetRequest : recherche d’une variable sur un agent.

 GetNextRequest : recherche de la variable suivante.

 GetBulkRequest : recherche d’un groupe de variables

 Envoie d’informations
 Trap : détection d’un incident

 Modification de valeurs :
 SetRequest : permet de changer la valeur d’une variable d’un
agent.
A titre d’information, d’autres requêtes existent (ex:
InformRequest…) mais ne seront pas abordées dans
cette présentation.
Michaël VOLLERIN – Introduction au protocole SNMP 8
Les réponses SNMP

Une seule réponse existe.


Elle est différente s’il y a une erreur ou non.

 Aucune erreur :
GetResponse : renvoie la ou les valeurs souhaitées

 En cas d’erreur :
GetResponse mais accompagné d’un NoSuchObject

Michaël VOLLERIN – Introduction au protocole SNMP 9


MIB (Management
Information
 Ensemble Base)
d’objets structurés de manière arborescente
 Accès à un objet via un Object Identifier (OID)
 Deux MIB normalisées: MIB I et MIB II
 Références des informations réseau (interfaces, ip …)
 MIB privée sous le nœud enterprises
 Une MIB n’est pas une base de données mais une
« dispatch table »

Michaël VOLLERIN – Introduction au protocole SNMP 10


Exemple d’accès à un objet
d’une MIB
 Objet de type simple (une seule variable)
+--accelance(9697)
+--general(1)
+-- -R-- String release(1)
+-- -R-- INTEGER nbeProcessus(2)
+-- -R-- String currentDate(3)

Accès à la variable realease :


Convention
.1.3.6.1.4.1.9697.1.1.0
enterprises
Information souhaitée

Numéro défini par IANA


Correspond à l’entreprise Accelance

Michaël VOLLERIN – Introduction au protocole SNMP 11


Exemple d’accès à un objet d’une
MIB (2)
 Objet complexe (ex : Tableau)

Accès à la variable ifSpeed :


.1.3.6.1.2.1.2.2.1.5.x Index

interfaces

Information souhaitée

Michaël VOLLERIN – Introduction au protocole SNMP 12


ASN.1 (Abstrat Syntax
Notation One )
 Standard ISO (ISO 8824) qui définit plusieurs types
autorisés dans SNMP (ex : INTEGER, DisplayString …)

 Effectue la correspondance entre un OID et un nom

 ASN.1 se localise au niveau de la couche Présentation


dans le modèle OSI.

Michaël VOLLERIN – Introduction au protocole SNMP 13


Exemple de fichier
ASN.1 Identification d’un
ACCELANCE-MIB DEFINITIONS ::= BEGIN fichier ASN.1

accelance MODULE-IDENTITY Rattachement de la branche
… Accelance à la branche enterprises via
::= { enterprises 9697 } l’OID 9697

general OBJECT IDENTIFIER ::= { accelance 1 }


Affectation de la branche
general à la branche

accelance via l’OID 1
release OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only Définition de la variable realease
STATUS current &
DESCRIPTION
Rattachement de celle-ci à la
"Type d’OS utilisé"
branche general
::= { general 1 }

 Désormais nous pouvons accéder à la variable release de la manière suivante :


.iso.dod.internet.private.enterprises.accelance.general.release.0

Michaël VOLLERIN – Introduction au protocole SNMP 14


Présentation de
SNMPv1 et SNMPv2c

Michaël VOLLERIN – Introduction au protocole SNMP 15


La
Trame

Michaël VOLLERIN – Introduction au protocole SNMP 16


Détail du PDU (Packet Data
Unit)

Michaël VOLLERIN – Introduction au protocole SNMP 17


Les faiblesses de SNMPv1 –
SNMPv2c
 L’authentification

 Le cryptage du PDU

 Le manque de confidentialité

En un mot :

LA SECURITE
Michaël VOLLERIN – Introduction au protocole SNMP 18
SNMPv3 : La sécurité
avant tout

Michaël VOLLERIN – Introduction au protocole SNMP 19


Architecture d’un agent
SNMPv3

Michaël VOLLERIN – Introduction au protocole SNMP 20


Le modèle de sécurité de
SNMPv3
 Il est basé sur deux concepts :

 USM ( User-based Security Model )

 VACM ( View-based Access Control Model )

Michaël VOLLERIN – Introduction au protocole SNMP 21


USM (User Security Model)

Ce module de sécurité se compose en 3 opérations :

 L’authentification

 Le cryptage

 L’estampillage du temps

Michaël VOLLERIN – Introduction au protocole SNMP 22


L’authentificat

ion
Nous avons deux méthodes à notre disposition :
 HMAC-MD5-96
 HMAC-SHA-96
(HMAC = Keyed-Hashing for Message Authentication)

Michaël VOLLERIN – Introduction au protocole SNMP 23


Le cryptage du
PDU
 A l’heure actuelle un seul mécanisme de cryptage est
proposé :
 DES (Data Encryption Standard)

Émetteur Récepteur

Michaël VOLLERIN – Introduction au protocole SNMP 24


L’estampillage du
temps

 Trame effective sur un temps restreint


 S’il y a une différence supérieur à 150 ms entre
la date de création de la trame et son traitement,
elle est détruite. Cette donnée est paramétrable.
 Empêche la réutilisation d’une trame (inhibe le système
contre le « replay attack »)

Michaël VOLLERIN – Introduction au protocole SNMP 25


VACM (View Access Control
Model)

 Permet le contrôle d’accès au MIB.


 Possibilité de restriction d’accès en lecture et/ou
écriture pour un groupe ou par utilisateur.

Michaël VOLLERIN – Introduction au protocole SNMP 26


La trame de
SNMPv3

Michaël VOLLERIN – Introduction au protocole SNMP 27


Synthès
e

Michaël VOLLERIN – Introduction au protocole SNMP 28


Le moteur
SNMP

Schema pasge 73. Si possible


faire un mix avec 76

Michaël VOLLERIN – Introduction au protocole SNMP 29


Conclusion

 Manque de sécurité évidente dans SNMPv1 & SNMPv2.


Ceci a été corrigé par SNMPv3 avec les systèmes de
sécurité :
 User Security Model (USM)
 View Access Control Model (VACM)

 Depuis mars 2002, le standard est SNMPv3 mais SNMPv1


encore beaucoup utilisé.

 Conseil : Migrer vers la version 3 pour des raisons de


sécurité

Michaël VOLLERIN – Introduction au protocole SNMP 30