SNMP vs syslog vs NetFlow : ce que chacun apprend en supervision, collecte, format, protocoles

Exploiter un réseau, c’est surveiller l’état des équipements et du trafic, repérer tôt les problèmes et en rechercher les causes. SNMP, syslog et NetFlow collectent tous des informations auprès des équipements, mais ils n’apprennent pas la même chose. Avec SNMP, un système de gestion (le gestionnaire) interroge les équipements (agents) sur des valeurs comme le trafic des interfaces et l’utilisation du CPU, ce qui indique « combien ». Avec syslog, les équipements envoient des événements, comme la chute d’une liaison, des connexions ou des modifications de configuration, sous forme de messages texte à un serveur de journalisation, ce qui indique « ce qui s’est passé et quand ». NetFlow (et IPFIX, la norme qui en est issue) résume le trafic par groupe de paquets partageant la même source, la même destination, etc. (un flux) et exporte ces résumés, ce qui indique « qui a communiqué avec qui, et combien ». En pratique, les trois sont utilisés ensemble.

CritèreSNMPsyslogNetFlow (IPFIX)
Ce qu’il apprendL’état et les quantités des équipements : trafic et nombre d’erreurs des interfaces, utilisation du CPU et de la mémoire, état des liaisonsLes événements : chutes de liaison, connexions réussies et échouées, modifications de configuration, erreursLa répartition du trafic : quelles paires source-destination, avec quel protocole et quels ports, ont envoyé combien
Mode de collecteLe gestionnaire interroge à intervalle fixe (scrutation, polling) ; les équipements peuvent aussi signaler les problèmes par des notifications (traps)L’équipement envoie un message au serveur lorsqu’un événement se produitL’équipement agrège les flux et les exporte vers un serveur de collecte (collecteur) à la fin d’un flux ou à intervalles fixes
Format des donnéesValeurs définies dans des MIB (compteurs et états), désignées par des identifiants d’objet (OID)Gravité (0 à 7), type de source (facility), horodatage et message texteEnregistrements par flux : adresses, numéros de port, protocole, nombres de paquets et d’octets, heures de début et de fin, etc. ; les champs sont définis par des modèles (templates)
Granularité temporelleUne moyenne sur chaque intervalle de scrutation (par exemple 5 minutes)Par événement, reçu presque immédiatementPar flux ; les flux de longue durée sont découpés et exportés à intervalles fixes
Ce qu’il ne peut pas indiquerÀ qui appartient le traficLe volume de traficLe contenu des paquets (données) ; ni les valeurs des équipements comme l’utilisation du CPU
Charge sur les équipements et les liaisonsFaibleFaible, mais les messages peuvent affluer lors d’une pannePlus élevée ; sur les liaisons rapides, on utilise parfois l’échantillonnage, qui n’examine qu’une partie des paquets
Normes et numéros de portSNMPv3 : RFC 3411 à 3418 ; port UDP 161 (requêtes) et 162 (traps)RFC 5424 ; port UDP 514, ou 6514 avec TLSNetFlow v9 est décrit dans la RFC 3954 (une RFC informative) ; l’IPFIX normalisé est la RFC 7011, port 4739
SécuritéEn v1 et v2c, la chaîne de communauté circule en clair ; la v3 ajoute authentification et chiffrementSur UDP, il n’y a ni chiffrement ni confirmation de livraison ; TLS peut le protégerNetFlow v9 n’a pas de protection intégrée ; IPFIX peut être protégé par TLS ou DTLS
Usages principauxGraphiques de trafic, suivi du taux d’utilisation des liaisons, détection des pannes d’équipementsRecherche des causes de pannes, traçabilité de qui a fait quoi, surveillance de la sécurité (collecte dans un SIEM)Repérage des hôtes et applications gros consommateurs de bande passante, détection de trafic inhabituel, planification de l’augmentation des liaisons

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

SNMP
Lorsqu’on veut suivre en continu, sous forme de graphiques, l’utilisation des liaisons et des équipements. Pour repérer immédiatement les pannes d’équipements et les coupures de liaisons, on le combine avec les traps.
syslog
Lorsque les pannes et les événements liés à la sécurité doivent être enregistrés avec leur horodatage pour pouvoir être analysés plus tard. Pour corréler les journaux de plusieurs équipements, il faut synchroniser leurs horloges avec NTP.
NetFlow (IPFIX)
Lorsqu’une liaison est congestionnée et qu’on veut savoir quels hôtes ou quelles applications consomment la bande passante, ou lorsqu’on veut repérer des motifs de trafic inhabituels.

Questions fréquentes

