La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 SNMP Eric Garcia 2002 IUT GTR, Montbéliard Supervision Cours 3.

Présentations similaires


Présentation au sujet: "1 SNMP Eric Garcia 2002 IUT GTR, Montbéliard Supervision Cours 3."— Transcription de la présentation:

1 1 SNMP Eric Garcia 2002 IUT GTR, Montbéliard Supervision Cours 3

2 2 Références ? : Modèle de communication François Spies, Julien Bourgeois : Supervision de réseaux Mentor Technologies : Configuring SNMP in Cisco Routers

3 3 Plan SNMP : fonctionnement SNMP sous linux SNMP sur un routeur

4 4 Principe de SNMP

5 5 Définition Simple Network Management Protocol Adopté par tous les constructeurs Langage commun à tous les appareils réseaux modem, PC, routeur, commutateurs, etc. Architecture agent/superviseur

6 6 Rôle et architecture Quelle information est intéressante ? Comment nommer les éléments ? Comment obtenir et fixer des valeurs ? Architecture agent/superviseur Communication basées sur UDP Agent attend des ordres du superviseur Agent peut "désobéir" avec un trap

7 7 Les requêtes UDP, port 161 get-request : lecture get-next-request : lecture séquentielle set-request : écriture get-response : attente réponse UDP, port 162 trap : alarme récupération par le superviseur

8 8 Service de gestion Trois primitives de service GET : lecture d une valeur d objet géré SET : écriture d une valeur d objet géré GET-NEXT : lecture du « suivant » Une primitive de notification TRAP : un événement prédéfini

9 9 GET Question / Lecture /Réponse

10 10 Accès aux objets gérés Requête dun Gestionnaire lecture ou écriture, … paramètre : l oid (le type de l objet géré) si variable simple oid.0 si variable dans une table oid..….

11 11 Exemple de lecture

12 12 Le service GET Requête : une liste doid.0 Réponses : une liste de (oid,valeur) ou erreur

13 13 Le service SET Requête / Recherche / Mise à jour / Notification

14 14 Le service SET Requête : une liste de couple oid, valeur Réponse : la même liste ou erreur

15 15 Le service GET-NEXT Question / Recherche du suivant /Lecture /Réponse

16 16 Le service GET-NEXT Requête : un oid o Réponse : l oid et la valeur de l objet géré suivant o

17 17 Parcours

18 18 Parcours dune MIB

19 19 Parcours dune table

20 20 Parcours dune table

21 21 Parcours dune table

22 22 Parcours dune table

23 23 Notification Trap ou alarme

24 24 Les traps 7 différents types d'alarmes coldStart, warmStart linkDown, linkUp authetificationFailure egpNeighborLoss enterpriseSpecific 5 destinataires maximum

25 25 Les erreurs Champs : Error status Error index Codes d'erreur : 0 : noError 1 : tooBig 2 : noSuchName 3 : badValue 4 : readOnly 5 : genErr

26 26 Les droits daccès Les types de droits d'accès : read-only read-write write-only not-accessible Connaissance du nom de la communauté Restriction par sous-arbres de la MIB (MIB view)

27 27 La sécurité : communauté Relation N-N entre Gestionnaires et Agents Un agent doit pouvoir contrôler son accès suivant les Gestionnaires Solution de mots de passe Un Agent définit des noms de communautés (public) Toute requête de Gestionnaire contient un nom (public)

28 28 Profil de communauté Une communauté a une vue partielle de la MIB a des droits sur cette vue (mode d accès) droits à confronter avec ceux des objets gérés

29 29 Illustration

30 30 Plan SNMP : fonctionnement SNMP sous linux SNMP sur un routeur

31 31 Installation et configuration Installation Debian : client snmp : apt-get install snmp serveur snmp = agent snmp : apt-get install snmpd Fichiers de configuration Serveur /etc/snmp/snmpd.conf ~/snmpd.conf Client /usr/share/snmp/snmpconf-data/snmp.conf

32 32 Fichier de configuration ############################################################## ############# # snmpd.conf # # - created by the snmpconf configuration program ############################################################## ############# # SECTION: Access Control Setup # # This section defines who is allowed to talk to your running # snmp agent. #rocommunity: a SNMPv1/SNMPv2c read-only access community name #arguments: community [default|hostname|network/bits] [oid] rocommunity public #rwcommunity: a SNMPv1/SNMPv2c read-write access community name #arguments: community [default|hostname|network/bits] [oid] rwcommunity public...

