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

Waldder Cabral
ResponderExcluirVc não faz idéia do quanto te agradeço por este tuto.
Pesquisei n site pra tentar instalar ese programa e todos sem resultado.
Bastou encontrar seu tuto.
MUUUIITO OBRIGADo
Olá , tentei realizar a instalação e parou exatamente na instalação do Nfsen, ao realizar a última fase de instalação:
ResponderExcluirroot@syslog-tf:/usr/src/nfsen-1.3.6p1# ./install.pl /etc/nfsen.conf
Check for required Perl modules: All modules found.
NFSEN user 'netflow' not found on this system
Não encontrou este usuário "netflow" , e por isso não criou a pasta de instalação abaixo do nfsen.
Entrar na pasta da instalação do nfsen
# cd /data/nfsen/bin
Tem como resolver isso ?
Ou tenho que instalar tudo novamente ? EStou a meses tentando instalar um servidor de log para meu roteador de borda....se puder me ajudar, ficarei muito grato.
ResponderExcluiradduser --home /var/netflow --shell /bin/false --ingroup www-data --disabled-password netflow
ResponderExcluirDebian 10
root@syslog-tf:/usr/src/nfsen-1.3.6p1# ./install.pl /etc/nfsen.conf
ResponderExcluirCheck for required Perl modules: All modules found.
RRD version '1.5001' not yet supported!
Agora está tudo rodando, menos a página , o Apache abre a tela principal, mas não abre o nfsen. Os arquivos de log estão sendo criados no diretório, mas não consigo visulizar o conteúdo...se alguém puder me ajudar....falta pouco.
ResponderExcluirEstá gerando os arquivos no diretório, porém não está mostrando os dados dos IPs do CGNAT do ASR....ele cria os arquvivos....
ResponderExcluirroot@syslog-tf:/var/nfsen/profiles-data/live/peer1/2021/04/16# ls -la
total 32
drwxr-xr-x 2 netflow www-data 4096 abr 16 21:55 .
drwxr-xr-x 3 netflow www-data 4096 abr 16 21:30 ..
-rw-r--r-- 1 netflow www-data 276 abr 16 21:30 nfcapd.202104162125
-rw-r--r-- 1 netflow www-data 276 abr 16 21:31 nfcapd.202104162130
-rw-r--r-- 1 netflow www-data 561 abr 16 21:40 nfcapd.202104162135
-rw-r--r-- 1 netflow www-data 561 abr 16 21:45 nfcapd.202104162140
-rw-r--r-- 1 netflow www-data 561 abr 16 21:50 nfcapd.202104162145
-rw-r--r-- 1 netflow www-data 561 abr 16 21:55 nfcapd.202104162150
Mas executando o comando : nfdump -r nfcapd.202104162145 | less
Date first seen Event XEvent Proto Src IP Addr:Port Dst IP Addr:Port X-Src IP Addr:Port X-Dst IP Addr:Port In Byte Out Byte
Summary: total flows: 0, total bytes: 0, total packets: 0, avg bps: 0, avg pps: 0, avg bpp: 0
Time window: 2021-04-16 21:45:00 - 2021-04-16 21:50:00
Total flows processed: 0, Blocks skipped: 0, Bytes read: 516
Sys: 0.002s flows/second: 0.0 Wall: 0.000s flows/second: 0.0