Outils d’analyse de flux réseau avec Nfdump, Nfsen (collecteur) et fprobe (sonde)

Outils d’analyse de flux réseau avec Nfdump, Nfsen (collecteur) et fprobe (sonde)

Comment le réseau est utilisé ? Comment optimiser la configuration du réseau sans visibilité temporelle ? Quels outils utiliser pour analyser les flux réseaux ?

Réponse : très simplement avec la combinaison des outils suivants :

  • nfdump : The nfdump tools collect and process netflow data on the command line
  • nfcapd : netflow capture daemon
  • NfSen : NfSen is a graphical web based front end for the nfdump netflow tools.
  • fprobe : libpcap-based tool that collect network traffic data and emit it as NetFlow flows towards the specified collector.

L’implantation de la solution sera faite sur un Debian Wheezy et Jessie

Pour schématiser, la sonde fprobe sera placée sur un pare-feu Debian Wheezy, elle enverra les flux aux collecteurs nfcapd (un autre serveur Debian Wheezy) et nfdump permettra de manipuler et restituer l’information, NfSen présentera l’information traitée sur un page Web (via des graphiques et des filtres avancés)

Installation de Nfsen sur le collecteur

La solution NFsen nécessite un serveur Web (Apache, Nginx) et quelques composants additionnels pour fonctionner (PHP, Perl.)

# apt-get install gcc flex librrd-dev make apache2 libapache2-mod-php5 php5-common rrdtool libmailtools-perl librrds-perl libio-socket-ssl-perl build-essential vim wget

Et Installation de Socket6 via CPAN :

# perl -MCPAN -e 'install Socket6'

NFDUMP

Une chose importante : il faut la version 1.6 ou ultérieur de NFDUMP et la compiler avec l’option –enable-nfprofile

nfdump-1.6.13.tar.gz (a récupérer sur le site : http://sourceforge.net/projects/nfdump/)

# wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz
# tar -zxvf nfdump-1.6.13.tar.gz
# cd nfdump-1.6.13/
# ./configure --enable-nfprofile
# make;make install

Pou vérifier la version :

$ nfdump -v

Remarque : NFdump peut etre utilisé en ligne de commande pour analyser les informations collectées (http://nfdump.sourceforge.net/).

nfdump -r /and/dir/nfcapd.200407110845 -c 100 'tcp and ( src ip 172.16.17.18 or dst ip 172.16.17.19 )'

NfSen

nfsen-1.3.7.tar.gz (a récupérer sur le site : http://nfsen.sourceforge.net/)

# wget http://downloads.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1
# tar -zxvf nfsen-1.3.7.tar.gz
# cd nfsen-1.3.7/
# cp etc/nfsen-dist.conf etc/nfsen.conf
# vi etc/nfsen.conf

Extrait du fichier de conf :

# user and group of the web server process 
# All netflow processing will be done with this user
$WWWUSER = "www-data";
$WWWGROUP = "www-data";
~~~
%sources = (
'upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
'peer1' => { 'port' => '9996', 'col' => '#ff0000' },
);

Les sources contiennent les paramètres des sondes (port d’écoute, couleur et type de flux )

Génère l’arborescence /var/www/nfsen/ > partie web + /data/nfsen/ > données collectés

# mkdir -p /data/nfsen
# ./install.pl /etc/nfsen.conf
# cd /data/nfsen/bin

A ce stade NFsen est prêt à être lancé :

#/data/nfsen/bin/nfsen start

Bonus :

Un extrait d’un VHOST avec Apache

<Directory /var/www/nfsen>
 DirectoryIndex disabled
 DirectoryIndex nfsen.php
 Options Indexes FollowSymLinks MultiViews
 AllowOverride None
 Order allow,deny
 allow from all
</Directory>

Vérifications :

  • vérifier que NFSen (nfcapd) et Apache sont bien lancés dans les processus
  • lancer http://ip.du.collecteur
  • les données collectées sont dans /data/nfsen/profiles-data/live/ (défini dans nfsen.conf)

 

exemple graphe nfsen
exemple graphe nfsen

Installation de la sonde Fprobe

J’installe ici la sonde sur un pare feu Debian (via le paquet disponible fprobe)

#aptitude install fprobe

Les configurations demandées lors de l’installation sont placées dans /etc/default/fprobe

La sonde sera lancée au démarrage du serveur (daemon fprobe)

Une sonde peut être lancée manuellement

#/usr/sbin/fprobe -i eth_interface -fip ip_collecteur:port-ecoute

Conclusion

L’alchimie de ces outils donne un bon outillage pour analyser les flux réseaux. Il est pertinent de placer les sondes aux endroits stratégiques sur le réseau afin d’avoir des données justes sur le trafic ambiant. Finalement pas besoin d’outils onéreux et compliqués pour collecter des informations sur les flux réseaux. La documentation de NfSen est assez explicite pour appréhender ses nombreuses possibilités http://nfsen.sourceforge.net/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *