Snort IDS
=========
Colaboração: Alexandro Silva
O SNORT é uma
ferramenta NIDS desenvolvida por Martin Roesch, bastante popular
por sua flexibilidade nas configurações de regras e constante atualização. O
Guardian funciona em conjunto com o Snort, ele atualiza automaticamente
as regras de vários firewalls ( ipfw, iptables, etc ) com base nos alertas
gerados pelo Snort. O trabalho conjunto do Snort e do Guardian torna possível
ações reativas em caso de intrusão e prevenção de ataques futuros. Instalação
Pacotes básicos
===============
sudo apt-get install apache2 mysql-server php5 php5-mysql libmysqlclient12-dev php5-gd php-pear php-image-canvas php-image-graph libpcap0.8 libpcap0.8-dev libpcre3 libpcre3-dev
Crie um diretório para temp
mkdir ~/temp
Baixe o ADODB
cd ~/temp
wget
http://ufpr.dl.sourceforge.net/sourceforge/adodb/adodb493a.tgzBaixe o Base
wget
http://ufpr.dl.sourceforge.net/sourceforge/secureideas/base-1.2.7.tar.gzBaixe o Snort
wget
http://www.snort.org/dl/current/snort-2.6.1.2.tar.gzBaixe o PCRE
wget
http://ufpr.dl.sourceforge.net/sourceforge/pcre/pcre-7.0.tar.gzCrie um arquivo index.php
sudo vi /var/www/index.php
<?php
phpinfo();
?>
Teste funcionamento do Apache acesso o
servidor digitando
http://localhostna barra de endereços do navegador. Compilar e Instalar o PCRE
sudo tar zxf pcre-7.0.tar.gz
cd pcre-7.0
sudo ./configure
sudo make
sudo make install
Compilar e Instalar o Snort
Crie um link simbólico para o arquivo cc1plus, necessário para compilar o snort
sudo ln -s /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 /usr/bin/cc1plus
Compile o Snort
sudo tar zxf snort-2.6.1.2.tar.gz
cd snort-2.6.1.2
sudo ./configure --with-mysql=/usr
sudo make
sudo make install
Crie diretório /etc/snort/
sudo mkdir /etc/snort
Copie o arquivo snort.conf para o diretório /etc/snort
sudo cp ~/temp/snort-2.6.1.2/etc/snort.conf
/etc/snort/
Baixe as regras
OBS: Existem 3 tipos de download de regras do snort
1. Subscrição - Pago
2. Registrado - Gratuito
3. Comunidade - Gratuito
Aconselho você baixar o registrado, porque são regras atualizadas. Para isso
clique no link download do pacote nortrules-snapshot-CURRENT.tar.gz e faça
seu registro.
Salve o arquivo no diretório /etc/snort e descompacte-o.
Configurando o Snort
====================
Edite o arquivo /etc/snort/snort.conf alterando as entradas abaixo
sudo vi /etc/snort/snort.conf
var HOME_NET any #Para capturar todos as redes
var EXTERNAL_NET !$HOME_NET #Tudo o que não for HOME_NET é externo
var RULE_PATH /etc/snort/rules #Caminho para as regras
output database: log, mysql, user=snort
password=<senha_usuario_snort> dbname=snort host=localhost
}}
Confiurando o Mysql
===================
Configure a base de dados do Snort no MySQL:
{{{
sudo mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
Query OK, 0 rows affected (0.25 sec)
mysql> create database snort;
Query OK, 1 row affected (0.01 sec)
mysql> grant INSERT,SELECT on root.* to snort@localhost;
Query OK, 0 rows affected (0.02 sec)
mysql> SET PASSWORD FOR snort@localhost=PASSWORD('password_do_snort.conf');
Query OK, 0 rows affected (0.25
sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;
Query OK, 0 rows affected (0.02 sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort;
Query OK, 0 rows affected (0.02 sec)
mysql> exit
Bye
Crie as tabelas
sudo mysql -u root -p < ~/temp/snort-2.6.1.2/schemas/create_mysql snort
Verifique se a base de dados do Snort foi criada corretamente
sudo mysql -p
mysql> SHOW DATABASES;
--------------------
| Database |
--------------------
| information_schema |
|
mysql |
| snort |
--------------------
3 rows in set (0.01 sec)
mysql> use snort
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> SHOW TABLES;
------------------
| Tables_in_snort |
------------------
| acid_ag |
| acid_ag_alert |
| acid_event |
| acid_ip_cache |
|
base_roles |
| base_users |
| data |
| detail |
| encoding |
| event |
| icmphdr |
| iphdr |
| opt |
| reference |
| reference_system |
| schema |
|
sensor |
| sig_class |
| sig_reference |
| signature |
| tcphdr |
| udphdr |
+------------------+
22 rows in set (0.01 sec)
Instale o ADODB
{{{
sudo cp ~/temp/adodb493a.tgz /var/www/
cd /var/www/
sudo tar zxf adodb493a.tgz
sudo rm adodb493a.tgz
Instale e configure o BASE
sudo mkdir -p /var/www/html
sudo cp ~/temp/base-1.2.7.tar.gz /var/www/html
cd /var/www/html
sudo tar zxf
base-1.2.7.tar.gz
sudo rm base-1.2.7.tar.gz
sudo mv base-1.2.7 base
cd /var/www/html/base
sudo cp base_conf.php.dist base_conf.php
Edite o ficheiro /var/www/html/base/base_conf.php e altere os parâmetros
$BASE_urlpath = '/html/base';
$DBlib_path = '/var/www/adodb/';
$DBtype = 'mysql';
$alert_dbname = 'snort';
$alert_host = 'localhost';
$alert_port = '';
$alert_user = 'snort';
$alert_password = 'senha_usuario_snort';
/* Archive DB connection parameters */
$archive_exists = 0; # Set this to 1 if you have an archive DB
Crie no diretório /etc/snort/rules os seguintes arquivos. Faça isso usando o comando touch
<nome_arquivo>
local.rules
exploit.rules
bad-traffic.rules
scan.rules
finger.rules
ftp.rules
telnet.rules
rpc.rules
rservices.rules
dos.rules
ddos.rules
dns.rules
tftp.rules
web-cgi.rules
web-coldfusion.rules
web-iis.rules
web-frontpage.rules
web-misc.rules
web-client.rules
web-php.rules
sql.rules
x11.rules
icmp.rules
netbios.rules
misc.rules
attack-responses.rules
oracle.rules
mysql.rules
snmp.rules
smtp.rules
imap.rules
pop2.rules
pop3.rules
nntp.rules
&
nbsp; other-ids.rules
experimental.rules
Inicie o snort
sudo snort -c /etc/snort/snort.conf &
Consulte o BASE, executando no navegador
http://<endereço.ip>/html/baseNa página inicial de setup do BASE clicar no link SETUP PAGE e de seguida
no botão CREATE AG. Agora você poderá verificar o log do snort via web.
Instalando o Guardian
Baixe o fonte do Guardian
cd ~/temp
wget
http://www.chaotic.org/guardian/guardian-1.7.tar.gzCopie para o diretório /usr/src e descompacte
sudo cp guardian-1.7.tar.gz /usr/src
tar xzf guardian-1.7.tar.gz
cd guardian-1.7
cd scripts
Liste o conteúdo do diretório scripts
e verifique se ele contem os arquivos abaixo
freebsd_block.sh guardian_unblock.sh ipfwadm_block.sh iptables_unblock.sh
freebsd_unblock.sh ipchain_block.sh ipfwadm_unblock.sh nullroute_block.sh
guardian_block.sh ipchain_unblock.sh iptables_block.sh nullroute_unblock.sh
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. No nosso
caso usaremos o iptables
sudo cp iptables_block.sh /usr/bin/guardian_block.sh
sudo cp iptables_unblock.sh /usr/bin/guardian_unblock.sh
sudo chmod 755 /usr/bin/guardian_block.sh
/usr/bin/guardian_unblock.sh
Copie o script e o arquivo de configuração do Guardian para os locais correspondentes
cd ..
sudo cp
guardian.pl /usr/bin
sudo chmod 755 /usr/bin/
guardian.pl sudo cp guardian.conf /etc/
Configure os seguintes parâmetros no arquivo /etc/guardian.conf
Interface eth0 # Interface eth0, a que vai 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
LINKS
=====
- ADODB -
http://prdownloads.sourceforge.net/adodb/- BASE -
http://prdownloads.sourceforge.net/secureideas/- Snort -
http://www.snort.org- Snort Rules -
http://www.snort.org/pub-bin/downloads.cgi- PCRE -
http://prdownloads.sourceforge.net/pcre/- Guardian -
http://www.chaotic.org/guardian/-----------------------------------------------------------
H2HC - Hackers 2 Hackers Conference
===================================
Esse ano acontecerá em Brasília nos dias 08 e 09 de novembro de 2007 a
4º edição do H2HC - Hackers 2 Hackers Conference (
http://www.h2hc.org.br)
que é a maior conferência do seguimento na América Latina.
O H2HC no passado teve importantes palestrantes internacionais como Joachim
de Zutter - ByteRage (Bélgica), Federico Kirschbaum (Argentina), Itzik
Kotler (Israel), Francisco Amato (Argentina), Wence Vandermeersch - Cronek
(Bélgica), etc.
Um dos palestrantes confirmados para esse ano é Alexander Kornbrust que
é CEO (Chief Executive Officer) da Red Database Security GmbH, empresa
especializada em segurança de banco de dados Oracle. A
Red Database Security
é uma das líderes no seguimento de segurança em banco de dados Oracle.
Alexander Kornbrust é responsável pelas auditorias e treinamentos com foco
em segurança e ataques a banco de dados Oracle, ele já se apresentou em
diversos eventos mundialmente importantes como Black Hat, Microsoft Bluehat,
IT Underground, Syscan, etc. Alexander Kornbrust trabalha como desenvolvedor
e DBA Oracle desde 1992. Durante os últimos 6 anos, ele encontrou mais de
330 falhas de segurança em diversos produtos da Oracle.
Para os interessados o CFP (Call For Papers) está aberto.
Mais informações sobre o evento em:
http://www.h2hc.org.br/Esperamos contar com vocês.
Coordenação do H2HC."
Obrigado.
Atenciosamente,
Wendel Guglielmetti Henrique - a.k.a dum_dum
--------------------------------------------------------------------
Veja também do
arquivo da Dicas-L:
"Artigos e Tutoriais"
http://www.dicas-l.com.br/dicas-l/20040208.php"Tecnologias Livres para Celulares"
http://www.dicas-l.com.br/dicas-l/20040127.php"Governo disponibiliza Sistema de Inventário Cacic para a sociedade "
http://www.dicas-l.com.br/dicas-l/20050519.php"Utilização do JavaCC na construção de um compilador "
http://www.dicas-l.com.br/dicas-l/20040731.php"Semana do Aurélio - Shell Scripting"
http://www.dicas-l.com.br/dicas-l/20040721.php--------------------------------------------------------------------
Colabore com a Dicas-L. Publique seu comentário sobre esta mensagem
em
http://www.Dicas-L.com.br/dicas-l/20070716.php--------------------------------------------------------------------
-------------------------------------------------------------------------
Descadastramento:
http://www.dicas-l.com.br/descadastramento.php-------------------------------------------------------------------------
As mensagens da lista Dicas-L são veiculadas diariamente
para 28592 assinantes.
Todas as mensagens da Dicas-L ficam armazenadas em
http://www.Dicas-L.com.br/dicas-l/A redistribuição desta e outras mensagens da lista Dicas-L pode
ser feita livremente segundo a licença Creative Commons
http://creativecommons.org/licenses/by-nc-sa/2.0/br/deed.ptDicas-L: Uma dica por dia desde 3 de março de 1997
-------------------------------------------------------------------------
Newsfeed RSS:
http://www.dicas-l.com.br/index.xml-------------------------------------------------------------------------