anúncios

Mostrando postagens com marcador Gerencia de Redes. Mostrar todas as postagens
Mostrando postagens com marcador Gerencia de Redes. Mostrar todas as postagens

quinta-feira, 23 de junho de 2022

Verificando IPs ativos na rede

O presente post, tem como objetivo explicar como listar os IPs ativos de sua rede com a ferramenta fping.

Instalando o Fping

No Debian e derivados

$ sudo apt install fping

No RHEL, Fedora

$ sudo yum install fping

No Arch Linux e derivados

$ sudo pacman -S fping

Utilizando na prática o Fping

Após instalar a ferramenta fping, abrir o terminal e digitar como segue abaixo:

A variável IP_LAN/MASK substitui pelo respectivo IP e máscara de sua rede correspondente.

$ fping -g <IP_LAN/MASK>

Irá listar todos os IPs da rede informando como online e offline

Para verificar apenas os IPs ativos, utilize o parâmetro -a

$ fping -a -g <IP_LAN/MASK>

Para omitir as mensagens de erro de hosts offline, utilize o parâmetros -q

$ fping -a -q -g <IP_LAN/MASK>

Para listar de forma ordenada, utilize junto ao pipe o "sort -n"

$ fping -a -q -g <IP_LAN/MASK> | sort -n

Feito!

segunda-feira, 18 de abril de 2022

Conhecendo 5 exemplos práticos da ferramenta Nmap

O Nmap é uma ferramenta de portscan da rede, desenvolvido pelo Gordon Lyon, autoproclamado hacker Fyodor. É bastante utilizado para avaliar a segurança de redes de computadores.

Instalando o Nmap no GNU/Linux

Debian e derivados

$ sudo apt install nmap

RHEL e derivados

$ sudo yum install nmap

Arch e derivados

$ sudo pacman -S nmap

openSUSE

$ sudo zypper install nmap

Veja os 5 exemplos práticos que podem ser utilizado com a ferramenta Nmap

Descobrir endereços IP conectados na rede

$ sudo nmap -sP <IP/MASK>

Descobrir quais portas TCP estão abertas na máquina

$ sudo nmap -sT <IP>

Descobrir se uma determinada porta está aberta na máquina

$ sudo nmap -p <PORTA> <IP>

Descobrir o SO de uma máquina

$ sudo nmap -O <IP>

Inventário das máquinas da rede

$ sudo nmap -sS -O -T3 -oA invent <IP/MASK>

Referências

https://nmap.org/book/toc.html

Feito!

segunda-feira, 31 de maio de 2021

Conhecendo o Snort

O que é Snort ?

O Snort é uma sistema de prevenção a intrusões na rede (Intrusion Prevention System - IPS), open source, mantido e desenvolvido pela Cisco há mais de 5 anos. A ferramenta se destaca por sua capacidade de analisar tráfegos em tempo real e registar pacotes de protocolo TCP.

Por meio dessa versatilidade, o Snort consegue desempenhar o papel de três tipos de aplicações cruciais para monitorar um servidor. Assim, pode ser utilizado como Sniffer de pacotes (de modo similiar ao TCPDump e Wireshark), registrador de pacotes e um sistem avançado de prevenção à intrusão.

O que é um IDS ?

IDS é a sigla para Intrusion Detection System (Sistema de Detecção de Intrusão).O IDS faz o monitoramento, mapeamento, identificação e notificação de atividades suspeitas. Na analogia, o IDS executa as funções semelhantes a um sistema de vigilância, mas abstrato, devido ambos monitoram, contam com sensores e alertas e são controlados por uma equipe de pessoas que tomam as decisões cabíveis a cada evento.

Tipos de soluções IDS

