UTILIZE A PESQUISA!

Sniffer

Sniffers ou farejadores são softwares muito úteis. Tão grande é a utilidade deles, que até os sistemas de IDS (como o Snort) são feitos com base em sniffers. Um sniffer é um programa que consegue capturar todo o tráfego que passa em um segmento de uma rede. Para tornar mais fácil o entendimento, observe a imagem abaixo:

Quando ligamos computador no HUB, e enviamos informação de um computador para o outro, na realidade esses dados vão para todas as portas do HUB, e conseqüentemente para todas as máquinas. Acontece que só a máquina na qual a informação foi destinada enviará para o sistema operacional.

Se um sniffer estivesse rodando nos outros computadores, mesmo sem esses sistemas enviarem a informação que trafega ali para o sistema operacional, o farejador intercederá na camada de rede, capturando os dados e mostrando-os para o usuário, de forma pouco amigável. Geralmente os dados são organizados por tipos de protocolo (TCP, UDP, FTP, ICMP, etc...) e cada pacote mostrado pode ter seu conteúdo lido.

Criptografia Convencional

Princípios da Criptografia Convencional

A criptografia convencional possui cinco elementos:
• o texto plano;
• o algoritmo de criptografia;
• a chave secreta;
• o texto cifrado (codificado);
• o algoritmo de decriptografia.

Observação: A segurança da criptografia depende do segredo da chave, e não do algoritmo que, geralmente, é de domínio público.

A criptografia pode ser classificada de acordo com:
• o tipo de operação utilizada para transformar o texto plano em texto cifrado;
• o número de chaves utilizadas:
- simétrica: utiliza uma única chave;
- assimétrica: utiliza duas chaves ou criptografia de chave pública;
• a forma como o texto plano é processado.

Tempo médio necessário para decriptografia utilizando a força bruta:

Tempo de Inatividade

Pesso desculpas aos usuários do Ponto de Redes, mas vou ter que ficar um tempo sem postar artigos por falta de tempo para fazer os mesmos.
Em breve voltarei a postar novos artigos.
Obrigado pela compreenção.

Configurando Snort e Guardian

Instalando o Snort no Debian



Snort é um "farejador" que analisa todo o tráfego da rede, porém não toma nenhuma atitude. Neste tutorial você verá como integrar o Snort com o Guardian. O Guardian, por sua vez, toma a ação de atualizar o iptables com os alertas gerados pelo Snort, ou seja, ele interpreta o log do Snort e atualiza a regra do iptables.

Antes de iniciar, vamos colocar os seguintes mirrors em nosso sources.list:


Código: Selecionar todos
deb http://ftp.us.debian.org/debian lenny main contrib non-free
deb http://de.debian.org/debian squeeze main

Agora vamos atualizar a lista de pacotes:

# apt-get update

Criar diretório IDS na raiz:

# mkdir /IDS

Criar diretório para instalação do http:

# mkdir /www

Copiar todos os pacotes para /IDS:

# cp snort-xxx.tar.gz /IDS
# cp http-xxx.tar.gz /IDS

Descompactar em /IDS e fazer a compilação:

# tar -zxvf http-xxx.tar.gz
# cd http-xxx

Obs.: Verifique se o pacote build-essential está instalado, pois utilizaremos o compilador GCC e esse pacote já vem o GCC e outros softwares. Caso não esteja devidamente instalado, utilize:

# apt-get -y install build-essential
# ./configure --prefix=/www
# make && make install

Verifique se o iptables está instalado e sua versão utilizando:

# iptables -V

Antes de instalar o Snort, vamos instalar a Libcap, que é necessária para a instalação do Snort:

# apt-cache search libpcap

(assim verificamos o nome e a versão do pacote)

# apt-get -y install libpcap0.8-dev

Foi utilizada a versão 0.8 da libpcap.

Precisamos instalar também o Libpcre:

# apt-get -y install libpcre3-dev

Agora vamos instalar o Snort-xxx:

# tar -zxvf snort-xxx.tar.gz
# cd snort-xxx
# ./configure
# make && make install

Crie os seguintes diretórios:

# mkdir /etc/snort
# mkdir /etc/snort/rules

Ainda no diretório /IDS/snort-xxx faça:

# cd etc/
# cp classification.config gen* threshold.conf unicode.map sid* snort.conf reference.config /etc/snort/

Agora vamos colocar as rules baixadas do site snort.org (lembrando que é necessário ter login no referido site para baixar as rules):

# cd /IDS
# tar -zxvf snortrules-snapshot-CURRENT.tar.gz
# cd rules
# cp * /etc/snort/rules

Obs.: O link direto para download é: snortrules-snapshot-CURRENT.tar.gz

