Par conséquent, dans cette partie, nous allons avancer en expliquant la configuration de NetFlow v9 sur un routeur VyOS open source et la configuration de l’exportation NetStream Flexible Flow sur un routeur Huawei AR G3 AR3200 Series.
VyOS est un routeur open source basé sur Debian et FRRouting avec une syntaxe de configuration similaire à JUNOS de Juniper Networks. L’appareil VyOS connecté dans la topologie de réseau ci-dessous (Photo 1) sera configuré pour collecter et exporter les statistiques de flux NetFlow v9.
La topologie de réseau avec VyOS
vyos@vyos:~$ configure vyos@vyos# set system flow-accounting interface eth1
Saisissez la commande pour chaque interface que vous souhaitez surveiller.
vyos@vyos# set system flow-accounting netflow server 192.168.3.2 port 2055
Les données NetFlow seront exportées vers le collecteur NetFlow avec l’adresse IP 192.168.3.2 écoutant le port 2055.
Configurez le taux auquel les paquets seront échantillonnés pour les statistiques. Plus le taux d’échantillonnage est petit, plus l’impact sur le processeur et la quantité de données exportées est grand. Un taux d’échantillonnage réglé sur 1 fournit un échantillonnage de paquet 1: 1 : chaque paquet sera enregistré. Par conséquent, il est préférable d’éviter un taux d’entrée d’échantillonnage aussi faible.
vyos@vyos# set system flow-accounting netflow sampling-rate 100
Dans l’exemple ci-dessus, pour chaque 100 paquets, un paquet sera pris en compte.
Spécifiez le format NetFlow dans lequel les données seront exportées.
vyos@vyos# set system flow-accounting netflow version 9
Spécifiez un délai d’attente du flux en secondes auquel les données Netflow seront envoyées au collecteur Netflow.
vyos@vyos# set system flow-accounting netflow timeout expiry-interval 60
Le délai d’attente du flux actif est réglé sur 1 minute – la valeur par défaut.
Spécifiez un délai d’expiration de durée de vie maximale en secondes.
vyos@vyos# set system flow-accounting netflow timeout max-active-life 604800
Pour afficher le cache NetFlow, exécutez la commande à partir du CLI VyOS.
vyos@vyos:~$ show flow-accounting interface eth1
Il s’agit des trois flux enregistrés dans le cache avec un nombre total de paquets de 136 (137 octets) (Image 2). Les trois premières lignes représentent la connexion SSH de PC1 (172.16.1.1) à PC2 (172.16.2.1). La dernière ligne enregistre le trafic BGP envoyé a partir du routeur BGP-1 (1.1.1.1), sourcé du port TCP 179, vers le routeur BGP-2 (2.2.2.2).
Image 2: Cache VyOS NetFlow
Les statistiques de flux peuvent être facilement supprimées par la commande suivante:
vyos@vyos:~$ clear flow-accounting counters
Nous allons simuler une attaque DDoS avec l’utilitaire hping et vérifier à nouveau les enregistrements de flux. L’attaquant (172.16.1.1) inonde la victime (172.16.2.1) à partir d’un certain nombre d’adresses sources falsifiées, le port TCP de destination 22. Le but de l’attaque est d’empêcher les utilisateurs légitimes d’utiliser le service SSH.
$ sudo hping3 -c 10000 -d 1200 -S -w 64 -p 22 --flood --rand-source 172.16.2.1 -c count -> number of sent packets -d -> data size 120 bytes -S -> set SYN flag -w -> win size -p destination (victim) port - SSH --flood -> sent packets as fast as possible. Don't show replies --rand-source -> random source address mode 172.16.2.1 -> destination (victim address)
Il y a de nombreux flux comptant 1 paquet (1240 octets) enregistrés dans le cache de flux VyOS (Image 3).
vyos@vyos:~$ show flow-accounting interface eth1
Image 3: L’attaque DDoS enregistrée dans le cache de flux VyOS
On peut filtrer la sortie du cache selon l’hôte, le port ou le paramètre top. Par exemple, pour afficher uniquement les statistiques de flux sur le trafic BGP, on doit exécuter la commande ci-dessous (Image 4).
Image 4: Le filtrage du cache de flux VyOS pour le trafic BGP
Pour afficher les “N” principaux locuteurs, filtrez l’output à l’aide du paramètre top (Image 5). La commande affiche uniquement les 10 principaux locuteurs.
vyos@vyos:~$ show flow-accounting interface eth1 top 10
Image 5: Le Top 10 des locuteurs dans le cache VyOS NetFlow
NetStream est une technologie d’analyse et de statistiques du trafic conçue par Huawei Technologies. Il peut collecter, stocker et exporter les statistiques sur les flux afin de surveiller et d’analyser le trafic réseau. Les modes d’exportation des statistiques de flux NetStream sont les suivants: exportation du flux d’origine, exportation du flux d’agrégation et exportation des statistiques du flux flexible. Par rapport à l’exportation de statistiques du flux d’origine, l’exportation des statistiques du flux flexible occupe moins de trafic et donc offre aux utilisateurs un moyen flexible de collecter les statistiques NetStream [1].
Les flux flexibles sont établis selon une configuration personnalisée d’enregistrement de flux. Les utilisateurs peuvent configurer la collecte de statistiques de flux en fonction du type de protocole, du champ DSCP, de l’adresse IP source, de l’adresse IP de destination, du numéro de port source, du numéro de port de destination ou de l’étiquette de flux, selon ses besoins.
Nous allons montrer la configuration de l’exportation de flux flexibles sur le Huawei Integrated Enterprise Router AR3260 ayant le rôle de NetStream Data Exporter (NDE). La topologie du réseau est illustrée dans l’image 6.
Image 6: La topologie du réseau avec le NDE Huawei
Nous allons créer un test de modèle de statistiques du flux flexible. On va collecter le nombre d’octets et de paquets dans les paquets exportés en fonction de l’adresse/du port de destination et configurer les index des interfaces d’entrée et de sortie.
system-view [AR3260] ip netstream record myrecord [AR3260-record-myrecord] match ipv4 destination-address [AR3260-record-myrecord] match ipv4 destination-port [AR3260-record-myrecord] collect interface input [AR3260-record-myrecord] collect interface output [AR3260-record-myrecord] collect counter bytes [AR3260-record-myrecord] collect counter packets [AR3260-record-myrecord] quit
On définit l’adresse IP source des paquets exportés transportant des statistiques de flux flexibles sur l’adresse IP du NDE 192.168.3.1. L’adresse IP de destination du collecteur de flux NetStream (NSC) est 192.168.3.2 avec le numéro de port UDP de destination 2050.
[AR3260] ip netstream export source 192.168.3.1 [AR3260] ip netstream export host 192.168.3.2 2050
One utilise ici une exportation de statistiques de netflow flexible, donc la version des paquets NetFlow exportés est v9.
[AR3260] ip netstream export version 9
L’Active Aging permet au NDE d’exporter périodiquement les statistiques sur les flux qui durent longtemps. Après l’expiration de l’Active Timer, les statistiques de flux sont exportées. Nous allons définir le temps d’Active Timer des flux IPv4 en minutes, qui par défaut est de 30 minutes.
[AR3260] ip netstream timeout active 30
L’Inactive Aging permet à NDE d’exporter les statistiques sur les flux de courte durée. Lorsqu’on ajoute de paquets à un flux qui s’arrête, NDE exporte les statistiques de flux vers NSC afin d’économiser l’espace mémoire. Définissez le temps d’inactivité des flux IPv4 en secondes, qui est par défaut de 30 secondes.
[AR3260] ip netstream timeout inactive 30
Activez l’exportation de statistiques de flux flexibles sur l’interface ge/0/0/1 et appliquez le modèle de statistiques de flux flexibles myrecord à l’interface.
[AR3260] interface gigabitethernet 0/0/1 [AR3260-GigabitEthernet0/0/1] port ip netstream record myrecord [AR3260-GigabitEthernet0/0/1] ip netstream inbound [AR3260-GigabitEthernet0/0/1] ip netstream outbound [AR3260-GigabitEthernet0/0/1] quit
Maintenant, nous allons présenter trois commandes qui peuvent être bien utiles dans le processus de dépannage des opérations NDE.
Les paramètres de configuration peuvent être vérifiés à l’aide de la commande ci-dessous (Image 7). On peut trouver ici des informations telles que l’adresse IP de NDE (192.168.3.2), L’IP du NSC (192.168.3.1), les “Active and Inactive Timers”, la version exportée de NetFlow (v9), le modèle et l’interface sur lequel NetStream est activé.
<AR3260> display ip netstream
Image 7: L’affichage des paramètres de configuration
Les statistiques peuvent être vérifiées à l’aide de la commande ci-dessous (Image 8).
<AR3260> display ip netstream statistic
Image 8: La vérification des statistiques NetStream
Et finalement, on peut afficher le contenu du cache NetFlow à l’aide de la commande suivante (Image 9).
<AR3260> display ip netstream cache
Image 9: Vérification du contenu du cache NetStream
Bien que la syntaxe de la configuration NetFlow est différente d’un fournisseur à l’autre – car ils utilisent des CLI différentes – il s’agit toujours de la même logique lorsqu’on suit la publication RFC. Il suffit donc de définir l’interface de collecte des statistiques, la direction, les adresses IP des exportateurs et collecteurs, la version NetFlow, les timers actifs et inactifs et éventuellement un taux d’échantillonnage. Si le flux flexible est une exigence, alors les paramètres correspondants tels que l’adresse IPv4 source et de destination, les ports source et destination et les compteurs doivent être configurés pour un modèle d’enregistrement des flux. Avec ces informations fournies, chaque ingénieur réseau peut facilement configurer NetFlow.
Accéder à la version anglaise de cet article – Configuring NetFlow on VyOS and Huawei Network Devices