La surveillance du réseau est un effort systématique d’inspection des paramètres d’un réseau informatique afin de détecter les problèmes qui affectent la performance de ce réseau. Ensuite, par le biais des modèles collectés lors de la surveillance du réseau, les équipes réseau peuvent déduire des informations très utiles sur le trafic, un processus nommé: l’analyse du trafic réseau.
Parmi les technologies dont on peut choisir lorsqu’on réalise une analyse du trafic réseau sont l’analyse des paquets et l’analyse des flux de données.
La méthode d’analyse des paquets utilise des technologies de capture de paquets telles que: SPAN, RSPAN, ERSPAN afin d’obtenir des copies brutes du trafic. Lorsque dans le processus de l’analyse des paquets, l’en-tête de paquet complet ainsi que la charge utile sont collectés, cette méthode est très utile pour effectuer une analyse approfondie d’une conversation spécifique. Contrairement à l’analyse des paquets, l’analyse des flux consiste à collecter les métadonnées du trafic réseau utilisées à des fins statistiques (par exemple, les top talkers, le trafic par protocoles, l’utilisation de la bande passante, etc.).
Un flux est une séquence de paquets qui partagent les mêmes caractéristiques et qui sont envoyés entre un hôte d’envoi et un hôte de réception. Par exemple, lorsqu’on regarde une vidéo en direct, les paquets envoyés du serveur au dispositif créent un flux car ils font partie de la même conversation.
NetFlow est un protocole réseau propriétaire de Cisco, qu’on utilise pour l’analyse des flux IP. NetFlow collecte et agrège les informations sur le trafic réseau circulant via un périphérique avec la fonctionnalité NetFlow activée. Les sorties de NetFlow sont des enregistrements de flux réseau qui sont envoyés en tant que messages NetFlow, à une entité centralisée, connue comme “outil de collecte du flux”.
Les statistiques des flux IP collectées par le protocole NetFlow sont généralement utilisées pour:
Les appareils compatibles NetFlow (outils d’exportation NetFlow) créent des enregistrements NetFlow, en agrégeant les paquets en flux en fonction des critères ci-dessous:
Avant d’être transmis, chaque paquet est d’abord examiné pour les paramètres ci-dessus. Le premier paquet unique crée un flux en tant qu’entrée dans le cache NetFlow (enregistrement de flux). Ensuite, le paquet est transféré hors du routeur. Les autres paquets correspondant aux mêmes paramètres sont agrégés à ce flux et le compteur d’octets du flux augmente. Si l’un des paramètres ne correspond pas, un nouveau flux est créé dans le cache NetFlow.
Il y a des centaines de milliers de flux enregistrés dans le cache NetFlow. Évidemment, ces flux ne vivent pas dans le cache pour toujours, ils sont plutôt régulièrement exportés du cache vers un collecteur de flux. Un flux est exporté lorsqu’il est inactif pendant une certaine période de temps, par exemple quand il n’y a pas de nouveaux paquets reçus pour le flux. Le temporisateur de débit inactif est par défaut réglé sur 15 secondes. Le flux est également exporté lorsqu’il est de longue durée (actif) et dure plus longtemps que le temporisateur actif. Le temporisateur actif est par défaut réglé sur 30 minutes. Par exemple, le téléchargement d’un gros fichier qui dure plus de 30 minutes peut être divisé en plusieurs flux. Et le collecteur des flux est chargé de combiner ces flux, en montrant le téléchargement total.
Lorsqu’un transport fiable est requis, plusieurs exportateurs NetFlow envoient périodiquement des enregistrements à un ou plusieurs collecteurs NetFlow par le biais du protocole UDP (User Datagram Protocol) ou du protocole SCTP (Stream Control Transmission Protocol). Le rôle d’un collecteur est de rassembler, enregistrer, combiner ou agréger les flux exportés afin de produire les rapports utilisés pour l’analyse du trafic et de la sécurité.
Ce type d’application analyse les données des flux reçues dans le but d’une détection d’intrusion ou d’un profilage du trafic.
Outre Cisco, on connaît d’autres fournisseurs qui ont également mis en place leurs propres versions de NetFlow, telles que jFlow (Juniper), rFlow (Ericsson), sFlow (HP), etc.
Même si sFlow signifie Sampled Flow, ce sont les paquets réels qui sont échantillonnés ici au lieu des flux. L’échantillonnage consiste soit à copier les en-têtes des paquets, soit à extraire les caractéristiques du paquet. L’objectif du processus d’échantillonnage et de filtrage des paquets est de ne transmettre que certains paquets. Basé sur un taux d’échantillonnage défini, en moyenne 1 paquet sur “n” est échantillonné de manière aléatoire. L’agent sFlow roulant dans un routeur ou dans un commutateur, regroupe les compteurs d’interface et les échantillons des flux dans des datagrammes sFlow. Ensuite, les datagrammes sont envoyés en continu via UDP au Collecteur sFlow où ils sont analysés.
SFlow a la capacité de surveiller les en-têtes L2-L7, en même temps, la possibilité de surveiller les en-têtes L2 (MAC, VLAN ID) a été ajoutée à NetFlow v9.
L’échantillonnage des paquets est basé sur l’équipement matériel et est effectué en commutant des ASIC, ce qui permet d’obtenir des performances à vitesse filaire. Cela montre sFlow comme une technologie bien évolutive, capable de surveiller des liens avec une vitesse jusqu’à 10 Gbps.
Les datagrammes sFlow sont envoyés en continu sur le réseau en temps réel, tandis que l’exportation des enregistrements NetFlow dépend des temporisateurs actifs/inactifs. Lorsqu’on utilise NetFlow, l’exportation du flux peut prendre jusqu’à 30 minutes. Évidemment, avec sFlow on a une meilleure visibilité sur le trafic qu’avec NetFlow. Cependant, cela rend sFlow plus efficace dans la détection d’attaques DDoS massives, car les modèles de réseau échantillonnés sont envoyés à la volée au collecteur sFlow.
Néanmoins, les mesures fournies par sFlow ne sont qu’une approximation du trafic réel car les paquets échantillonnés ne reflètent pas l’ensemble du trafic réseau. Par conséquent, sFlow manque de précision (fournie par NetFlow), car il ne peut pas suivre toutes les communications réseau. Et compte tenu que la précision est hautement requise dans la criminalistique informatique, sFlow ne peut pas être pleinement qualifié pour une investigation numérique légale.
Internet Protocol Flow Information Export (IPFIX) est un standard d’exportation des informations sur les flux réseau à partir des périphériques, étant dérivé de NetFlow v.9.
Cela fonctionne comme suit: un processus de comptage génère des enregistrements de flux collectant des paquets de données à un Point d’Observation, les filtre et agrège les informations sur ces paquets. Ensuite, les enregistrements de flux sont envoyés sous forme de messages IPFIX encapsulés par les protocoles Layer 4 (SCTP, UDP ou TCP) à un collecteur, par le processus d’exportation exécuté sur l’exportateur. Les messages sont poussés vers le collecteur sans aucune interaction de la part du collecteur.
IPFIX peut être utilisé pour exporter n’importe quelle information de trafic de L2-L7 vers le collecteur de flux. C’est un protocole flexible, en prenant en charge des champs de longueur variable. Il permet de collecter des informations telles que le http url ou l’hôte (par exemple facebook.com) ainsi que les types de données définis par l’utilisateur. Par exemple, les données de type syslog ou SNMP ou même les valeurs de la température ambiante peuvent être exportées en permanence vers le collecteur à l’intérieur des messages IPFIX.
NetStream est un équivalent de NetFlow, développée par Huawei. L’infrastructure NetStream comprend les éléments suivants:
– l’Exportateur de données NetStream (NDE)
– le Collecteur NetStream (NSC)
– l’Analyseur de données NetStream (NDA)
Remarque: NSC et NDA sont généralement intégrés dans un seul serveur. |
L’Exportateur de données NetStream (NDE) effectue l’échantillonnage des paquets afin de réduire l’impact sur la performance du périphérique. Par exemple, lorsque le NDE est défini sur un échantillonnage aléatoire basé sur les paquets, il échantillonne de manière aléatoire un paquet à partir d’un nombre spécifié de paquets transmis. Si le nombre de paquets est défini à 100, le NDE échantillonne donc de manière aléatoire un paquet sur chaque 100 paquets.
Remarque: Un flux en IPv4 NetStream est basé sur les mêmes sept critères que NetFlow, de sorte que les paquets avec les mêmes informations à 7 tuples sont marqués comme un seul flux. |
Les enregistrements des flux sont stockés dans le cache NetStream sur NDE. Lorsqu’un flux NetStream est dépassé, NDE exporte du cache les statistiques des flux vers NSC à l’aide de paquets NetStream. Semblable à NetFlow, les flux NetStream sont dépassés en fonction des timers actifs et inactifs. Similaire à NetFlow, les flux NetStream sont aussi dépassés en fonction des timers actifs et inactifs. Un flux particulier est également immédiatement supprimé du cache, lorsqu’un indicateur RST ou FIN est reçu. En addition, lorsque le mode de vieillissement des octets est activé, NDE vieillit le flux une fois que la limite supérieure des octets est atteinte.
NDE exporte périodiquement des statistiques de flux vers NSC. Le dernier collecte et analyse les paquets de plusieurs NDE et les stocke dans la base de données.
NDA est un outil d’analyse du trafic, qu’extrait et traite les statistiques issues de NSC et ensuite, génère un rapport, qui peut être utilisé pour la comptabilisation du trafic, la planification de réseau, ainsi que la surveillance des attaques.
Il est important de mentionner que toutes ces technologies de surveillance du flux réseau (NetFlow, SFlow etc.) ont leurs avantages et leurs faiblesses en termes d’extensibilité, de performance, de précision et de couverture de protocole dans l’estimation des paramètres de trafic réseau. Mais ce qui est aussi ou même plus important pour les professionnels du domaine réseau c’est la qualité, la versatilité, la puissance et la facilité d’utilisation des applications d’analyse du trafic, qui en fait analysent les informations sur les flux / paquets collectés et présentent aux ingénieurs des données et des rapports lisibles.
Accéder à la version anglaise de cet article – NetFlow vs. sFlow vs. IPFIX vs. NetStream. Network Traffic Analysis and Network Traffic Monitoring