Para isso você precisa ter login, mas para criar seu login no site é FREE, grátis. :)

Crie o arquivo que irá guardar os logs:

# mkdir /var/log/snort
# cd /var/log/snort
# touch alert

Para rodar o Snort, edite o arquivo:

# vim /etc/snort/snort.conf

Altere a linha:

var RULE_PATH ../rules

Para:

var RULE_PATH /etc/snort/rules

E faça assim:

# snort -c /etc/snort/snort.conf -o

Ou melhor:

# snort -c /etc/snort/snort.conf -o -i eth0 -D


Definição do Guardian:


"O Guardian, é uma ferramenta que lê os logs do snort em tempo real e bloqueia algum ataque que esteja vindo de algum lugar na internet, ou melhor, bloqueia alguma coisa que possa vir a ser um problema para seu servidor e/ou você." - Snort + MySQL + Guardian + ACID - ataliba.eti.br

Agora vamos instalar o Guardian:

# cd /IDS
# tar -zxvf guardian-1.7.tar.gz
# cd guardian-1.7/scripts

O programa Guardian utiliza sempre os scripts denominados guardian_block.sh e guardian_unblock.sh. Assim, deverão ser copiados para os arquivos com esses nomes correspondentes ao firewall que pretendemos utilizar. Copie:

# cp iptables_block.sh /usr/bin/guardian_block.sh
# cp iptables_unblock.sh /usr/bin/guardian_unblock.sh
# chmod 755 /usr/bin/guardian_block.sh /usr/bin/guardian_unblock.sh
# cd ..
# cp guardian.pl /usr/bin
# chmod 755 /usr/bin/guardian.pl
# cp guardian.conf /etc/

Vamos configurar alguns parâmetros no guardian.conf:

Interface eth0 #Interface eth0, a que terá os terminais bloqueados
AlertFile /var/adm/secure #Mude para /var/log/snort/alert
TimeLimit 86400 #Mude para um valor em segundos que pretendemos que o endereço IP fique bloqueado pela firewall. O valor 99999999 remove esta opção.

Crie o arquivo de log do guardian:

# touch /var/log/guardian.log

Crie o arquivo guardian.ignore com os endereços IP que se pretende ignorar:

# touch /etc/guardian.ignore

Inicie o Guardian:

# guardian.pl -c /etc/guardian.conf

Caso retorne um erro relacionado a seu IP, ex.:

Warning! HostIpAddr undefined!
Attempting to guess...

Abra o arquivo /etc/guardian.conf, no começo do arquivo, descomente a linha:

# HostIpAddr

Deixando assim:

HostIpAddr SEUIP

Ex.: HostIpAddr 192.168.0.102

Agora, tente de novo iniciar o Guardian...

Para visualizar o log use:

# tail -f /var/log/snort/alert

Uma observação importante é que o Snort, com o pacote básico das regras, gera muitos falsos positivos, porém serve muito bem! Exstem também regras para serem compradas prontas, oque geraria um maior nivel de precisão.


Fonte: VOL

Testando o Wireshark

Ambiente de Teste:

- Configurar o Servidor Debian com duas interfaces de rede:
1) nat
2) interna

- Configurar o cliente com interface gráfica com uma interface
de rede (interna)

- Instalar o sniffer no cliente:

apt-get install wireshark

- executar no terminal:

sudo wireshark

- selecionar a interface eth0 para captura

- instalar servidor de ftp no servidor:

apt-get install proftpd

- através do cliente conectar no servidor de ftp:

ex.: no terminal digitar:

ftp 192.168.0.1 (ip do servidor)
-digitar um usuário e senha válidos
-comandos disponíveis (dir, quit, etc.)

- parar a captura no wireshark e analisar os
pacotes FTP (capturar usuário e senha)
- a partir do terminal do cliente executar o
comando ping para alguns sites e capturar os pacotes

Configuração de interfaces do servidor:
Virtualbox (1-NAT, 2-INTERNA)

editar /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Configuração de interfaces do cliente:
virtualbox (1-INTERNA)

editar /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

adicionar a rota default no cliente:

route add default gw 192.168.1.1


No Servidor (ativar roteamento e ativar mascaramento de ip para
a rede do cliente)

Para manter as configurações deve-se editar o arquivo
/etc/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -p all
-j MASQUERADE

Criando VPN com o OpenVPN