33 33 Fichiers MIB Après linstallation du package snmp /usr/share/snmp/mibs fichiers des différentes parties de mib RFC1213-MIB.txt, RMON-MIB.txt… Fichiers ASN.1 accès en lecture écriture, types (SNMPV2-SMI.txt) explications (SNMPV2-MIB.txt)…

34 34 Fichiers MIB SNMPv2-SMI Fichier SNMPv2-SMI Définition de la partie de larbre de référence Définition des types utilisés dans cet arbre SNMPv2-SMI DEFINITIONS ::= BEGIN -- the path to the root org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1 dod OBJECT IDENTIFIER ::= { org 6 } internet OBJECT IDENTIFIER ::= { dod 1 } directory OBJECT IDENTIFIER ::= { internet 1 } mgmt OBJECT IDENTIFIER ::= { internet 2 } mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } transmission OBJECT IDENTIFIER ::= { mib-2 10 } experimental OBJECT IDENTIFIER ::= { internet 3 } private OBJECT IDENTIFIER ::= { internet 4 } enterprises OBJECT IDENTIFIER ::= { private 1 }...

35 35 Fichiers MIB Vérification dune requête avant son émission impossible denvoyer un SET avec un mauvais type MIB présente sur le gestionnaire et la ressource (ceci nest pas obligatoire mais semble être la solution la plus souvent utilisée) Ouvrir SNMPv2-MIB

36 36 Fichiers MIB

37 37 snmpwalk Parcours de la MIB snmpwalk –v 1 –c public system.sysDescr.0 = Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-SY-M), Version 12.0(5)T, RELEASE SOFTWARE (fc1) Copyright (c) by cisco Systems, Inc. Compiled Fri 23-Jul-99 06:04 by kpma system.sysObjectID.0 = OID: enterprises system.sysUpTime.0 = Timeticks: ( ) 66 days, 13:38:02.78 system.sysContact.0 = system.sysName.0 = moi system.sysLocation.0 = system.sysServices.0 = 78 system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00 interfaces.ifNumber.0 = 4 interfaces.ifTable.ifEntry.ifIndex.1 = 1...

38 38 Snmpwalk : syntaxe Utilise la requête SNMP GET-NEXT pour parcourir larbre dune entité réseau Un OID peut être donné en ligne de commande pour spécifier la portion de larbre devant être parcourue snmpwalk -Os -c public -v 1 zeus system will retrieve all of the variables under system: sysDescr.0 = STRING: "SunOS zeus.net.cmu.edu 4.1.3_U1 1 sun4m" sysObjectID.0 = OID: enterprises.hp.nm.hpsystem sysUpTime.0 = Timeticks: ( ) 17 days, 23:19:05 sysContact.0 = STRING: "" sysName.0 = STRING: "zeus.net.cmu.edu" sysLocation.0 = STRING: "" sysServices.0 = INTEGER: 72

39 39 snmpget Demande la valeur dune variable correspondant à lOID donné en ligne de commande snmpget –v 1 –c public ou snmpget –v 1 –c public system.sysDescr.0 system.sysDescr.0 = Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-SY-M), Version 12.0(5)T, RELEASE SOFTWARE (fc1) Copyright (c) by cisco Systems, Inc. Compiled Fri 23-Jul-99 06:04 by kpma snmpget -v 1 -c public localhost IF-MIB::ifNumber.0 = INTEGER: 2

40 40 Snmpget : syntaxe et erreurs Différence décriture au niveau des raccourcis dOID en fonction des version du client SNMP Paramétrage pour ne pas à avoir à taper tous les numéros jusquà MIBII ( ) snmpget -v1 -c public localhost system.sysUpTime system.sysContact.0 Error in packet Reason: (noSuchName) There is no such variable name in this MIB. This name doesn't exist: system.sysUpTime system.sysContact.0 = STRING:

41 41 snmpset Met à jour la valeur dune variable correspondant à lOID donné en ligne de commande Commande snmpset -v 1 -c public interfaces.ifTable.ifEntry.ifAdminStatus.2 i 1 Réponse interfaces.ifTable.ifEntry.ifAdminStatus.2 = up(1)