Comment obtenir un débit à partir des compteurs SNMP ?

On lit à intervalle fixe le compteur d’octets reçus ou émis d’une interface, on convertit en bits l’écart avec la lecture précédente et on divise par l’intervalle en secondes. Par exemple, si le compteur a augmenté de 3 750 000 000 en 5 minutes (300 secondes), on obtient 3,75×10⁹ × 8 ÷ 300 = 1×10⁸ bit/s, soit une moyenne de 100 Mbps. Un compteur de 32 bits revient à 0 après environ 4,3 milliards et fait vite le tour sur les liaisons rapides : on utilise donc des compteurs de 64 bits. Le résultat est une moyenne sur l’intervalle : les pics brefs ne sont pas visibles.

Quand utiliser la scrutation SNMP et quand les traps ?

La scrutation, où le gestionnaire lit les valeurs à intervalle fixe, convient aux enregistrements continus de l’évolution, comme les graphiques de trafic. Les traps, envoyés par l’équipement lorsqu’un événement comme une panne de liaison survient, permettent de réagir immédiatement, mais comme ils sont envoyés sur UDP, ils peuvent être perdus. Il existe aussi des notifications acquittées (informs). Dans la plupart des cas, on combine les deux.

Qu’est-ce que la gravité d’un message syslog ?

La RFC 5424 exprime la gravité d’un message en huit niveaux, de 0 (Emergency : système inutilisable) à 7 (Debug : messages de débogage). Plus le nombre est petit, plus le message est important, et chaque équipement peut être configuré pour n’envoyer au serveur que les messages d’une gravité donnée ou supérieure.

En quoi NetFlow diffère-t-il de la capture de paquets ?

La capture de paquets enregistre les paquets eux-mêmes, y compris leur contenu : elle permet une analyse détaillée mais produit un volume de données très important. NetFlow n’enregistre pas le contenu des paquets et n’exporte que des résumés, comme les nombres de paquets et d’octets par flux : il réduit fortement le volume de données et convient à l’observation des tendances à long terme. Même pour un trafic chiffré, les adresses, les numéros de port et le volume restent visibles.

Vérifier vos connaissances

Au moyen de SNMP, on lit toutes les 5 minutes (300 secondes) le compteur de 64 bits des octets reçus d'une interface d'un routeur. La lecture précédente était de 1 200 000 000 et la lecture actuelle de 4 950 000 000. Quelle valeur est la plus proche de la vitesse de réception moyenne sur ces 5 minutes ?

  1. A12,5 Mbit/s
  2. B100 Mbit/s
  3. C500 Mbit/s
Afficher la réponse et l'explication

Réponse : B. 100 Mbit/s

L'interface a reçu en 5 minutes 4 950 000 000 − 1 200 000 000 = 3 750 000 000 octets, soit 3,75×10⁹ × 8 = 3×10¹⁰ bits. En divisant par 300 secondes, on obtient 1×10⁸ bit/s, soit 100 Mbit/s. Avec SNMP, le côté qui gère (le gestionnaire, manager) interroge l'agent de l'équipement sur des valeurs de la MIB et, comme ici, calcule le trafic à partir des différences entre relevés de compteurs pour tracer des graphiques. Un compteur de 32 bits revient à 0 après 2^32 ≈ 4,29×10⁹ octets, ce qui ne prend qu'environ 344 secondes à 100 Mbit/s : on utilise donc des compteurs de 64 bits pour les interfaces rapides.

Pour le trafic qui traverse un routeur, on veut savoir combien d'octets représente chaque combinaison de source et de destination (adresses, numéros de port et protocole), agrégés par flux de trafic. Quel mécanisme est le plus approprié ?

  1. ASNMP
  2. Bsyslog
  3. CNetFlow (IPFIX)
Afficher la réponse et l'explication

Réponse : C. NetFlow (IPFIX)

NetFlow, et IPFIX, la norme qui en est issue, enregistrent pour chaque groupe de paquets ayant les mêmes adresses et numéros de port source et destination et le même protocole (chaque flux) le nombre de paquets, le nombre d'octets, les horodatages, etc., et envoient ces enregistrements à un serveur de collecte (collecteur). On s'en sert pour savoir quels hôtes ou quelles applications consomment de la bande passante et pour repérer un trafic inhabituel. SNMP est un protocole qui sert à interroger les équipements sur des valeurs comme le trafic par interface et l'utilisation du CPU, et à leur faire signaler des problèmes (traps) ; il ne permet pas de savoir à qui appartient le trafic. syslog envoie des événements comme la coupure d'une liaison ou des connexions d'utilisateurs, sous forme de messages texte, à un serveur de journalisation.