Neste artigo traremos passo a passo como criar sua VPN com o OpenVPN:
O pacote necessario e o openvpn, em distribuicoes como
debian, basta usar o apt e instalar o pacote.
-> apt-get install openvpn
Apos instalado o pacote, certificar de que o modulo
tun esteja carregado, se nao estiver, use o comando
abaixo para poder carrega-lo.
-> modprobe tun
Depois de instalado e o modulo carregado, comecaremos a configurar
a vpn. Para este exemplo, usaremos os nomes de matriz e filial
por questao de definicao,
-> O diretorio padrao de trabalho e: /etc/openvpn/
O primeiro passo a ser feito, e gerar a chave de encriptacao
no roteador da matriz, com o comando, isso ira gerar um arquivo
com o nome de vpnkey e a key dentro dele:
-> openvpn –genkey –secret vpnkey
-Configuracao de rede na matriz:
*Exemplo de configuracao no roteador da matriz:
eth0: 200.10.10.1
eth1: 192.168.0.1
-Configuracao de rede na Filial:
eth0: 230.110.10.34
eth1: 192.168.1.1
Iremos criar agora os arquivos de configuracoes da filial, no
roteador da matriz e daremos o nome ao arquivo de filial.conf
——————-filial.conf——————————–
# Usa o modulo de interface tun carregado anteriormente
dev tun
# Ip remoto a conectar (No caso o ip da Matriz)
remote 200.10.10.1
# Primeiro ip local tunelado(filial) e segundo ip tunelado Matriz.
ifconfig 10.0.0.1 10.0.0.2
# Arquivo que contem a chave.
secret vpnkey
# Porta UDP que sera usada pelo VPN
# Mais de 1 VPN tera que usar portas difirentes
# esta porta fica a mesma na matriz e na filial
port 5003
# Testa a conexao do VPN
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key# Verbosity level.
# 0 — quiet except for fatal errors.
# 1 — mostly quiet, but display non-fatal network errors.
# 3 — medium output, good for normal operation.
# 9 — verbose, good for troubleshooting
verb 3
# Scripts a serem rodados quando o vpn for ativado
# e quando o vpn for desativado
up /etc/openvpn/filial.up
down /etc/openvpn/filial.down
- Agora iremos criar o arquivo filial.up que colocara as rotas para nosso vpn com a filial.
#!/bin/sh
echo
echo “Criando rotas para redes tuneladas…”
ip route add 192.168.0.0/24 via 10.0.0.2
touch /etc/openvpn/up.running
- Agora iremos criar o arquivo filial.down que ira retirar as rotas para nosso vpn com a filial.
#!/bin/sh
echo
echo “Removendo rotas para redes tuneladas…”
ip route del 192.168.0.0/24 via 10.0.0.2
touch /etc/openvpn/down.running
PRONTO!! As configuracoes do vpn na matriz ja esta certa, vamos agora
para o roteador da filial configura-lo.
-Com os mesmos pacotes e modulos carregados..
1- Copie o arquivo vpnkey que voce gerou no rotedor da matriz e coloque
dentro da pasta /etc/openvpn no roteador da filial.
2- Crie os arquivos abaixo(parecido com os que voce criou na matriz).
——————-matriz.conf——————————–
# Usa o modulo de interface tun carregado anteriormente
dev tun
# Ip remoto a conectar (No caso o ip da Filial)
remote 230.110.10.34
# Primeiro ip local tunelado(Matriz) e segundo ip tunelado filial.
ifconfig 10.0.0.2 10.0.0.1
# Arquivo que contem a chave.
secret vpnkey
# Porta UDP que sera usada pelo VPN
# Mais de 1 VPN tera que usar portas difirentes
# esta porta fica a mesma na matriz e na filial
port 5003
# Testa a conexao do VPN
ping 15
ping-restart 45
ping-timer-rempersist-tun
persist-key
# Verbosity level.
# 0 — quiet except for fatal errors.
# 1 — mostly quiet, but display non-fatal network errors.
# 3 — medium output, good for normal operation.
# 9 — verbose, good for troubleshooting
verb 3
# Scripts a serem rodados quando o vpn for ativado
# e quando o vpn for desativado
up /etc/openvpn/matriz.up
down /etc/openvpn/matriz.down
- Agora iremos criar o arquivo matriz.up que colocara as rotas para nosso vpn com a filial.
#!/bin/sh
echo
echo “Criando rotas para redes tuneladas…”
ip route add 192.168.1.0/24 via 10.0.0.1
touch /etc/openvpn/up.running
- Agora iremos criar o arquivo matriz.down que ira retirar as rotas para nosso vpn com a filial.
#!/bin/sh
echo
echo “Removendo rotas para redes tuneladas…”
ip route del 192.168.1.0/24 via 10.0.0.1
touch /etc/openvpn/down.running
PRONTO!!
Inicie o openvpn tanto na matriz quando na filial.
/etc/init.d/openvnp start