INTRODUCTION AU PROTOCOLE SNMP Simple Network Management Michal

  • Slides: 30
Download presentation
INTRODUCTION AU PROTOCOLE SNMP ( Simple Network Management ) Michaël VOLLERIN – Introduction au

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 Ø

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

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

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

Architecture de SNMP Michaël VOLLERIN – Introduction au protocole SNMP 5

Le modèle OSI Michaël VOLLERIN – Introduction au protocole SNMP 6

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

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

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

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 à

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

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)

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

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

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

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

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

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

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

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

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

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 :

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

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

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

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é

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

La trame de SNMPv 3 Michaël VOLLERIN – Introduction au protocole SNMP 27

Synthèse Michaël VOLLERIN – Introduction au protocole SNMP 28

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

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

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