Vous êtes sur la page 1sur 28

Supervision d’infrastructure réseaux

« sous Nagios »

INTRODUCTION
AU PROTOCOLE SNMP
( Simple Network Management )
Supervision basée sur SNMP

Simple Network Management Protocol

Protocole de communication permettant à 2
entités réseaux d'échanger des informations sur
leurs états
Protocoles de gestion réseau
SNMP – protocole de gestion réseau simple

Standard de l’industrie, avec des centaines d’outils pour
l’exploiter

Présent sur n’importe quel équipement réseau digne de ce
nom

Débit du réseau, erreurs, charge de l’UC, température...

Environnements UNIX et Windows également

Espace disque, processus en cours d’exécution...
SSH et telnet
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
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) : Privilégie La sécurité.
Architecture de 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
polling
Emission de trap
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.
Les réponses SNMP

Une seule réponse existe.


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 accompagné d’un NoSuchObject
La trame (SNMPv1 et SNMPv2c)
Détail du PDU (Packet Data Unit)
(SNMPv1 et SNMPv2c)

Les faiblesses de SNMPv1 – SNMPv2c Donc la sécurité


L’authentification → Migrer vers la version 3
Le cryptage du PDU pour des raisons de sécurité
Le manque de confidentialité
Architecture d’un agent SNMPv3

Le modèle de sécurité de
SNMPv3 basé sur deux concepts :
USM ( User-based Security Model )
VACM ( View-based Access Control Model )
USM (User Security Model)

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


 L’authentification
 Le cryptage du PDU : DES (Data Encryption Standard)

 L’estampillage du temps : Trame effective sur un


temps restreint

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.
La trame de
SNMPv3
MIB (Management Information Base) base
d'information pour la gestion du réseau

→ Ensemble d'informations structuré sur une entité réseau, par


exemple un routeur, un commutateur ou un serveur.
→ Ces informations peuvent être récupérées, ou parfois modifiées, par
un protocole comme SNMP
→ Cet Ensemble d’objets est structuré de manière arborescente : La
structure de la MIB est hiérarchique : les informations sont regroupées
en arbre.
→ Chaque information a un object identifier (OID), une suite de chiffres
séparés par des points, qui l'identifie de façon unique et un nom,
indiqué dans le document qui décrit la MIB.
Exple : 1.3.6.1.2.1.2.2.1.2 est l'object identifier ifDescr : chaîne
de caractères décrivant une interface réseau (eth0 sur Linux ou
Ethernet0 sur un routeur Cisco).
→ Accès à un objet se fait via l’Object Identifier (OID)
→ Deux MIB normalisées: MIB I et MIB II (parmi les + connue)
→ MIB privée sous le nœud entreprises
→ Une MIB est une « dispatch table » : En informatique, une
table de répartition est une table de pointeurs vers des
fonctions ou des méthodes.
MIB Standards
→ Les principales informations concernant les MIBs standards sont contenues dans les
RFC 1157/1155/1213.

MIB I : Contient les variables globales telles que le nom de l’équipement, sa position
géographique, le nombre de paquets transmis, etc..

MIB II : Contient les informations de la MIB 1 et toutes les variables relatives à SNMP.

Les objets des MIBs standards sont attachés à la branche mib-2 de l’arbre et ils sont
définis et mis à jours par les groupes de travail correspondant aux différentes
technologies.

MIB Proprietaires

→ sont attachés à la branche private de l’arbre


→ sont définis par les constructeurs d’équipements. Chaque constructeur doit faire la
demande d’un numéro d’entreprise lui permettant de s’insérer dans l’arbre global des
MIBs.
→ LoriotPro possède sa propre entrée llecointe avec le numéro 7291.

Les constructeurs ayant des spécificités et voulant élargir la capacité de management


de leurs équipements ont développé leurs propres MIBs.

Toutes les MIBs constructeur sont accessibles par le chemin :

iso(1).org(3).dod(6).internet(1).private(4).enterprises.xxx
Structure de la MIB
ASN.1 (Abstrat Syntax Notation
LesOne ) décrites en utilisant ASN.1
MIB sont
→ 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.
Par exemple, ifDescr est décrite par :

ifDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual string containing information about the
interface. This string should include the name of
the manufacturer, the product name and the version
of the hardware interface."
::= { ifEntry 2 }
.iso.dod.internet.private.enterprises.accelance.general.release.
0
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
Exemple d’une partie d’une MIB d’un Poste DELL T5500

iso.3.6.1.4.1.2021.13.16.2.1.2.4 = STRING: "Ambient"


iso.3.6.1.4.1.2021.13.16.2.1.2.5 = STRING: "Core 0"
iso.3.6.1.4.1.2021.13.16.2.1.2.6 = STRING: "Core 1"
iso.3.6.1.4.1.2021.13.16.2.1.2.7 = STRING: "Core 2"
iso.3.6.1.4.1.2021.13.16.2.1.2.8 = STRING: "Core 3"
iso.3.6.1.4.1.2021.13.16.2.1.3.4 = Gauge32: 28000
iso.3.6.1.4.1.2021.13.16.2.1.3.5 = Gauge32: 53000
iso.3.6.1.4.1.2021.13.16.2.1.3.6 = Gauge32: 50000
iso.3.6.1.4.1.2021.13.16.2.1.3.7 = Gauge32: 54000
iso.3.6.1.4.1.2021.13.16.2.1.3.8 = Gauge32: 51000
iso.3.6.1.4.1.2021.13.16.3.1.1.1 = INTEGER: 1
iso.3.6.1.4.1.2021.13.16.3.1.1.2 = INTEGER: 2
iso.3.6.1.4.1.2021.13.16.3.1.1.3 = INTEGER: 3
iso.3.6.1.4.1.2021.13.16.3.1.2.1 = STRING: "Processor Fan"
iso.3.6.1.4.1.2021.13.16.3.1.2.2 = STRING: "Motherboard Fan"
iso.3.6.1.4.1.2021.13.16.3.1.2.3 = STRING: "Chipset Fan"
iso.3.6.1.4.1.2021.13.16.3.1.3.1 = Gauge32: 873
iso.3.6.1.4.1.2021.13.16.3.1.3.2 = Gauge32: 1208
iso.3.6.1.4.1.2021.13.16.3.1.3.3 = Gauge32: 2881
LE SNMP et Nagios : Mise en œuvre

- Activer l’agent SNMP dans l’équipement à superviser et le


configurer en indiquant notamment :
Read Community
Set Community
System Name
System Location
System Contact
...
- A partir d’un poste client Linux par exemple, utiliser les
commandes snmp (snmpwalk) pour récupérer la MIB de
l’équipement à superviser
- Récupérer les OID des paramètres que l’on désire superviser
- Configurer Nagios pour leurs prise en charge en utilisant le
plugin check_snmp
Définition d’un service utilisant check_snmp

define service{
use generic-service
host_name ServeurNagios
service_description Localisation
check_command check_snmp!-C public -o .1.3.6.1.2.1.1.6.0
}

Vous aimerez peut-être aussi