INTRODUCTION AU PROTOCOLE SNMP Simple Network Management Michal






























- Slides: 30
INTRODUCTION AU PROTOCOLE SNMP ( Simple Network Management ) Michaël VOLLERIN – Introduction au protocole SNMP 1
Sommaire Ø Qu’est ce que le protocole SNMP ? Ø Architecture de SNMP Ø SNMPv 1 et SNMPv 2 c Ø SNMPv 3 : 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 Ø SNMPv 1 (ancien standard) : Première version apparue en 1989. Ø SNMPsec (historique): Ajout de sécurité par rapport à la version 1 Ø SNMPv 2 p (historique) : Ajout de nouveau type de données. Ø SNMPv 2 c (expérimental) : Amélioration des opérations du protocole Ø SNMPv 2 u (expérimental) : Implémente la version 2 c en ajoutant la sécurité utilisateurs. Ø SNMPv 2* (expérimental) : Combinaison des meilleures parties de v 2 u et v 2 p. Ø SNMPv 3 (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 : ü Get. Request : recherche d’une variable sur un agent. ü Get. Next. Request : recherche de la variable suivante. ü Get. Bulk. Request : recherche d’un groupe de variables Ø Envoie d’informations ü Trap : détection d’un incident Ø Modification de valeurs : ü Set. Request : permet de changer la valeur d’une variable d’un agent. A titre d’information, d’autres requêtes existent (ex: Inform. Request…) 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 : Get. Response : renvoie la ou les valeurs souhaitées Ø En cas d’erreur : Get. Response mais accompagné d’un No. Such. Object Michaël VOLLERIN – Introduction au protocole SNMP 9
MIB (Management Information Base) Ø Ensemble 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 nbe. Processus(2) +-- -R-- String current. Date(3) Accès à la variable realease : . 1. 3. 6. 1. 4. 1. 9697. 1. 1. 0 enterprises Convention 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 if. Speed : . 1. 3. 6. 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, Display. String …) Ø 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 fichier ASN. 1 ACCELANCE-MIB DEFINITIONS : : = BEGIN … accelance MODULE-IDENTITY … : : = { enterprises 9697 } Rattachement de la branche Accelance à la branche enterprises via l’OID 9697 Affectation de la branche general à la branche accelance via l’OID 1 general OBJECT IDENTIFIER : : = { accelance 1 } … release OBJECT-TYPE SYNTAX Display. String MAX-ACCESS read-only Définition de la variable realease STATUS current & DESCRIPTION "Type d’OS utilisé" : : = { general 1 } Rattachement de celle-ci à la branche general Ø 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 SNMPv 1 et SNMPv 2 c 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 SNMPv 1 – SNMPv 2 c Ø L’authentification Ø Le cryptage du PDU Ø Le manque de confidentialité En un mot : LA SECURITE Michaël VOLLERIN – Introduction au protocole SNMP 18
SNMPv 3 : La sécurité avant tout Michaël VOLLERIN – Introduction au protocole SNMP 19
Architecture d’un agent SNMPv 3 Michaël VOLLERIN – Introduction au protocole SNMP 20
Le modèle de sécurité de SNMPv 3 Ø 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’authentification Ø Nous avons deux méthodes à notre disposition : ü HMAC-MD 5 -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 SNMPv 3 Michaël VOLLERIN – Introduction au protocole SNMP 27
Synthèse 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 SNMPv 1 & SNMPv 2. Ceci a été corrigé par SNMPv 3 avec les systèmes de sécurité : ü User Security Model (USM) ü View Access Control Model (VACM) Ø Depuis mars 2002, le standard est SNMPv 3 mais SNMPv 1 encore beaucoup utilisé. Ø Conseil : Migrer vers la version 3 pour des raisons de sécurité Michaël VOLLERIN – Introduction au protocole SNMP 30