Analyse des flux Netflow sous GNU/Linux

Netflow est un protocole réseau créé par Cisco pour collecter des informations sur les flux IP. Nous allons dans ce billet voir comment configurer un routeur pour activer la sonde Netflow puis récupérer et analyser le résultat sur une machine GNU/Linux (Ubuntu 9.10, mais les outils sont disponibles sur l’ensemble des distributions).

L’architecture qui illustrera ce billet est la suivante:

Netflow

Le routeur Cisco (192.168.0.1): Netflow exporter sur le schéma.

  • interface FastEthernet 0/1 vers Internet
  • interface FastEthernet 0/0 vers le LAN on se trouve le PC sous GNU/Linux

Le PC sous GNU/Linux (192.168.0.100): Netflow collector + storage + analyser sur le schéma.

Remarque: il est également possible d’installer une sonde (fonction de type Netflow exporter) sur une machine de type GNU/Linux ou *BSD en utilisant le logiciel libre fprobe (ou fprobe-ng).

Configuration du routeur Cisco

Cette configuration est a adapter selon votre architecture (source Manage Engine):

routeur> enable
routeur# conf t
routeur(config)# interface FastEthernet 0/1
routeur(config-if)# ip route-cache flow
routeur(config-if)# exit
routeur(config)# ip flow-export destination 192.168.0.100 9996
routeur(config)# ip flow-export source FastEthernet 0/0
routeur(config)# ip flow-export version 5
routeur(config)# ip flow-cache timeout active 1
routeur(config)# ip flow-cache timeout inactive 15
routeur(config)# snmp-server ifindex persist
routeur(config)# exit
routeur# write

Pour voir la liste des flux Netflow:

routeur# show ip flow export
routeur# show ip cache flow

Enfin on vérifie que les paquets Netflow (UDP/9996) sont bien reçu sur le PC GNU/linux, pour cela on ouvre un terminal et on tape:

tcpdump -n port 9996

On doit voir des paquets arriver toutes les secondes.

Installation des outils d’analyse Netflow

Nous allons utiliser les outils de la suite NFDump. En plus d’être distribuée sous licence libre (“BSD license”), NFDump est disponible sous GNU/Linux et *BSD. Sur la distribution Ubuntu, l’installation est très simple car NFDump est disponble dans les dépôts:

sudo aptitude install nfdump

Nous allons dans un premier temps créer un répertoire ou sera stocké les données (storage sur le schéma):

 cd ~
mkdir netflow
mkdir netflow/192.168.0.1

Attention: selon le débit de votre liaison et le nombre de flux, le volume des données peut vite devenir important.

Ensuite il faut lancer le collecteur Netflow (collector sur le schéma) grâce à la commande suivante:

nfcapd  -p 9996 -l ~/netflow/192.168.0.1

Description des options:

  • -p fixe le port UDP d’écoute (9996 dans notre configuration du routeur Cisco)
  • -l fixe le répertoire ou les données seront stockées (emplacement du collector)
  • -w permet de s’assurer que la collecte sera faite toutes les n minutes (n=5 par défaut) avec des valeurs 0,5,10…
  • -D permet de demander à nfcapd de se lancer comme un daemon (en tache de fond)

Analyse des données Netflow

En ligne de commande

NFDump met a disposition un logiciel nommé nfdump. Ce dernier permet de lire les données stockées dans le collector et de les afficher de manière lisible.

Par exemple pour voir la liste complète des flux ayant transitée par le routeur depuis le lancement de la commande nfcapd avec un maximum de détail, il faut saisir la commande:

nfdump -R ~/netflow/192.168.0.1 -o extended -a

NFdump

On a alors pour chaque flux les informations suivantes:

  • Durée du flux
  • Protocole réseau (TCP/UDP/ICMP…)
  • Adresses source et destination
  • Ports source et destination
  • Flags TCP
  • Champs Tos (DSCP)
  • Nombre de paquets
  • Taille en octets
  • Nombre de paquets par seconde
  • Débit en bit par seconde
  • Taille en octets par paquets
  • Nombre de flux

On peut également demander la liste des TOP 10 en terme de flux:

nfdump -R ~/netflow/192.168.0.1 -o extended -a -s srcip -s ip/flows -s dstport/pps/packets/bytes -s record/bytes

Pour une liste exhausitve des capacité d’affichage de nfdump, je vous redirige vers la page suivante.

Par une interface Web

Dans sa grande bonté, NfDump propose également une interface Web complète pour analyser et mettre en forme des rapports. C’est un projet à part qui s’appelle NfSen.

Voici un screenshot:

nfsen

Si cela intéresse des lecteurs, je pourrai détailler l’installation et la configuration de NfSen.

Vus : 568
Publié par Nicolargo : 402