Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Snort IDS

Colaboração: Alexandro Silva

Data de Publicação: 16 de Julho de 2007

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


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 a relação completa dos artigos de Alexandro Silva

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1525 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Expressões Regulares - Uma abordagem divertida 3ª edição