42 42 Snmpset : syntaxe Types i INTEGERn NULLOBJ u UNSIGNEDo OBJID s STRINGt TIMETICKS x HEX STRINGa IPADDRESS d DECIMAL STRING b BITS Exemple snmpset -c private -v 1 test-hub system.sysContact.0 s ip.ipforwarding.0 = 2 will set the variables sysContact.0 and ipForwarding.0: system.sysContact.0 = STRING: ip.ipForwarding.0 = INTEGER: not-forwarding(2)

43 43 snmpcmd man snmpcmd snmpcmd [-h|-H|-V] [-v (1 | 2c | 3) ] [-O ] [-I ] [-P ] [-m mibs] [-M mibdirs] [-d] [-D ] [-r retries] [-t timeout] [-p port] [-T UDP|TCP] [-c community] [-e engineid] [-Z boots time] [-n contextname] [-l seclevel] [-u secname] [-a authproto][-A authpasswd][-x privproto][-X priv- passwd] agent [community] commandparams

44 44 Sécurité Des tests effectués à l'université de OULU mettent en évidence que de nombreuses vulnérabilités ( débordement de mémoire, chaîne de format,...) existent dans les routines de décodage et de traitement des messages SNMP. utiliser les capacités de filtrage que possèdent que possèdent certains agent SNMP (ACL) ne pas utiliser les noms de communautés positionnés lors de l'installation par défaut (public …) filtrer les ports 161/udp et 162/udp utilisés par le protocole SNMP V1 au niveau du garde-barrière afin d'empêcher l'exploitation de ces vulnérabilités depuis l'Internet

45 45 Différentes versions 3 versions du protocole SNMP : SNMPv1, SNMPv2 et SNMPv3. La version 1 est encore la plus utilisée. La version 2 est beaucoup plus complexe que la version 1 elle contient un niveau hiérarchique dadministration, ce qui permet davoir un administrateur central et de petits NMS dans le réseau. elle incorpore aussi un niveau plus élevé de sécurité, elle contient une gamme de messages derreurs plus vaste, elle utilise un nouveau type de tables MIB, les MIB II, qui contiennent plus déléments.

46 46 Différentes versions La version 2 na cependant pas remplacé la version 1 du protocole, pas un standard complet (Full Standard) la version 1 est simple et fonctionne très bien. La version 3 pour sa part nest pas encore au point devrait éventuellement remplacer la version 1 Cette version comprend : un module de sécurité plus élevée un module de traitements de messages des modules dapplication et du répartiteur de paquets elle permet aussi dinteragir avec les anciennes versions.

47 47 Défauts / Avantages SNMP V1 authentification simpliste car le nom de la communauté circule en clair sur le réseau. consultation des tables fastidieuse SNMP V2 Mécanisme d'authentification incompatible avec SNMP v1 Peut s'appuyer sur IP, IPX, OSI Primitives d'interrogation de tables Encore peu utilisé Sécurité : notion de Party (échange) 1 adresse réseau, mot de passe, protocole de chiffrement, l'agent restreint l'accès à une partie de l'arborescence, une requête a une durée de vie limitée.

48 48 Options V2 et V3 -e engineid sets the authoritative(security) engineID used for SNMP v3 Request messages. This is the engineID of the agent or proxy (e.g., ). will be discovered if not supplied) -n contextname sets the destination contextName used for SNMP v3 messages. Default contextName is the empty string "". -l seclevel sets the securityLevel used for SNMP v3 messages (noAuthNoPriv|authNoPriv|authPriv). Appropriate pass phrase(s) must provided when using any level higher than noAuthNoPriv. -u secname sets the securityName used for authenticated SNMP v3 messages.

49 49 Options V2 et V3 -a authproto sets the authentication protocol (MD5|SHA) used for authenticated SNMP v3 messages. -A authpasswd sets the authentication pass phrase used for authenticated SNMP v3 messages. -X privpasswd sets the privacy pass phrase used for encrypted SNMP v3 messages.

50 50 MIB Privée

