[Dicas-L] Snort IDS

7 views
Skip to first unread message

Marcos Alexandre [Dinho]

unread,
Jul 16, 2007, 7:15:35 AM7/16/07
to BSD group 4linux
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.  Veja detalhes abaixo

  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.tgz

Baixe o Base


  wget http://ufpr.dl.sourceforge.net/sourceforge/secureideas/base-1.2.7.tar.gz


Baixe o Snort


  wget http://www.snort.org/dl/current/snort-2.6.1.2.tar.gz


Baixe o PCRE


  wget http://ufpr.dl.sourceforge.net/sourceforge/pcre/pcre-7.0.tar.gz


Crie um arquivo index.php


  sudo vi /var/www/index.php
  
  <?php
  phpinfo();
  ?>

Teste funcionamento do Apache acesso o servidor digitando http://localhost
na 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/base

Na 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.gz

Copie 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.pt

Dicas-L: Uma dica por dia desde 3 de março de 1997
-------------------------------------------------------------------------
Newsfeed RSS: http://www.dicas-l.com.br/index.xml
-------------------------------------------------------------------------



Novo Yahoo! Cadê? - Experimente uma nova busca.
Reply all
Reply to author
Forward
0 new messages