Netflow, Sflow & NFsen

Voici un petit mémo pour installer un serveur netflow/sflow sur Debian.

Netflow kézako ? La version la plus utilisée du protocole IPFIX. Cela permet de collecter  des statistiques réseaux très précises à partir d’équipements réseau (Routeurs, Firewalls). Nfsen est un frontend qui permet de visualiser les données collectées par le serveur.

Généralement, les Cisco fonctionnent avec Netflow, les Firewalls fonctionnent avec Sflow.

Installation

Pour commencer un iptables ne fera pas de mal (mon réseau est 1.2.3.4/8, à adapter) :

iptables -A INPUT -s 1.2.3.4/8 -p udp -m state  –state NEW –dport 6343 -j ACCEPT

iptables -A INPUT -s 1.2.3.4/8 -p udp -m state  –state NEW –dport 9996 -j ACCEPT

Installer les paquets pour netflow

aptitude install nfdump nfdump-sflow

Installer les dépendances logicielles :

aptitude install rrdtool librrds-perl libsocket6-perl apache2 php5 libapache2-mod-php5

On créé un vhost basique /etc/apache2/sites-enabled/netflow.cetsi.fr

<VirtualHost *:80>
ServerName netflow.moi.fr
ServerAdmin [email protected]
DocumentRoot /var/www/nfsen
<Directory />
Options FollowSymLinks
AllowOverride None
DirectoryIndex nfsen.php
</Directory>

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

LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/nfsen.error.log
CustomLog ${APACHE_LOG_DIR}/nfsen.access.log combined
</VirtualHost>

Ajouter compte et répertoires système

sudo useradd -m nfsen
sudo passwd nfsen
sudo usermod -G www-data nfsen
sudo mkdir /var/www/nfsen
sudo chown -R nfsen:www-data /var/www/nfsen

télécharger nfsen sur Sourcefoge :

wget http://freefr.dl.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz

Extraire :

tar xvzf nfsen-1.3.6p1.tar.gz

Créer et éditer le fichier etc/nfsen.conf

cp etc/nfsen-dist.conf etc/nfsen.conf
vim etc/nfsen.conf

$BASEDIR = « /opt/flow »;
$HTMLDIR    = « /var/www/nfsen/ »;
$PREFIX  = ‘/usr/bin’;
$USER    = « nfsen »;
$WWWUSER  = « nfsen »;
$WWWGROUP = « www-data »;

Dans le même fichier on rajoute nos sources :

%sources = (
‘cisco1’     => { ‘port’ => ‘9996’, ‘IP’ => ‘1.2.3.4’, ‘col’ => ‘#0000ff’, ‘type’ => ‘netflow’},
);

Et on installe nfsen :

./install.pl etc/nfsen.conf

NFsen peut se lancer comme un démon, on crée le fichier d’init et on l’active par défaut.

ln -s /opt/flow/bin/nfsen /etc/init.d/nfsen
update-rc.d nfsen defaults

A partir de là, on peut lancer le service

/etc/init.d/nfsen start

et accéder à http://netflow.moi.fr

Pour rajouter un équipement au netflow, il faut éditer la partie « source » du fichier /opt/flow/etc/nfsen.conf
Pour que la modification soit prise en compte :

/etc/init.d/nfsen reconfig

Les datas brutes peuvent être retrouvées dans /opt/flow/profiles-data

Plugins :

Surfmap :
Installer les dépendances :

aptitude install php5-curl php5-sqlite

Récupérer le plugin, l’extraire et l’installer

wget http://freefr.dl.sourceforge.net/project/surfmap/source/SURFmap_v3.1.1.tar.gz
tar xvzf SURFmap_v3.1.1.tar.gz
cd /SURFmap
./install.sh

Pour finir on relance nfsen et on visite l’onglet plugins :

netflow-surfmap

Laisser un commentaire

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

Time limit is exhausted. Please reload the CAPTCHA.