510 likes | 897 Views
INTRODUCTION AU PROTOCOLE SNMP ( Simple Network Management ). Sommaire. Qu’est ce que le protocole SNMP ? Architecture de SNMP SNMPv1 et SNMPv2c SNMPv3 : La sécurité avant tout Synthèse. Qu’est ce que le protocole SNMP ?.
E N D
INTRODUCTION AU PROTOCOLE SNMP ( Simple Network Management ) Michaël VOLLERIN – Introduction au protocole SNMP
Sommaire • 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
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
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
Architecture de SNMP Michaël VOLLERIN – Introduction au protocole SNMP
Le modèle OSI Michaël VOLLERIN – Introduction au protocole SNMP
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
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
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 : • GetResponsemais accompagné d’un NoSuchObject Michaël VOLLERIN – Introduction au protocole SNMP
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
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 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) Michaël VOLLERIN – Introduction au protocole SNMP
Accès à la variable ifSpeed : .1.3.6.1.2.1.2.2.1.5.x Index interfaces Information souhaitée Exemple d’accès à un objet d’une MIB (2) • Objet complexe (ex : Tableau) Michaël VOLLERIN – Introduction au protocole SNMP
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
Identification d’un fichier ASN.1 ACCELANCE-MIB DEFINITIONS ::= BEGIN … accelance MODULE-IDENTITY … ::= { enterprises 9697 } general OBJECT IDENTIFIER ::= { accelance 1 } … release OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Type d’OS utilisé" ::= { general 1 } Rattachement de la branche Accelance à la branche enterprises via l’OID 9697 Définition de la variable realease & Rattachement de celle-ci à la branche general Exemple de fichier ASN.1 Affectation de la branche general à la branche accelance via l’OID 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
Présentation de SNMPv1 et SNMPv2c Michaël VOLLERIN – Introduction au protocole SNMP
La Trame Michaël VOLLERIN – Introduction au protocole SNMP
Détail du PDU (Packet Data Unit) Michaël VOLLERIN – Introduction au protocole SNMP
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
SNMPv3 : La sécurité avant tout Michaël VOLLERIN – Introduction au protocole SNMP
Architecture d’un agent SNMPv3 Michaël VOLLERIN – Introduction au protocole SNMP
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
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
L’authentification • 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
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
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
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
La trame de SNMPv3 Michaël VOLLERIN – Introduction au protocole SNMP
Synthèse Michaël VOLLERIN – Introduction au protocole SNMP
Le moteur SNMP Schema pasge 73. Si possible faire un mix avec 76 Michaël VOLLERIN – Introduction au protocole SNMP
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