51 51 Snmpwalk privé snmpwalk -Os -c public -v 1 –m all zeus private enterprises.cisco.local = "..System Bootstrap, Version 12.0(3)T, RELEASE SOFTWARE (fc1)..Copyright (c) 1999 by cisco Systems, Inc..." enterprises.cisco.local = "bus error at PC 0x266BBAA, address 0x " enterprises.cisco.local = "LaCultureDeLaBettrave" enterprises.cisco.local = "univ-fcomte.fr"... enterprises.cisco.ciscoMgmt.ciscoImageMIB.ciscoImageMIBObjects.ciscoImageTable.ciscoImageEntry.ciscoImageString.3 = CW_FAMILY$C1600$ enterprises.cisco.ciscoMgmt.ciscoImageMIB.ciscoImageMIBObjects.ciscoImageTable.ciscoImageEntry.ciscoImageString.4 = CW_FEATURE$BASIC-IP PLUS$ enterprises.cisco.ciscoMgmt.ciscoImageMIB.ciscoImageMIBObjects.ciscoImageTable.ciscoImageEntry.ciscoImageString.5 = CW_VERSION$12.0(5)T, $

52 52 MIB Privée Cisco = branche 9 de entreprises (voir CISCO-SMI) CISCO-SMI DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-IDENTITY, enterprises FROM SNMPv2-SMI; cisco MODULE-IDENTITY LAST-UPDATED " Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO DESCRIPTION "Initial version of this MIB module." ::= { enterprises 9 }-- assigned by IANA

53 53 MIB Privée snmpget -v 1 -c public -m all system.sysObjectID.0 = OID: enterprises CISCO-PRODUCTS-MIB.my ajoutée dans /usr/share/snmp/mibs (branche 1 de cisco) snmpget -v 1 -c public -m all system.sysObjectID.0 = OID: enterprises.cisco.ciscoProducts.cisco1605

54 54 MIB Privée Cisco MIB privée = morceau dune branche dune entreprise Attention aux erreurs si une partie de branche est utilisée sans avoir importer la partie qui permet de la relier à la racine cisco-bus.mib cisco-lecs.mib cisco-les.mib lane-client.mib cisco-vlan-bridge.mib atm-forum.mib Fichier cisco-smi.mib Définition de la partie CISCO de larbre

55 55 Cisco.com et MIBs Pour télécharger des MIBs pour des plate-formes particulières, utiliser la MIB Locator Pour accéder à la MIB Locator = compte chez Cisco.com : MIBs Courantes : liste, informations par plate-forme, téléchargement :

56 56 Cisco MIB Locator

57 57 Larbre de référence

58 58 MIB Privée QoS Fichier MIB CISCO-QUEUE-MIB ciscoQueueObjects OBJECT IDENTIFIER ::= { ciscoQueueMIB 1 } ciscoQueueTraps OBJECT IDENTIFIER ::= { ciscoQueueMIB 2 } ciscoQueueConformance OBJECT IDENTIFIER ::= { ciscoQueueMIB 3 } CQAlgorithm ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The type of queuing algorithm used on the interface." SYNTAX INTEGER { fifo(1),-- First In First Out priority(2),-- Priority Queuing custom(3),-- Custom Queuing weightedFair(4)-- Weighted Fair Queuing }...

59 59 MIB Privée QoS snmpwalk -v 1 -c public -m all internet.private enterprises.cisco.local = "..System Bootstrap, Version 12.0(3)T, RELEASE SOFTWARE (fc1)..Copyright (c) 1999 by cisco Systems, Inc enterprises.cisco.ciscoMgmt.ciscoQueueMIB.ciscoQueueObjects.cQIfTable.c QIfEntry.cQIfQType.1 = fifo(1) enterprises.cisco.ciscoMgmt.ciscoQueueMIB.ciscoQueueObjects.cQIfTable.c QIfEntry.cQIfQType.2 = fifo(1) enterprises.cisco.ciscoMgmt.ciscoQueueMIB.ciscoQueueObjects.cQIfTable.c QIfEntry.cQIfQType.3 = weightedFair(4)

60 60 Plan SNMP : fonctionnement SNMP sous linux SNMP sur un routeur

61 61 Configurer les accès au routeur Activer lagent SNMP du routeur RO, RW Configuration dune community string équivalent à un mot de passe public, private, secret… snmp-server community public ro snmp-server community ourCommStr ro

62 62 Sécurité : mot de passe Utilisation possible de serveurs centralisés de mots de passes (SNMPv2 ou v3) XTACACS TACACS+ Voir cours de sécurité tacacs-server host A.B.C.D enable use-tacacs tacacs-server authenticate enable...

