anúncios

quarta-feira, 18 de janeiro de 2012

Usando NTOP para monitorar a rede

O NTOP é uma ferramenta para monitorar e gerenciar redes de computadores, além de ter muitos recursos que demonstram tudo através de gráficos e informações detalhadas que permitem com que haja interação entre usuários. Monitora e gera relatórios sobre o tráfego e suporte dos hosts por estes protocolos:TCP/UDP/ICMP, (R)ARP, IPX, DLC, DECnet, AppleTalk, Netbios, TCP/UDP.

Instalando o NTOP

Slackware
Dependências: rrdtool, GeoIP, and graphviz
rrdtool
$wget "http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz"
$wget "http://slackbuilds.org/slackbuilds/13.1/libraries/rrdtool.tar.gz"
$tar -xzvf rrdtool.tar.gz
$mv rrdtool-1.4.5.tar.gz rrdtool
$cd rrdtool
$chmod +x rrdtool.Slackbuild
#./rrdtool.Slackbuild

Aguarde... irá descompactar, converter para tgz e mover para /tmp
#installpkg /tmp/rrdtool-1.4.5-i486-1_SBo.tgz

GeoIP
$wget "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.5.tar.gz"
$wget "http://slackbuilds.org/slackbuilds/13.1/network/GeoIP.tar.gz"
$tar -xzvf GeoIP.tar.gz
$mv GeoIP-1.4.5.tar.gz GeoIP
$cd GeoIP
$chmod +x GeoIP.Slackbuild
#./GeoIP.Slackbuild

Aguarde... irá descompactar, converter para tgz e mover para /tmp
#installpkg /tmp/GeoIP-i486-1_SBo.tgz

graphviz
$wget "http://graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.3.tar.gz"
$wget "http://slackbuilds.org/slackbuilds/13.1/graphics/graphviz.tar.gz"
$tar -xzvf graphviz.tar.gz
$mv graphviz-2.26.3.tar.gz graphviz
$cd graphviz
#./graphviz.Slackbuild

Aguarde... irá descompactar, converter para tgz e mover para /tmp
#installpkg graphviz-i486-1.SBo.tgz

Ntop
$wget "http://sourceforge.net/projects/ntop/files/ntop/ntop-4.0.1/ntop-4.0.1.tar.gz?download"
$wget "http://slackbuilds.org/slackbuilds/13.1/network/ntop.tar.gz"
$tar -xzvf ntop.tar.gz
$mv ntop-4.0.1.tar.gz ntop
$cd ntop
$chmod +x ntop.Slackbuild
#./ntop.Slackbuild


Aguarde... irá descompactar, converter para tgz e mover para /tmp

#installpkg /tmp/ntop-4.0.1-i486-1_SBo.tgz

OU
$wget "http://http://prdownloads.sourceforge.net/ntop/ntop-4.0.1.tar.gz?download"
$tar -xzvf ntop-4.0.1.tar.gz
$cd ntop-4.0.1
$#./autogen.sh
#make
#make install


Debian

#apt-get install libcap libcap-dev glib gdbm gdbm-devel
#apt-get install libtool automake autoconf -y
#apt-get install gcc cpp -y
#apt-get install tcpdump nmap -y
#apt-get install libpcap-devel zlib zlib-devel geoip geoip-devel
$wget "http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-4.0.1.tar.gz"
$tar -xzvf ntop-4.0.1.tar.gz
$cd ntop-4.0.1
$#./autogen.sh
#make
#make install


CentOS

#yum install libcap libcap-devel glib gdbm gdbm-devel
#yum install libtool automake autoconf -y
#yum install gcc cpp -y
#yum install tcpdump nmap -y
#yum install libpcap-devel zlib zlib-devel geoip geoip-devel
$wget "http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-4.0.1.tar.gz"
$tar -xzvf ntop-4.0.1.tar.gz
$cd ntop-4.0.1
$#./autogen.sh
#make
#make install


Agora vamos definir uma senha para o usuário admin do NTOP. Para isso vamos executar o comando abaixo:

#ntop

http://IP-SERVIDOR:3000

Feito!

sábado, 14 de janeiro de 2012

Usando Sarg para monitorar acessos do Squid

Hoje irei explicar como instalar e configurar o Sarg, para gerar relatórios de acessos do servidor proxy Squid configurado no post anterior.

PS: Até a data deste post a versão do Sarg é 2.3.2, portanto verifique antes a versão atual, e apenas substitua pela versão correspondente na linha wget. Ok.

Fazendo download e instalando o Sarg
$mkdir downloads/sarg
$wget "http://prdownloads.sourceforge.net/sarg/sarg-2.3.2.tar.gz?download
$tar -xzvf sarg-2.3.2.tar.gz
$mv sarg-2.3.2.tar.gz sarg
#mkdir /var/www/htdocs/relatorios
#mkdir /usr/local/squid/sarg/
#cd sarg
#./configure --enable-sysconfdir=/usr/local/squid/sarg --enable-htmldir=/var/www/htdocs/relatorios
#make
#make install