Quelle description d'UDP est correcte ?

  1. AIl n'établit pas de connexion et ne gère ni les retransmissions ni l'ordre des données ; son en-tête est donc petit et il n'y a aucune attente avant l'envoi
  2. BIl établit une connexion, retransmet les données qui ne sont pas arrivées et remet les données dans l'ordre côté récepteur
  3. CIl remet les données au terminal destinataire uniquement à l'aide des adresses MAC, sans adresses IP
Afficher la réponse et l'explication

Réponse : A. Il n'établit pas de connexion et ne gère ni les retransmissions ni l'ordre des données ; son en-tête est donc petit et il n'y a aucune attente avant l'envoi

UDP est un protocole léger qui ajoute seulement des numéros de port et une détection d'erreurs simple (somme de contrôle) au-dessus d'IP ; son en-tête fait 8 octets (celui de TCP, 20 octets sans options). Sans procédure de connexion, sans confirmation de réception ni retransmission, il sert aux appels vocaux et à la vidéo en direct, où une petite perte vaut mieux qu'un retard, ainsi qu'à DNS, qui se contente d'une seule requête et d'une seule réponse. Si la fiabilité est nécessaire, c'est l'application qui la fournit : QUIC, utilisé par HTTP/3, implémente par exemple les retransmissions et le chiffrement au-dessus d'UDP. L'établissement de connexion, les retransmissions et le contrôle de l'ordre relèvent de TCP.

Questions d'entraînement sur Conception et exploitation des réseaux

Termes clés expliqués

SNMP (Simple Network Management Protocol)
Protocole qui sert à surveiller et à gérer l'état d'équipements comme les routeurs et les commutateurs. Le côté qui gère (le gestionnaire, manager) interroge l'agent de l'équipement sur des valeurs définies dans la MIB, comme les compteurs de trafic des interfaces et l'utilisation du CPU, et l'équipement signale les problèmes par des traps. Le trafic se calcule en lisant les valeurs des compteurs à intervalles réguliers et en en faisant la différence. SNMPv3, qui prend en charge l'authentification et le chiffrement, est recommandé.
UDP (User Datagram Protocol)
Protocole de la couche transport sans connexion. Son en-tête fait 8 octets et ne contient que des numéros de port, une longueur et une somme de contrôle. Il n'a ni établissement de connexion, ni accusé de réception ou retransmission, ni contrôle de l'ordre, si bien qu'il ajoute peu de délai. Il sert notamment aux requêtes DNS, aux appels vocaux et vidéo, aux jeux en ligne, à DHCP et à QUIC.
Numéro de port
Nombre de 0 à 65535 utilisé par TCP et UDP pour indiquer à quelle application d'un terminal une communication est destinée. Les ports 0 à 1023, comme 80 pour HTTP, 443 pour HTTPS et 53 pour DNS, sont appelés ports bien connus (well-known ports).
Paquet (packet)
Unité de données pour la transmission : des données découpées en morceaux qui ne dépassent pas une taille fixée, chacun muni d'un en-tête contenant des informations de contrôle comme la destination. Les paquets permettent à de nombreuses communications de partager une même ligne (commutation de paquets) et de ne renvoyer, après une erreur, que la partie endommagée. Selon la couche, on parle souvent de paquets pour IP, de segments pour TCP et de trames pour Ethernet. PCI Express et les réseaux sur puce envoient aussi les données sous forme de paquets.
Routeur
Équipement de la couche réseau (couche 3) qui achemine les paquets entre réseaux différents. Il compare l'adresse IP de destination de chaque paquet à sa table de routage, choisit le routeur suivant (prochain saut) et l'interface de sortie, puis réexpédie le paquet. Les routeurs domestiques intègrent aussi la NAPT, un serveur DHCP et un pare-feu.
SIEM (gestion des informations et des événements de sécurité)
Système qui collecte en un seul endroit les journaux des pare-feux, des serveurs, de l'EDR, des services cloud, de l'infrastructure d'authentification, etc., en harmonise les formats et les horodatages, détecte les attaques présumées à l'aide de règles combinant plusieurs événements (analyse de corrélation) et les présente sous forme d'alertes. Il sert aussi à rechercher dans les journaux lors des investigations et à conserver les journaux longtemps comme l'exige la réglementation. C'est l'un des outils centraux qu'utilisent pour la surveillance les analystes d'un centre des opérations de sécurité (SOC).
TLS (Transport Layer Security)
Protocole qui chiffre la communication, détecte les falsifications et authentifie les serveurs à l'aide de certificats. HTTPS est HTTP protégé par TLS.

Comparatifs associés