quinta-feira, 15 de março de 2018

Servidor de Flow NFDUMP/NFSEN


Voltando a postar depois de um bom tempo sem me dedicar ao blog... Vamos ao que interessa, eu estive procurando um servidor opensource para realizar a captura e analise do trafego de netflow da minha rede, ai me indicam o NFDUMP/NFSEN, porém não consigo encontrar um tutorial em português para a instalação do mesmo, devido a isso estou trazendo neste post um pequeno tutorial de como instalar e configurar um servidor para netflow na rede, utilizando o NFDUMP para coleta dos dados e o NFSEN para colocar os dados em forma gráfica.

Requisitos:
Uma maquina com sistema operacional Debian ou derivados (pode ser instalado em sistemas derivados do Red-Hat, mas como tenho mais familiaridade com o Debian vou fazer nele).
Recomendo deixar dedicada uma partição “/data” na hora da instalação do sistema operacional, nessa partição que será instalado e armazenado os arquivos de instalação e os dados coletados que por sinal esse ultimo é bem grande dependendo do tamanho e trafego gerado em sua rede.

1° passo: Atualizar o sistema operacional

# apt-get update
# apt-get upgrade

Depois de atualizar o sistema vamos instalar os pacotes necessários para rodar o NFDUMP

2° passo: Instalação de pacotes do NFDUMP

# apt-get update && apt-get install gcc flex librrd-dev make

Instalados os pacotes, podemos agora baixar o NFDUMP e fazer sua instalação no servidor

3° passo: Baixando e instalando o NFDUMP

# cd /usr/src/

Realizando o download do NFDUMP:

# wget http://sourceforge.net/projects/nfdump/files/stable/nfdump-1.6.8p1/nfdump-1.6.8p1.tar.gz
Extraindo a pasta do instalador:

# tar zxvf nfdump-1.6.8p1.tar.gz

Entrando na pasta que acabamos de extrair:

# cd nfdump-1.6.8p1

Executando o instalador do NFDUMP e também habilitando o “nfprofile” para utilizarmos o 

NFDUM com o NFSEN:

# ./configure --enable-nfprofile
# make && make install

Feito isso, é hora de testar e ver se os passos executados até agora deram certo.

# mkdir /tmp/nfcap-test
# nfcapd -E  -p 9001 -l /tmp/nfcap-test

PS: caso não apareça nada é provável que o seu firewall esteja bloqueando ou pode ser o SElinux, verifique-os.

Agora vamos consultar o arquivo gerado e ver se está com a captura correta de dados

# ls -l /tmp/nfcap-test

Deve aparecer um ou mais arquivos no formato “nfcapd.ANOMESDIAHRMIN” , os arquivos gerados contem em seu nome depois do ponto o ANO, MÊS, DIA, HR e MIN que foi gerado, deixando mais fácil do administrador localizar um arquivo.

Localizado o arquivo desejado, podemos executar os seguintes comandos:

# nfdump -r /tmp/nfcap-test/nfcapd.201Ywwxxyyzz | less
# nfdump -r /tmp/nfcap-test/nfcapd.201Ywwxxyyzz -s srcip/bytes

Feito isso e mostrando os resultados desejados, podemos partir para a segunda parte o NFSEN.

4° passo: Instalar os pacotes necessários para o NFSEN.

# apt-get install apache2 libapache2-mod-php php-common libmailtools-perl rrdtool librrds-perl

5° passo: Baixar e Instalar o NFSEN.

# cd /usr/src/

Realizando o download do NFSEN:

# wget http://sourceforge.net/projects/nfsen/files/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz

Extraindo a pasta do instalador:

# tar zxvf nfsen-1.3.6p1.tar.gz

Entrando na pasta do NFSEN:

# cd nfsen-1.3.6p1

Agora vamos instalar o modulo Socket6 do perl:

# perl -MCPAN -e 'install Socket6'

Feito isso vamos copiar o arquivo de configuração para realizarmos as modificações necessárias:

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

Procure e modifique as sequintes linhas no arquivo:

$BASEDIR = "/var/nfsen";
$WWWUSER = "www-data";
$WWWGROUP = "www-data";
%sources = (
'MYROUTER' => { 'port' => '9001', 'col' => '#0000ff', 'type' => 'netflow' },
);

Explicando as linhas:

$BASEDIR = "/var/nfsen"; Aqui definimos o caminho que sera instalado o NFSEN;
$USER = "www-data"; : Estamos definindo aqui o usuario do apache para acesso ao netflow;
$WWWGROUP = "www-data"; : Definindo o grupo do usuario;
%sources = ( : Aqui definimos os equipamentos que enviarão trafego de netflow para nosso servidor, se tiver mais de um equipamento pode adicionar outra linha com outra porta “9002” por exemplo.

Depois de tudo isso, vamos para a etapa final da configuração:

Criar uma pasta para o nfsen

# mkdir -p /data/nfsen

Instalar o nfsen

# ./install.pl /etc/nfsen.conf

Entrar na pasta da instalação do nfsen

# cd /data/nfsen/bin

Iniciar o nfsen:

# ./nfsen start

Agora só falta configurar o nfsen para iniciar junto com o linux:

# ln -s /data/nfsen/bin/nfsen /etc/init.d/nfsen
# update-rc.d nfsen defaults 20

Pronto, terminamos a instalação do servidor de flow agora é só acessar e se divertir:
http://ipdoservidor/nfsen/nfsen.php

Encontrou algum erro no tutorial? Ficou com duvida em algum ponto? No seu cenário não funcionou? Deixe um comentário abaixo e vamos tentar solucionar J