SNMP (Simple Network Management Protocol)
Définition
Le SNMP (Simple Network Management Protocol, RFC 1157) est un protocole internet standard pour la collecte et l’organisation d’informations sur les équipements gérés sur les réseaux IP et pour la modification de ces informations. C’est le standard de facto pour la surveillance réseau et la gestion des équipements.
Le SNMP permet aux administrateurs réseau de surveiller les équipements connectés au réseau pour détecter les conditions nécessitant des alertes.
Architecture SNMP
Gestionnaire réseau (NMS) Équipements gérés
┌─────────────────┐ ┌─────────────────────┐
│ Console SNMP │ │ Routeur/Switch │
│ (Nagios/Zabbix) │◄── SNMP ────▶│ Agent SNMP │
│ Grafana/Prometheus│ │ Base de données MIB │
└─────────────────┘ └─────────────────────┘
│
├── Imprimante
├── Firewall
├── Serveur (IPMI/SNMP)
└── UPS
Versions SNMP
|| Version | Année | Sécurité | Notes | ||———|——-|———-|——-| || SNMPv1 | 1988 | Aucune (chaîne de communauté) | Original, largement supporté | || SNMPv2c | 1993 | Aucune (chaîne de communauté) | Ajout des opérations en vrac, gestion des erreurs | || SNMPv3 | 1998/2002 | Authentification + chiffrement | Authentification, chiffrement, contrôle d’accès |
Opérations SNMP
|| Opération | SNMPv1 | SNMPv2 | Description | ||———–|——–|——–|————-| || GET | Oui | Oui | Récupérer une valeur OID unique | || GETNEXT | Oui | Oui | Récupérer l’OID suivant dans l’arbre MIB | || GETBULK | Non | Oui | Récupérer efficacement de grands ensembles de données | || SET | Oui | Oui | Modifier une valeur OID | || TRAP | Oui | Oui | Notification non sollicitée depuis l’agent | || INFORM | Non | Oui | Trap acquitté (le NMS confirme la réception) |
MIB SNMP (Management Information Base)
Une MIB est une base de données hiérarchique d’objets gérés définis par des OIDs (Identifiants d’Objet) :
iso (1)
└── org (3)
└── dod (6)
└── internet (1)
└── mgmt (2)
└── mib-2 (0)
├── system (1)
│ ├── sysDescr (1) — description de l'équipement
│ ├── sysUpTime (3) — uptime en secondes
│ └── sysContact (6) — contact admin
├── interfaces (2)
│ ├── ifTable (1)
│ │ ├── ifDescr (2)
│ │ ├── ifType (3)
│ │ ├── ifMtu (4)
│ │ └── ifSpeed (9)
├── ip (4)
│ ├── ipInReceives (10)
│ └── ipOutRouts (11)
├── ifInOctets (10)
└── ifOutOctets (16)
OIDs SNMP courants
|| OID | Nom | Description | ||—–|——|————-| || 1.3.6.1.2.1.1.1 | sysDescr | Description du système | || 1.3.6.1.2.1.1.3 | sysUpTime | Uptime du système | || 1.3.6.1.2.1.2.2.1.6 | ifPhysAddress | Adresse MAC de l’interface | || 1.3.6.1.2.1.2.2.1.10 | ifInOctets | Octets reçus sur l’interface | || 1.3.6.1.2.1.2.2.1.16 | ifOutOctets | Octets envoyés sur l’interface | || 1.3.6.1.2.1.1.5 | sysName | Nom d’hôte du système |
SNMP dans la surveillance
|| Outil | Support SNMP | Notes | ||——-|————-|——-| || Nagios | Vérifications SNMP complètes | Surveillance traditionnelle | || Zabbix | Support SNMP complet | Surveillance basée sur templates | || Prometheus | Exporters SNMP | SNMP→Prometheus via snmp_exporter | || Grafana | Via Prometheus/InfluxDB | Couche de visualisation | || LibreNMS | Découverte SNMP complète | Découverte automatique, configuration automatique | || PRTG | Support SNMP complet | Surveillance commerciale |
Sécurité SNMP
- SNMPv1/v2c : Chaînes de communauté envoyées en clair (comme des mots de passe)
- SNMPv3 : Supporte l’authentification (HMAC-MD5/SHA) et le chiffrement (DES/AES)
- Meilleure pratique : Utiliser SNMPv3 avec auth+priv, ou limiter v2c aux réseaux de confiance
- Pare-feu : Limiter SNMP au seul réseau de gestion (UDP 161/162)
Termes associés
- Monitoring — le SNMP est le principal protocole de surveillance réseau
- Prometheus
- Snmp: https://datatracker.ietf.org/doc/html/rfc1157
- RFC 3411-3418 (SNMPv3) : https://datatracker.ietf.org/doc/html/rfc3411
- Navigateur SNMP MIB : https://www.oid-info.com/