63 63 Sécurité : access list Éviter les noms de communauté classiques pour un agent RW Le paramètre 60 restreint laccès en écriture aux machines autorisées par lACL 60 ici deux machines dites gestionnaires possibilité de wildcard aux machines dun sous-réseau snmp-server community topsecret rw 60 access-list 60 permit access-list 60 permit

64 64 Sécurité : view Paramètre view = restreint laccès à une partie de la MIB Création de la vue noRouteTable avec les 4 dernières lignes snmp-server community hideit ro view noRouteTable snmp-server view noRouteTable internet included snmp-server view noRouteTable ip.21 excluded snmp-server view noRouteTable ip.22 excluded snmp-server view noRouteTable ifMIB excluded

65 65 Traps : configuration Configuration dalarmes envoyées à linitiative de lagent vers une ou plusieurs stations dadministration dédiées différentes alarmes en fonction de lIOS utilisé snmp-server enable traps snmp-server enable traps frame-relay snmp-server enable traps envmon temperature

66 66 Traps : syslogd sur PC Configuration de la ou des stations dadministration dédiées à la réception des alarmes 1) reçoit toutes les alarmes 2) reçoit les traps snmp et bgp et les traps snmp et frame-relay snmp-server host public snmp-server host public snmp bgp snmp-server host public snmp frame-relay Configuration sur la station NMS Lancer le démon syslogd sur la station pour pouvoir utiliser les fichiers de logs

67 67 Les types dalarmes authentication : échecs dauthentification pour SNMPv1 = mauvaise community string Pour v2 et v3 mauvais mot de passe linkup : activation dun lien linkdown : désactivation dun lien coldstart : réinitialisation du périphérique avec possibilité de modification de la configuration de lagent warmstart : réinitialisation du périphérique sans modification de la configuration de lagent

68 68 Traps : versions dIOS ReleaseModification 11.3La commande snmp-server enable traps snmp authentication à été introduite à la place de snmp-server trap-authentication 12.1(3)TLes traps suivantes ont été ajoutées : linkup linkdown coldstart 12.1(5)TAjout de la commande warmstart

69 69 Autres commandes Permettre le redémarrage dun routeur par une requête SNMP utilisé par le logiciel CiscoWork lors de téléchargement dun nouvel IOS snmp-server system-shutdown Champs souvent non renseignés snmp-server contact XXXX snmp-server location YYYY

70 70 Bonus : Host et DNS Host table utile même si le DNS est configuré : risques de pannes mettre les routeurs les plus importants ou les noms des serveurs TFTP pour les fichiers de conf. dans cette table ip host new_york_router a.b.c.d e.f.g.h i.j.k.l ip host chicago_router a.b.c.g m.n.o.p DNS ip domain-name univ-fcomte.fr ip name-server ip name-server no ip domain-lookup : pour invalider la rechetrche dun DNS

71 71 Bonus : Accès Telnet Activer laccès en telnet au routeur on peut améliorer un peu la sécurité avec les ACL access-list 1 permit a.b.c access-list 1 permit a.b.g line vty 0 4 access-class 1 in login password xxx : password telnet exec-timeout 5 0 : logout auto si inactivité 5 minutes : (10 minutes par défaut) : exec-timeout 0 0 si on nen veut pas

72 72 Exemple de config access-list 60 permit a.b.c.d access-list 60 permit e.f.g.h access-list 60 deny snmp-server community password1 RO snmp-server community password2 RO 60 snmp-server community password3 RW 60 snmp-server system-shutdown snmp-server chassis-id YYYY snmp-server packetsize 4000 snmp-server host a.b.c.d snmp-server host a.b.c.g snmp-server contact XXXX snmp-server location YYYY snmp-server trap-authentication

73 73 Configurer lagent sur un AP

74 74 Configurer lagent sur un AP

75 75 Snmpwalk snmpwalk sur un Acces Point Cisco Aironet 350 ~]$ snmpwalk -v 1 -c root system system.sysDescr.0 = Cisco 350 Series AP system.sysObjectID.0 = OID: enterprises system.sysUpTime.0 = Timeticks: ( ) 17:49:56.00 system.sysContact.0 = Aironet Wireless Communications, Inc. system.sysName.0 = AP350-58b47c system.sysLocation.0 = Besancon system.sysServices.0 = 79


Télécharger ppt "1 SNMP Eric Garcia 2002 IUT GTR, Montbéliard Supervision Cours 3."

Présentations similaires


Annonces Google