De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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
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
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.
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 }}
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
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários