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 nfsensudo passwd nfsensudo usermod -G www-data nfsensudo mkdir /var/www/nfsensudo 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 :