Arquivo de configuração do Sarg
#vim /usr/local/etc/sarg.conf

# Relatório proxy Squid por dia

# Arquivo de LOG do Squid, na sua configuração do Squid tem
# falando onde se encontra este arquivo.
access_log /var/log/squid/access.log

# Título da página HTML
title "Relatório Proxy Squid"

# --- Visual ---
# Aqui tem várias variáveis que você pode mudar para deixar o
# visual do relatório (cores, fontes, etc) de acordo com o que
# você quiser. Aqui estou usando os valores padrões.
font_face Arial
header_color darkblue
header_bgcolor blanchedalmond
header_font_size -1
background_color white
text_color black
text_bgcolor beige
title_color green
#--- Fim do Visual ---

# Diretório Temporário
temporary_dir /tmp

# Diretório de Saída para as página de relatório, ou seja,
# onde o relatório vai ficar para consulta via um navegador.
# "Geralmente" esse diretório tem que estar dentro do root do seu
# servidor Web
output_dir /var/www/htdocs/relatorios/dia

# Qual critério de ordem para a seção "TopUser?" USER/CONNECT/BYTES/TIME
# Isso irá organizar o relatório na seção de TopUsers, colocando os usuários
# que mais baixaram bytes primeiro.
topuser_sort_field BYTES reverse

# Qual critério de ordem para a seção "User"? SITE/CONNECT/BYTES/TIME
# Isso irá organizar a seção de usuários da mesma forma que o item anterior.
user_sort_field BYTES reverse


# Arquivo com hosts que não devem estar nos relatórios
#exclude_hosts /usr/local/etc/exclude.hosts
exclude_hosts /usr/local/squid/sarg/exclude.hosts

# Formato da data (e=dd/mm/yy, u=mm/dd/yy, w=yy/ww)
date_format e

# Limite de logs até os antigos serem removidos, quando houver mais
# de N relatórios, o mais antigo é automaticamente removido. Aqui
# estamos indicando para nunca apagar nada.
lastlog 0

# Remover arquivos temporários após o uso?
remove_temp_files yes

# Gerar o index.html? (only = gera só o index.html principal)
index yes

# Sobrescrever o relatório se já existe?
overwrite_report yes

# O que fazer com registros sem usuário? (ignore/ip/everybody)
records_without_userid ignore

# Usar vírgula ao invés de ponto?
use_comma no

# Qual a quantidade de sites mais visitados à listar?
topsites_num 100

# Qual critério de ordem para o topsites? CONNECT/BYTES A/D
# Aqui diz para ordenar os sites mais acessados por utilização de banda,
# em forma decrescente.
topsites_sort_order BYTES D

# Arquivo de códigos HTTP para serem ignorados no relatório
#exclude_codes /usr/local/etc/exclude_codes
exclude_codes /usr/local/squid/sarg/exclude_codes

# Tempo de checkagem
max_elapsed 28800000

# -- Tipo de Relatorio a ser gerado --
# + topsites - Mostra o site, conexão e bytes
# + sites_users - Mostra que usuários estavam acessando um site
# + users_sites - Mostra sites acessados pelo usuário
# + date_time - Mostra quantidade de bytes usados por dia e hora
# + denied - Mostra todos os sites negados com URL completa
# + auth_failures - Mostra falhas de autentificação
report_type topsites users_sites sites_users date_time denied auth_failures site_user_time_date

# Exibir URLs completas? (Não recomendado)
long_url no

# Se alguma linha do access.log conter uma das strings, será ignorada
#exclude_string /etc/sarg/exclude.strings
exclude_string /usr/local/squid/sarg/exclude.strings

# Mostrar mensagem de sucesso na geração do relatório no fim?
show_successful_message no

# Campos para a seçao topusers
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE

# Quantidade de usuários para listar no relatório topsites
topuser_num 0


#sarg
SARG: Registros no arquivo: 442, lendo: 100,00%

Verifique se existe o arquivo /etc/cron.daily/sarg. Caso não existir, crie o arquivo chamado como /usr/local/bin/sarg
Coloque o código do script abaixo em um desses arquivos

#!/bin/bash

HOJE=$(date --date "1 day ago" +%d/%m/%Y)

/usr/sbin/sarg -f /usr/local/etc/sarg.conf -d $HOJE-$HOJE
exit 0


Adicione o script no /etc/crontab

01 1 * * * root /etc/cron.daily/sarg

O crontab irá ser executado o script todos os dias de madrugada.

Visualizando os acessos
http://IP-SERVIDOR-PROXY/relatorios/dia/

Feito!