Netflow Open Source en Linux
Implementación gratuita y open source sobre Centos 7 para capturar NETFLOW, utilizando NFDUMP y NFSEN.
INSTALACIÓN:
(Te recomiendo primero correr el template para centos7)
# DEPENDENCIAS
sudo yum -y install rrdtool rrdtool-devel rrdutils perl-rrdtool flex perl-Sys-Syslog perl-MailTools perl-Socket6 wget gcc perl-Data-Dumper
# APACHE
sudo yum -y install httpd php
sudo systemctl enable httpd
sudo systemctl start httpd
# NFDUMP
cd /usr/src/
sudo wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz
sudo tar -xvzf nfdump-1.6.13.tar.gz
cd nfdump-1.6.13
sudo ./configure --prefix=/ --enable-nfprofile
sudo make
sudo make install
# NFSEN
cd /usr/src/
sudo wget http://downloads.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz
sudo tar -xvzf nfsen-1.3.6p1.tar.gz
cd nfsen-1.3.6p1
# CONF NFSEN
sudo cp etc/nfsen-dist.conf etc/nfsen.conf
# Fix Apache Users
USER_APACHE=apache
sudo sed -i 's/$WWWUSER = "www";/$WWWUSER = "'$USER_APACHE'";/g' etc/nfsen.conf
sudo sed -i 's/$WWWGROUP = "www";/$WWWGROUP = "'$USER_APACHE'";/g' etc/nfsen.conf
# Fix bin Prefix
sudo sed -i "s/$PREFIX = '\/usr\/local\/bin';/$PREFIX = '\/usr\/bin';/g" etc/nfsen.conf
# Fix Document Root de Apache
sudo sed -i 's/$HTMLDIR = "\/var\/www\/nfsen\/";/$HTMLDIR = "\/var\/www\/html\/nfsen\/";/g' etc/nfsen.conf
# Create Netflow User
USER_NETFLOW=netflow
sudo useradd $USER_NETFLOW
sudo passwd -l $USER_NETFLOW
sudo usermod -a -G $USER_APACHE $USER_NETFLOW
# Crear Install Path (Para cambiar, modificar $BASEDIR en nfsen.conf)
sudo mkdir -p /data/nfsen
# INSTALL NFSEN
sudo ./install.pl etc/nfsen.conf
CONFIGURACIÓN DE LOS DISPOSITIVOS:
Editá el archivo $PATH_INSTALL_NFSEN/etc/nfsen.conf, y ubicá el siguiente codigo:
%sources = (
'upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
'peer1' => { 'port' => '9996', 'IP' => '172.16.17.18' },
'peer2' => { 'port' => '9996', 'IP' => '172.16.17.19' },
);
Borrar la línea upstream1, peer1 y peer2, y agregar una línea por cada equipo a monitorear, que incluirá el puerto (puedes recibir más de un netflow en el mismo puerto), la IP de origen, el color en hexa y el tipo que será netflow.
Ejemplo:
%sources = (
'EQUIPO1' => { 'port' => '5000', 'IP' => '192.168.0.1', 'col' => '#0000ff', 'type' => 'netflow' },
'EQUIPO2' => { 'port' => '5000', 'IP' => '192.168.0.2', 'col' => '#2efe2e', 'type' => 'netflow' },
'EQUIPO3' => { 'port' => '5001', 'IP' => '192.168.0.3', 'col' => '#d6f8d3', 'type' => 'netflow' },
);
RECONFIGURAR:
Cada vez que edites la configuración deberás reconfigurar nfsen así
$PATH_INSTALL_NFSEN/bin/nfsen reconfig
Y para levantar el servicio:
$PATH_INSTALL_NFSEN/bin/nfsen start
ACCESO WEB:
http://servidor/nfsen/nfsen.php
Saludos!
Gabriel