Existem diversas soluções de IDS baseadas em host (Host Instrusion Detection System (HIDS) ou em redes. A primeira consiste no monitoramente e análise de informações extraídas de um host, atuando como um verificador de registros de logs, útil para atividades forenses (forensics).

Por outro lado, quando baseada em rede (Network Instrusion Detection System (NIDS), o foco é o tráfego e a transferência de pacotes. É nesse modo de funcionamento que o Snort se enquadra.

Convém ressaltar, que a implantação simultânea de ambos os modelos de IDS é possível. A fusão do HIDS com NIDS resulta o que chamamos Hybrid Instrusion Detection System, ou seja, um sistema híbrido de detecção de intrusão. Isso é aplicado na segurança de nuvens privadas.

IDS em modo passivo ou reativo

A maneira como a ferramenta age mediante suspeita ou instrusão é um detalhe definido em função do modo de utilização, o qual pode ser passivo ou reativo.

O modo passivo funciona da seguinte maneira: Ao identificar uma atividade maliciosa, o sistema emite notificações ao administrador que, então, exerce a tomada de decisão. Por padrão, o Snort utiliza do modo passivo.

O modo reativo se encarrega de detectar a instrusão, alertar o administrador e executar uma ação. Como as medidas tomadas pelo IDS são previamente configuradas, o modo reativo, que dispõe de ótimos recursos de prevenção, costuma ser o mais indicado.

Métodos de detecção

Por último e não menos importante, temos os parâmetros de detecção de ameaças. Quais são? São os padrões baseados em: anomalias, assinatura e comportamento.

A detecção por anomalias é um modo comum em aplicações IDS. Ela consiste em levantar o que há de habitual na rotina dos usuários da rede, resultando na montagem de um perfil comum. Surgindo eventos discrepantes, o sistema identifica a anomalia como potencial intrusão.

O método baseado em assinturas, por sua vez, toma como alvo atividades que se enquadram ao que o sistema, previamente configurado pelo SysAdmin, classifica como maliciosas. Logicamente, a sua efetividade requer conhecimento amplo das ameaças virtuais existentes.

A detecção baseada em comportamento identifica os ataques em razão do comportamento do usuário. Uma vantagem do méotodo é a sua flexibilidade estratégica, a qual permitie ao administrador definir uma série de pontos que indiquem uma potencial invasão à rede.

Principais funções do Snort

Qual é o método de detecção utilizado no Snort?

As ameaças são detectadas pelo Snort por meio de assinaturas e está é uma das funcionalidades chave da ferramenta. Ainda que possa ter os seus pontos fracos, como as demais, ela funciona muito bem no Snort de modo similar a um antivírus.

As assinaturas são criadas pela equipe da Cisco e, posteriormente, transmitidas aos ausuários por meio de atualizações. Sendo assim, há uma equipe super qualificada, formada por hackers éticos e especialistas em Segurança da Informação, trabalhando na identificação e no provisionamento de novas ameaças.

O uso de pré-processadores é também, uma caracterísiticas importante do Snort. Eles asseguram, por exemplo, a remontagem de pacotes fragmentados, a análise de desempenho e performance, a detecção de dados sigilosos, a normalização de tráfego em várias instâncias, entre outras tarefas cruciais.

Instalação do Snort

Após conhecer sobre as características do IDS e funcionalidades do Snort, chegou a hora de fazer a instalação do Snort e configurá-lo no seu servidor ou computador pessoal.

Testado nas distribuições Debian 10 e Ubuntu 18.04/20.04 LTS

$ sudo apt update

$ sudo apt install snort

No setup da instalação é perguntado a interface de rede e a rede, então informe conforme o seu cenário.

Antes a interface de rede era eth0, passou para enp2s0, mas isso pode variar, e no caso da rede deve informar juntamente com a máscara.

Teste da instalação e configuração do Snort


$ sudo snort -T -c /etc/snort/snort.conf -i enp2s0

A flag -T significa teste, enquanto a -c mostra ao Snort que o diretório leva ao snort.conf e o -i, indica a interface especificada.

Referências

[1] Manual Snort

[2] Snort Monitor de Redes

Feito!

quinta-feira, 27 de maio de 2021

Conhecendo o Wireshark

O que é Wireshark ?

O Wireshark é uma ferramenta  que analisa o tráfego de rede, e o organiza por protocolos. As funcionalidades do Wireshark são semelhantes com o tcpdump, mas possui uma interface gráfica, com mais informação e possibilidade da utilização de filtros.

Através dessa ferramenta é possível controlar o tráfego de uma rede e monitorar a entrada e saída de dados do computador, em diferentes protocolos, ou da rede à qual o computador está ligado.

Também é possível controlar o tráfego de um determinado dispositivo de rede em uma máquina que pode ter um ou mais desses dispositivos. Se você estiver a rede local, com micros ligados através de um hub ou switch, outro usuário pode usar o Wireshark para capturar todas as suas transmissões.

Instalação do Wireshark no Debian e Ubuntu

Ubuntu 18.04/20.04/Debian 10

Atualiza a lista de repositório

# apt update

Instala o Wireshark

# apt -y install wireshark

Na instalação será perguntado se deseja capturar pacotes com usuário não root, selecione "YES" para poder ter permissão com o usuário regular ao capturar pacotes no Wireshark.

Cria o grupo Wireshark

$ sudo groupadd wireshark

Adicionar o usuário regular no grupo wireshark

$ sudo usermod -a -G wireshark $USER

Alterar o grupo wireshark no diretório e setar permissão adequada

$ sudo chgrp wireshark /usr/bin/dumpcap
$ sudo chmod o-rx /usr/bin/dumpcap
$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
$ sudo chmod +x /usr/bin/dumpcap

Verificar

$ sudo getcap /usr/bin/dumpcap

Saída do comando anterior

/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

Feito!

quarta-feira, 26 de maio de 2021

Conhecendo o TCPDump

O que é TCPDump?

O tcpdump é uma ferramenta utilizada para monitorar os pacotes trafegados numa rede de computadores. Ela mostra os cabeçalhos dos pacotes que passam pela interface de rede.

Alguns exemplos de uso do tcpdump

PS: Adapte a interface de rede e o IP para o seu cenário.

Mostrar quais as ligações de um determinado endereço TCP/IP à porta 80 do seu servidor

# tcpdump -ni esp2s0 src IP and dst port 80

Mostrar as interfaces disponiveis

# tcpdump -D

Mostrar todo o tráfego sem resolver nomes

# tcpdump -n

Mostrar todo o tráfego UDP no adaptador esp2s0

# tcpdump -nAi esp2s0 udp

Mostrar todo o tráfego no host 192.168.2.3 e UDP sem resolver nomes

# tcpdump -n host 192.168.2.3 and udp

Mostrar todo o tráfego no host 192.168.2.3 que seja UDP e destino ou origem a porta 53

# tcpdump -n host 192.168.2.3 and udp and port 53

Mostrar todo o tráfego no host 192.168.2.3 que seja UDP qualquer porta menos a 53 mostra o cabeçalho da camada 2 (enlace)

# tcpdump -ne host 192.168.2.3 and udp and port ! 53

Mostrar todo o tráfego com origem ou destino na porta 80 ou apenas da porta 110

# tcpdump -n tcp and '(port 80or src port110)'

Mostrar os pacotes ICMP referente a qualquer host da rede 192.168.2.0/21 sem resolver nomes

# tcpdump -n icmp and net 192.168.2.0/21

Mostrar todo o tráfego referente ao MAC especificado em resolver nomes

# tcpdump -n ether host 00:ff:31:22:2d:11

Referências


Manual TCPDump

Feito!

sexta-feira, 21 de maio de 2021

Conhecendo o Nmap

O que é Nmap?

O Nmap é uma ferramenta de linha de comando que permite fazer um scan completo em uma rede, para se obter as informações de quais hosts estão ativos. Além disso, ele também permite fazer scan de porta, a fim de descobrir quais portas estão abertas, assim como fornece a informação de quais sistemas estão em execução em um determinado momento.

Alguns comandos do Nmap em rede externa

Detectando falhas em servidores utilizando o método de saída do tipo verbose -v

# nmap -sS -v -Pn -A --open --script=vulneravel IP

Descobre a vulnerabilidade do servidor com aquele endereço de IP especificamente.

Analisando vulnerabilidades em mais endereços de IP de uma rede.
# nmap -sS -v -Pn -A --open --script=vuln + IP/Mask

Descobrindo portas abertas, versões de serviços e sistema operacional que está rodando no alvo.

# nmap -v –sV -Pn -O —open IP

O argumento "-O" pode ser substituído pelo argumento "-A".

Realizando pesquisas sobre alvos

# nmap –script=asn-query,whois-ip,ip-geolocation-maxmind IP

Burlando Firewall

Existem 3 maneiras diferentes de burlar um Firewall em uma rede externa.

# nmap -f -sV -A IP

Neste comando ocorre a fragmentação de pacotes que serão enviados para se conectar ao alvo.

# nmap -sS -sV -A IP

Faz varreduras do tipo SYN na rede alvo.

# nmap -Pn -sV -A IP

Não enviar pacotes ICMP para o alvo, ou seja, não pingar na rede.

Enviando um recado para o administrador que está do outro lado da rede.

# nmap –sS www.dominio.com —verbose –data-string "Você está sendo ownado, admin!"

Buscando falhas de DDoS

# nmarp -sU -A -PN -n -pU:19,53,123,161 –script=ntp-monlist,dns-recursion,snmrp-sysdescr IP

Fazendo brute-force no banco de dados alvo

# nmap --script=mysql-brute IP

scan de uma rede

# nmap -sn IP/Mask

Considerações finais

Use com moderação os comandos informados. É de sua responsabilidade o mau uso dos comandos, esteja ciente disso.

Feito!

quinta-feira, 20 de maio de 2021

Conhecendo o Angry IP Scanner

O que é Angry IP Scanner?

Angry IP Scanner é uma ferramenta que te permite obter o endereço de IP dos dispositivos conectados na mesma rede. O programa verifica o intervalo de endereços que você especifica e mostra o endereço de IP desses computadores a partir do qual obtém uma resposta.

Essa ferramenta é capaz de detectar portas que um computador têm abertas. Quando um sistema é encontrado, seu endereço é mostrado na tela. O usuário pode realizar diferentes ações com ele, desde que sejam permitidas: ver os arquivos compartilhados, acessar seu servidor Web ou FTP, executar ping ou iniciar o Telnet.

Além disso, você pode ver alguns detalhes dos computadores detectados com esta ferramente, como: Hostname, grupo ao qual pertence, endereço MAC e etc.

Instalação

A ferramenta Angry IP Scanner tem para Windows, Linux e macOS. No presente howto será explicado a instalação no Linux (Debian e Ubuntu).

$ wget https://github.com/angryip/ipscan/releases/download/3.7.6/ipscan_3.7.6_amd64.deb -O ipscan.deb

$ sudo dpkg -i ipscan.deb

Após completar a instalação da ferramenta Angry IP Scanner, abre-a e faça o range de IP de sua rede e clique em "Start" para fazer o Scan da rede.

Feito!

sexta-feira, 18 de setembro de 2020

Configurando NAT no roteador

Você tem um servidor web de um projeto que está funcional na máquina virtual dentro de sua rede intranet e deseja disponibilizar o acesso externo, então, esse é o objetivo desse howto.

O presente howto explica os procedimentos utilizado no roteador TP-LINK, mas nos demais roteadores também deve funcionar, pois o conceito é o mesmo, apenas adequar a localização as configurações de NAT no seu roteador.

Pré-requisitos:

Saber o IP e credenciais do roteador

  1. No browser, acesse o IP do roteador com usuário e password
  2. No menu Forwarding e Virtual Server
  3. Adicione um novo redirecionamento em Add New
  4. Informe os campos: Interface, Service Port, IP Address, Internal Port, Protocol, Status e Common Service Port, após preencher, clicar no botão Save

Service Port: Especificar a porta utilizada no serviço no acesso externo.
PS: As portas 80, 21, 22 geralmente são bloqueadas no link residencial. No entanto, precisa escolher porta alta.

IP Address: Informar o IP da rede local que irá responder as requisições.

Internal Port: Especificar a porta utilizada no serviço interno. Por exemplo, a requisição pode chegar na porta 8080 no externo e na porta 80 no interno. O usual é bom utilizar a mesma porta no externo e interno.

Protocol: Qual protocolo irá redirecionar?

  • ALL: significa protocolo TCP e UDP serão redirecionados.
  • TCP: apenas o protocolo TCP irá ser redirecionado.
  • UDP: apenas o protocolo UDP irá ser redirecionado.

Status: Para habilitar a regra, selecione Enable.

Common Service Port: Selecione os serviços pré-configurados defaults. Por exemplo, caso o objetivo for configurar NAT para servidor web, selecione HTTP e o IP Address, finalize clicando no botão Save.

Observações

O redirecionamento não funciona na rede intranet. Para testar o redirecionamento é necessário estar fora da rede intranet, faça o teste no smartphone conectado no 3G, 4G ou peça para algum conhecido acessar de fora.

Esteja ciente que abrir as portas no roteador, qualquer pessoa conectada a Internet irá ter acesso, então alinhe com a segurança do servidor que liberou acesso externo.

Feito!

domingo, 7 de junho de 2020

Calculando sub-rede IPv4 e IPv6 com sipcalc

O que é sipcalc?

O sipcalc é um projeto de código aberto com licença GNU/GPL, que pode ser instalado em sistemas UNIX like, assim como nas distros Linux.

Qual a função do sipcalc?

É uma calculadora de sub-rede (VLSM) no ipv4 e ipv6.

O aplicativo sipcalc recebe como parâmetro um endereço IP e uma másca de rede (netmask) e exibe as informações sobre a rede.

Instalação do sipcalc nas principais distros Linux


Debian, Ubuntu e afins

$ sudo apt install sipcalc

Fedora

$ sudo dnf install sipcalc

Arch, Manjaro

$ sudo pacman -S sipcalc

Utilização do sipcalc

$ sipcalc 192.168.1.2/23 192.168.1.50

Também é possível exibir informações da rede de um domínio, como no exemplo abaixo:

$ sipcalc -d www.google.com.br

E no IPv6?

Visualizando uma classe IPv6

$ sipcalc 2001:0DB8::/32

Dividindo uma classe IPv6

$ sipcalc -S /33 2001:0DB8::/32

Com a opção -S podemos subdividir nossa classe /32 em quantas classes forem necessárias, vejamos o exemplo abaixo:

$ sipcalc -S /64 2001:0DB8::/32

Nesse caso teremos mais de 65 mil classes possíveis contendo mais de 4 Bilhoẽs de endereços ao todo, ou seja, um IPv4 completo.

Com os resultados obtidos conseguimos visualizar onde a rede inicia e termina, lembrando que no IPv6 não existe porção de rede e porção de host.

Podemos também gerar endereços para DNS reverso, conforme segue no exemplo abaixo:

$ sipcalc -r 2001:0DB8:/32

Referência

https://github.com/sii/sipcalc

Feito!

domingo, 10 de novembro de 2019

Instalando Zabbix 4.4 no Debian 10

O que é Zabbix?

Zabbix é um software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados, e usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail e integrar com Telegram com alertas para qualquer evento, o que permite uma reação rápida para os problemas do servidor.

Corretamente configurado, o Zabbix pode desempenhar um papel importante no controle da infraestrutura de TI. Isto é igualmente verdade para as pequenas organizações com alguns servidores e para grandes empresas com um grande número de servidores.

Observação: Testado na distribuição GNU/Linux Debian 10 e a versão atual do Zabbix é 4.4 até a data de publicação desta postagem.

Download do pacote Zabbix no Debian 10

# wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb
# dpkg -i zabbix-release_4.4-1+buster_all.deb
# apt update


Instalação do Server/proxy/frontend

# apt install zabbix-server-mysql
# apt install zabbix-proxy-mysql
# apt install zabbix-frontend-php zabbix-apache-conf

Caso preferir o Nginx como webserver, substituir 'apache' por 'nginx'

Criação do banco de dados para o Zabbix

O SGBD utilizado nesse howto foi MySQL
PS: A partir do MySQL 5.7 e MariaDB 10.2, a autenticação do root é realizado via Socket TCP e o password é o mesmo do usuário regular do sistema.

shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '';
mysql> quit;


Importação do schema e dados no servidor com MySQL

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Configuração das credencias para o servidor Zabbix

# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=secret
Configuração do Frontend

Se o webserver for Apache, como utilizado nesse howto, então edite o arquivo /etc/zabbix/apache.conf e ajuste as configurações como segue:
# vim /etc/zabbix/apache.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone America/Sao_Paulo
Case o webserver for Nginx, edite o arquivo /etc/zabbix/nginx.conf e descomente as linhas seguintes:
liste 80;
server_name zabbix.local;
Edite também o arquivo /etc/zabbix/php-fpm.conf para ajustar conforme segue:
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = America/Sao_Paulo
Instalação do Agent
# apt install zabbix-agent

Inicialização do Agent
# systemctl start zabbix-agent

Inicialização do servidor Zabbix
# systemctl enable zabbix-server
# systemctl start apache2
# update-rc.d zabbix-server enable


Setup Zabbix
No browser http://IP-SERVIDOR/zabbix
Segue os steps conforme os screenshots seguintes:













O usuário e password default são: Admin/zabbix




Feito!

domingo, 11 de dezembro de 2016

Gerenciando endereço IP com PHPIPAM

O que é PHPIPAM e para que serve?

O termo IPAM significa Internet Protocol Address Management, ou seja, é um sistema para gerenciamento dos números IPs de uma determinada rede. Com essa ferramenta o administrador de redes pode planejar, acompanhar e gerenciar a distribuição dos números IPs das redes ou subredes que ele administra.


PHPIPAM é uma ferramenta web para gerenciamento de endereços IP, opensource sob licença GPLv3, desenvolvido em PHP como Back-end e HTML5, CSS3, JS/jQuery como Front-end.

Características do PHPIPAM
  • Divisão de Sub-Redes
  • Suporte a IPv6
  • Autenticação LDAP/OpenLDAP
  • Notificação por e-mail
  • Verificação de host (Ping Check)
  • Calculadora Ipv4 / Ipv6
  • Gerenciamento de Ipv4 / Ipv6 e VLANs

Depois de conhecer o PHPIPAM e pra que serve, podemos seguir os procedimentos de instalação e configuração do PHPIPAM em seu servidor GNU/Linux Debian e/ou CentOS.

Observação: Testado no GNU/Linux Debian 8 (Jessie) / CentOS 7 e versão do PHPIPAM é 1.2.1 até a data de publicação deste post.

Instalação dos pacotes pré-requisitos do PHPIPAM
No Debian:
Atualizando o repositório de pacotes
# apt-get update
Instalando os pacotes pré-requisitos necessários
# apt-get install apache2 php5 php5-cli php5-mysql php5-mcrypt php5-json php-gettext php-xml-parser php5-gmp php5-ldap php-pear mysql-server openssl
No CentOS:
Atualizando o repositório de pacotes
#yum update
Instalando os pacotes pré-requisitos necessários
#yum install http php php-gd php-mysql mysql-server-devel mysql-server
Reiniciar o serviço do Apache e MySQL
# service httpd start
# service mysqld start


Download do PHPIPAM
# mkdir /tmp/phpipam && cd /tmp/phpipam
# wget -c "https://sourceforge.net/projects/phpipam/files/latest/download" -O phpipam-1.2.1.tar
# tar -xvf phpipam-1.2.1.tar -C /var/www/html

Parâmetros de Configuração
Informar as informações do nome da base de dados, usuário e senha no arquivo config.php localizado no diretório raíz do Apache dentro do diretório phpipam.
Antes renomeia o config.dist.php para config.php
# cd /var/www/html/phpipam
# mv config.dist.php config.php

Editar o arquivo config.php com as informações solicitadas
# vim config.php
$db['host'] = "localhost";
$db['user'] = "phpipam";
$db['pass'] = "phpipam_senha";
$db['name'] = "phpipam";

Na linha 51: define('BASE', "/phpipam");

Configuração da base de dados
Criando o banco de dados phpipam no MySQL
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
# mysql> create database phpipam character set utf8;

Criado o usuário phpipam com sua respectiva senha para o banco criado anteriormente
# mysql> GRANT ALL on phpipam.* to phpipam@localhost identified by ‘phpipam_senha’;
Query OK, 0 rows affected (0.00 sec)
# mysql> quit
Bye

Importação da base SCHEMA.sql
# mysql -u phpipam -p
Enter password: < digite a senha definida para phpipam, a mesma colocada no arquivo config.php >
# mysql> use phpipam;
# mysql> source /var/www/html/phpipam/db/SCHEMA.sql;
# mysql> quit
Bye

Configuração do arquivo .htaccess
# vim /var/www/html/phpipam/.htaccess
Descomentar a linha e adicionar /phpipam como segue
RewriteBase /phpipam/

Criando VirtualHost no Apache
# vim /etc/apache2/sites-available/phpipam.conf

Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

Habilitar o VirtualHost criado anteriormente
# a2ensite phpipam
Habilitar o módulo ReWrite do Apache
# a2enmod rewrite
Reload do Apache
# service apache2 reload
Acesse no browser http://IPSERVIDOR/phpipam

No primeiro acesso o password default para o admin é ipamadmin que depois é solicitado a troca do password.


Referências
http://phpipam.net/documents/installation/
Feito!

sexta-feira, 23 de outubro de 2015

Instalando e Configurando o Cacti no Debian

O que é Cacti ?

Cacti é uma ferramenta de monitoramento de redes opensource sob licença GPL, que lê e exibe informações sobre o estado de uma rede de computadores através de gráficos, permitindo o monitoramento e gerenciamento de redes simples até redes complexas, com centenas de dispositivos. Foi desenvolvido para ser flexível de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e adicionando a isto uma interface Web intuitiva e fácil de usar. Monitora o estado de elementos de rede e programas bem como largura de banda utilizada e uso de CPU.

Trata-se de uma interface e uma infra-estrutura para o RRDTool, que é responsável por armazenar os dados recolhidos e por gerar gráficos em um banco de dados MySQL. A interface é completamente orientada à PHP. As informações são repassadas para a ferramenta através de scripts ou outros programas escolhidos pelo usuário os quais devem se encarregar de obter os dados.

Utiliza-se adicionalmente o protocolo SNMP para consultar informações em elementos de redes e/ou programas que suportam tal protocolo. Sua arquitetura prevê a possibilidade de expansão através de plugins que adicionam novas funcionalidades. Um destes plugins é o PHP Network Weathermap que mostra um mapa da rede e o estado de cada elemento.

Depois de conhecer o Cacti e pra que serve, podemos seguir os procedimentos de instalação e configuração do Cacti no seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão do Cacti é 0.8.8f até a data de publicação deste post


Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install gcc make apache2 mysql-server libmysqlclient-dev libperl-dev php5 php5-mysql snmp snmpd libsnmp-dev libsnmp-base libnet-snmp-perl rrdtool openssl

Criando o banco de dados e usuário para o Cacti no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database cacti character set utf8;
Criar o usuário cactiuser para o banco cactiuser
mysql> GRANT ALL PRIVILEGES ON *.* TO cactiuser@localhost IDENTIFIED BY 'senha_cactiuser' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> quit


Criando usuário cactiuser sem Shell
#useradd cactiuser -s /bin/false
#passwd cactiuser
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso


Download Cacti
Opcional: Criar um diretório cacti em Downloads
$mkdir /home/SEU_USUARIO/Downloads/cacti
$cd /home/SEU_USUARIO/Downloads/cacti
$wget -c "http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz"
#tar -xzvf cacti-0.8.8f.tar.gz -C /var/www/html
#mv cacti-0.8.8f.tar.gz cacti
#cd /var/www/html/cacti


Download Cacti-Spine
#cd /home/SEU_USUARIO/Downloads/cacti
$wget -c "http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz"
Extrair no diretório /usr/src
#tar -xzvf cacti-spine-0.8.8f.tar.gz -C /usr/src
#cd /usr/src/cacti-spine-0.8.8f
#./configure
#make
#make install


Local de instalação do Cacti-Spine: /usr/local/spine
Ajuste de parâmetros do banco de dados no arquivo de configuração spine.conf
#cd /usr/local/spine/etc
#cp spine.conf.dist spine.conf.dist.orig
#cp spine.conf.dist spine.conf
#vim spine.conf

Altere as linhas 33 até 37 de acordo com os dados do seu banco de dados MySQL.
ESC + :x (salva e sai do editor Vim)

Ajustes da ferramenta web do Cacti
#cd /var/www/html/cacti/include
Altere as linhas 26 até 31 de acordo com os dados do seu banco de dados MySQL.
ESC + :x (salva e sai do editor Vim)

Setando permissão no usuário para geração de gráficos e logs
chown -R cactiuser rra/ log/

Assim terá o acesso a ferramenta Cacti.
Importando as tabelas do banco de dados
#cd /var/www/html/cacti
#mysql -u cactiuser -p cacti < cacti.sql


Conferir se foi importado as tabelas
#mysql -u cactiuser -p
Enter password: < digite a senha cadastrada >
#use cacti;
#show tables;


+---------------------------+
| Tables_in_cacti |
+---------------------------+
| cdef |
| cdef_items |
| colors |
| data_input |
| data_input_data |
| data_input_fields |
| data_local |
| data_template |
| data_template_data |
| data_template_data_rra |
| data_template_rrd |
| graph_local |
| graph_template_input |
| graph_template_input_defs |
| graph_templates |
| graph_templates_gprint |
| graph_templates_graph |
| graph_templates_item |
| graph_tree |
| graph_tree_items |
| host |
| host_graph |
| host_snmp_cache |
| host_snmp_query |
| host_template |
| host_template_graph |
| host_template_snmp_query |
| plugin_config |
| plugin_db_changes |
| plugin_hooks |
| plugin_realms |
| poller |
| poller_command |
| poller_item |
| poller_output |
| poller_reindex |
| poller_time |
| rra |
| rra_cf |
| settings |
| settings_graphs |
| settings_tree |
| snmp_query |
| snmp_query_graph |
| snmp_query_graph_rrd |
| snmp_query_graph_rrd_sv |
| snmp_query_graph_sv |
| user_auth |
| user_auth_perms |
| user_auth_realm |
| user_log |
| version |
+---------------------------+
52 rows in set (0.01 sec)

Reiniciar o serviço do MySQL
# /etc/init.d/mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[ ok ] Starting MySQL database server: mysqld


Reiniciar o serviço do Apache
# /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2

Acessar no browser -> http://IPSERVIDOR/cacti

Clicar no botão Next

Selecionar New Install e clicar no botão Next

Conferir se foram encontrados os arquivos binários, deve estar [FOUND] na cor verde, caso estive [NOT FOUND] na cor vermelha, provavelmente faltou instalar algum pacote pré requisito.
Estando em [FOUND] clique no botão Next, caso contrário, revise e instale o pacote faltante.

Logue com usuário admin e senha admin e clique no botão Next

Será necessário trocar d senha default, digite a nova senha, confirme a nova senha e clique no botão Next

Assim terá o acesso a ferramenta Cacti.

Agora adicionar o Cacti-Spine como segue abaixo
Settings na aba Paths em Spine Poller File Path colocar o caminho onde se encontra o arquivo binário do spine, nesse caso é: /usr/local/spine/bin/spine conforme a figura abaixo


Configurar máquina Windows para ser monitorada no Cacti
Iniciar>Programas padrão>Programas recursos>Ativar ou desativar recursos do Windows> aguarde e marque Protocolo SNMP OK
Iniciar>executar> services.msc
Procura por SNMP, clica e na aba Segurança, adicione um nome para uma comunidade e aceitar pacotes SNMP depois Aplicar.

Agora fazer configuração na ferramenta Cacti, adicionar o Host que foi configurado.
Em Devices - clique em Add
Colocar o Host incluindo SO, IP e o nome da comunidade definida no host.
Clicar no botão Create
E depois criar gráfico, veja que irá detectar as partições e todas as redes do Host.
Criar uma árvore em Graph Trees, clicar em Add, colocar uma nome para árvore e clicar em Create.
Adiciona os Hosts nessa árvore
Tree Item Type: Host
Host: seleciona o Host criado
Graph Style: seleciona o tipo de template
Round Robin Archive: seleciona o tempo
Clicar em Create
Lá em cima, aba Graph, tem a árvore de host que foram criadas.

Referências
http://www.cacti.net/downloads/docs/html/
http://wiki.ciscolinux.co.uk/index.php?title=Cacti_spine

Feito!

domingo, 18 de outubro de 2015

Instalando e Configurando o Nagios no Debian

O que é Nagios ?

Nagios é uma ferramenta de monitoramento de redes opensource sob licença GPL, que verifica constantemente a disponibilidade do serviço, seja local ou remoto e avisa por meio de email ou celular sobre o problema ocorrido. É possível obter relatórios de disponibilidade e configurar ações corretivas para os problemas ocorridos na rede.

Na real o Nagios faz o que o Zabbix também faz.

Depois de conhecer o Nagios e pra que serve, podemos seguir os procedimentos de instalação e configuração do Nagios em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão do Nagios é 4.1.1 até a data de publicação deste post.

Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 mysql-server php php-gd php-mysql php-curl php-imap php-ldap

Criando usuário Nagios sem Shell
#useradd nagios -s /bin/false
root@Saitam:# passwd nagios
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso


Adicionando o usuário nagios no grupo nagcmd
#groupadd nagcmd
#usermod -a -G nagcmd nagios
#usermod -a -G nagcmd www-data


Download do Nagios
Opcional: Criar um diretório nagios em Downloads
$mkdir /home/SEU_USUARIO/Downloads/nagios
$cd /home/SEU_USUARIO/Downloads/nagios
$wget -c "http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.1.1/nagios-4.1.1.tar.gz"


Extrair o arquivo nagios-4.1.1.tar.gz no /usr/src/
#tar -xzvf nagios-4.1.1.tar.gz -C /usr/src/
Acessar até o diretório extraído
#cd /usr/src/nagios-4.1.1
Executar o ./configure com os argumentos
#./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-nanosleep --enable-event-broker --with-snmp --with-net-snmp --with-snmpwalk --with-snmptranslete --with-snmpget

Compilação dos sources do Nagios
#make all

Instalação do Nagios
#make install
#make install-init
#make install-commandmode
#make install-config


Criação do arquivo nagios.conf
#/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/conf-enabled/nagios.conf
#cp -R contrib/eventhandlers/ /usr/local/nagios/libexec #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers/

Criar o usuário de acesso ao Nagios
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin


OBS: O argumento -c é apenas para o primeiro usuário, para os demais usuários segue o mesmo comando acima sem o -c.

Starta o serviço do Apache e Nagios
#service apache stop
#service apache2 start
#/etc/init.d/nagios start

Agora, faça um teste de acesso no browser: http://IPSERVIDOR/nagios
Estando tudo OK até aqui, passe para o próximo passo, que é a instalação de plugins do Nagios.

Instalação de plugins
#cd /home/SEU-USUARIO/Downloads/nagios
#wget -c "http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz"
#tar -xzvf nagios-plugins-2.1.1.tar.gz -C /usr/src/nagios-4.1.1/
#cd /usr/src/nagios-4.1.1/nagios-plugins-2.1.1/
#./configure --prefix=/usr/local/nagios/plugins --with-nagios-user=nagios --with-nagios-group=nagcmd
#make
#make install


Reinicie o serviço Nagios
#service nagios stop
Stopping nagios:. done.

#service nagios start
Starting nagios: done.
Acesse no browser: http://IPSERVIDOR/nagios

Screenshot da tela de autenticação e após autenticar-se no Nagios



Referências
https://library.nagios.com/library/products/nagioscore/documentation
http://nagios-plugins.org/doc/man/
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/

Feito!

segunda-feira, 27 de julho de 2015

Instalando e configurando Zabbix no Debian

O que é o Zabbix ?

Zabbix é um software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados, e usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail com alertas para qualquer evento, o que permite uma reação rápida para os problemas do servidor.

Corretamente configurado, o Zabbix pode desempenhar um papel importante no controle da infraestrutura de TI. Isto é igualmente verdade para as pequenas organizações com alguns servidores e para grandes empresas com um grande número de servidores.

O Zabbix é escrito e distribuído sob a GNU General Public License versão 2. Isso significa que seu código-fonte é distribuído gratuitamente e está disponível para o público em geral.

Depois de conhecer o Zabbix e pra que serve, podemos seguir os procedimentos de instalação e configuração do Zabbix em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do Zabbix é 2.4.45 até a data de publicação deste post.

Segue os procedimentos de instalação e configuração do Zabbix
Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 mysql-server php php-gd php-mysql php-curl php-imap php-ldap

Criando o banco de dados Zabbix no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
Criar o banco de dados zabbix
mysql> create database zabbix character set utf8;
Criar o usuário zabbix para o banco zabbix
mysql> GRANT ALL PRIVILEGES ON *.* TO zabbix@localhost IDENTIFIED BY 'senha_zabbix' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
Listar o banco zabbix que foi criado e demais bancos existentes.
mysql> show database;
mysql> quit

Criando usuário Zabbix sem Shell
#useradd zabbix -s /bin/false
root@Saitam:/etc/mysql# passwd zabbix
Digite a nova senha UNIX: < digite uma senha para o usuário zabbix >
Redigite a nova senha UNIX: < digite a mesma senha informada acima >
passwd: senha atualizada com sucesso

Algumas parametrizações no PHP para o Zabbix
Altere as linha 121, 372, 660, 884 do arquivo /etc/php5/apache2/php.ini e deixe como segue:
max_input_time = 300
max_execution_time = 300
post_max_size = 16M
date.timezone = "America/Sao_Paulo"
Descomentar a linha 704 para não falhar no setup da tela 1 para 2 always_populate_raw_post_data = -1

Reinicie o serviço Apache para efeito
#service apache2 restart

Download do Zabbix
Opcional: Salvo em /usr/src/
#cd /usr/src/
#wget -c "https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz"

Extraindo o arquivo zabbix-2.4.5.tar.gz
# tar -xzvf zabbix-2.4.5.tar.gz
# cd zabbix-2.4.5
Executar o configure com as opções
#./configure --enable-server --enable-agent --with-mysql --with-netsnmp --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi
Após finalizar de checar a execução do arquivo configure, se aparecer no final 'execute run make install' é porque está pronto para o próximo passo.
# make install

Populando o banco Zabbix
# cd database/mysql
# mysql -D zabbix -u zabbix -p < schema.sql
Enter password: < digitar a senha definida para o usuário zabbix >

# mysql -D zabbix -u zabbix -p < images.sql
Enter password: < digitar a senha definida para o usuário zabbix >

# mysql -D zabbix -u zabbix -p < data.sql
Enter password: < digitar a senha definida para o usuário zabbix >


Configuração do Banco MySQL para Zabbix está OK
Ajuste de permissões
# mkdir /etc/zabbix
# chown -R zabbix.zabbix /etc/zabbix/

Local de configuração padrão do Zabbix
# cd /usr/local/etc
# vim zabbix_agent.conf
Altere a linha 13
Server=192.168.1.5 #Altere para o IP do seu servidor Zabbix
# vim zabbix_server.conf
Verifique as linhas 78,92,102
DBName=zabbix #Nome do banco de dados criado
DBUser=zabbix #Usuário do banco de dados criado
DBPassword=zabbix #Senha do banco de dados criado

Criar um link simbólico no local default (/usr/local/etc/) do Zabbix para /etc/zabbix
# ln -s /usr/local/etc/ /etc/zabbix/

Ajustar scripts de inicialização Zabbix para o Debian
# cd /usr/src/zabbix-2.4.5/misc/init.d/debian
# cp zabbix-* /etc/init.d/
# cd /etc/init.d/
# chmod +x zabbix-server
# chmod +x zabbix-agent
# rcconf
Marque as opções zabbix-server e zabbix-agent
Startar os serviços Zabbix
# /etc/init.d/zabbix-server start
Starting Zabbix server daemon: zabbix_server
# /etc/init.d/zabbix-agent start
Starting Zabbix agent daemon: zabbix_agentd
Criar o diretório zabbix no /var/www/html
# mkdir /var/www/html/zabbix
Copiar o diretório frontends do Zabbix para o /var/www/html/zabbix
# cd ../../../
# cp -R frontends/php/* /var/www/html/zabbix/
# chown -R www-data:zabbix /var/www/html/zabbix/

Criar o VirtualHost zabbix
# cd /etc/apache2/sites-available/
# cp 000-default.conf zabbix.conf
# vim /etc/apache2/sites-available/zabbix.conf
Alterar a linha 12 e deixar como segue:
DocumentRoot /var/www/zabbix/ Habilitar o VirtualHost
# a2ensite zabbix.conf
Reiniciar o Apache
# service apache2 restart
Acesse no navegador: http://< IP ou nome do servidor Zabbix >/zabbix
Irá aparecer as telas de configuração (Setup) do Zabbix
Tela 1: Clique em Next
Tela 2: Se tiver OK, clique em Next
Tela 3: Colocar o nome do banco de dados MySQL criado anteriormente, nome de usuário e senha do banco. Faça o teste de conexão e clique em Next
Tela 4:
Host: Colocar o IP do servidor Zabbix
Port: 10051
Name: Nome do servidor Zabbix
Depois clique em Next.
Tela 5: Apenas de conferência, se tiver OK, clique em Next.
Tela 6: Se seguiu os passos corretamente, receberá nessa tela "Congratulations on successful installation of Zabbix frontend", clique em Finish, caso contrário reveja o howto.
Após terminar o Setup do Zabbix, terá acesso a tela de login, usuário e senha default são conforme abaixo:
Login: admin
Senha: zabbix
Tela final:
Ativar o monitoramento do Zabbix
No menu Configuration -> hosts para visualizar
O host do Zabbix, depois clique em "Not monitored"
NOTA: Se utiliza as regras do firewall em DROP, liberando apenas as portas dos serviços de redes ativos, então lembrar de liberar a porta 10051 default do Zabbix no script firewall.

Referências:
https://www.zabbix.com/documentation/2.4/manual/introduction/about
http://www.vivaolinux.com.br/artigo/Monitoracao-com-Zabbix-no-Debian-Squeeze?pagina=2
http://zabbixbrasil.org/files/Tutorial_de_instala%C3%A7%C3%A3o_do_Zabbix_2.0.0_debian.pdf
Feito!

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!

sábado, 20 de agosto de 2011

Executar Wireshark com usuário comum

Solução do Wireshark para poder executar com user comum, pois antes só era permitido como root e com user comum não reconhecia as interfaces.

Caso executar o wireshark com usuário comum e não reconhecer as interfaces de rede, só funciona logado como root, que não é recomendado!
Então segue:

Crie um grupo com o nome de wireshark e inclua o seu usuário
#groupadd wireshark
#usermod -a -G wireshark saitam
No próximo passo vamos atribuir o dumpcap para o grupo wireshark e que somente usuário dele possam executa-lo.
#chgrp wireshark /usr/bin/dumpcap
#chmod 750 /usr/bin/dumpcap
No próximo passo será dado permissões para o setcap funcionar.
#setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
Verifique se a mudança ocorreu:
#getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

#chmod o+x /usr/bin/dumpcap

Se você obteve uma resposta igual a acima seu Wireshark já deve estar funcionando com as suas interfaces de rede.
$wireshark &
abriu e reconheceu as interfaces de rede

Testado na distribuição Linux Slackware!

Referência:
http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/