YASG (Yet Another Security Guide)

Com a crescente onda de ataques a hosts, ferramentas de análise, bloqueio e auto-defesa são simplesmente indispensáveis. Este artigo detalha, na medida do possível, assuntos relacionados a políticas básicas de segurança, Iptables, Snort, Guardian e Acid, todos com pacotes atualizados.

[ Hits: 39.538 ]

Por: Jeremias Zerbini em 19/01/2007


Compilando e configurando o Snort



Baixe o source do Snort aqui.

Descompacte-o com:

# tar xzvf snort-2.6.1.1.tar.gz

Entre na pasta que será criada com os arquivos e então compile com:

# ./configure --with-mysql
# make && make install


Agora vamos criar um diretório para depositarmos as regras de análise do tráfego da rede, e demais arquivos de configuração. Ainda dentro do diretório do source do Snort, digite:

# mkdir /etc/snort
# cp etc/* /etc/snort/


Prontinho.

Iremos configurar agora o banco de dados aonde o Snort irá salvar os logs:

# mysql -u root -p

(Você cairá no console de acesso do MySQL)
Digite:

mysql> CREATE DATABASE SNORT;
mysql> GRANT insert, select ON snort.* TO snort@localhost IDENTIFIED BY 'senha_do_snort';
mysql> GRANT insert, select, delete, update, create ON snort.* TO acid@localhost IDENTIFIED BY 'senha_do_acid';
mysql> quit;

Lembre-se de trocar a senha "senha_do_snort" por algo que você desejar.

E para finalizar (lembre-se: esteja dentro do diretório do source do Snort):

# mysql -u root -p snort < schemas/create_mysql

Este comando irá importar o esquema de tabelas necessárias pro Snort gravar tudo direitinho.

Agora é necessário baixar o arquivo de Regras do Snort. Estes arquivos são diretrizes que guiam o Snort na hora de analisar os pacotes, varrendo por ações maliciosas:

# cd /etc/snort/
# wget
http://www.snort.org/pub-bin/downloads.cgi/Download/\
vrt_pr/snortrules-pr-2.4.tar.gz

# tar xzvf snortrules-pr-2.4.tar.gz
# mv rules/* .


(Reparem no ponto final existente na última linha. Não esqueçam de digitá-lo)

Por fim, é necessário que façamos ajustes no arquivo de configuração do Snort. Edite o arquivo /etc/snort/snort.conf e configure as seguintes variáveis com seus devidos valores:

var HOME_NET [127.0.0.0/16,192.168.100.0/24]
var EXTERNAL_NET !$HOME_NET
output database: log, mysql, user=snort password=senha_do_snort dbname=snort host=localhost

Agora o Snort está pronto para rodar. Certifique-se de que o MySQL está rodando e execute:

# /usr/local/bin/snort -d -c /etc/snort/snort.conf

Este comando irá rodar o Snort em primeiro plano. Verifique se houve conectividade com o banco de dados e se o snort.conf está correto. Caso tudo corra bem, mate o processo e crie um init script chamado "snort" dentro da pasta /etc/init.d/ com o seguinte conteúdo:
Agora é só configurar o Snort para auto-inicializar em boot-time com o comando:

Para Debian:

# update-rc.d snort defaults

Página anterior     Próxima página

Páginas do artigo
   1. A importância da segurança da informação
   2. A solução começa de dentro - Como lidar com usuários
   3. Aprofundando-se na questão: Servidor(es) de serviço(s)
   4. Como eu monto um bom firewall para minha rede?
   5. Instalando e configurando as dependências dos pacotes
   6. Compilando e configurando o Snort
   7. Instalando e configurado o Guardian
   8. Botando o ACID para funcionar
   9. Conclusões, créditos e blá blá blá
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

ClamAV em desktop

Sistema de gerenciamento de logs do Linux

Computação de alto desempenho

Reaver - Descobrindo senhas Wi-Fi

Usando e instalando o Nessus no Linux

  
Comentários
[1] Comentário enviado por y2h4ck em 19/01/2007 - 14:11h

4. Como eu monto um bom firewall para minha rede?

Você não disse.
A ideia do artigo é mto boa, porém não inovadora.

Abraços.


[2] Comentário enviado por Elessar em 19/01/2007 - 14:24h

4. Como eu monto um bom firewall para minha rede ?

"Irei dividir esta seção em três partes fundamentais: Snort, Guardian e Acid."

Acho que deu pra entender que, "para um montar um firewall para minha rede" estes 3 softwares são fundamentais.

Realmente não inovei no artigo. Não creio que há aonde inovar nessa área, segurança é algo que você implementa ou não em seu servidor. Foquei mais em alertar sobre a necessidade dela do que em "inovar".
Também não sei se existe um super-ultra guia capaz de ser prático, simples e informativo e ao mesmo tempo, técnico demais. Talvez quem se interessar e pensar que ainda pode melhorar a segurança de sua rede vá atrás do resto das informações por si só.

Obrigado pela crítica =)

[3] Comentário enviado por slaypher em 19/01/2007 - 14:24h

Gostei do seu artigo, aborda de forma bem simples e esclarecedora, principalmente para aqueles que estão começando.

Muito bom.

[4] Comentário enviado por y2h4ck em 19/01/2007 - 15:04h

Amigo desculpe mas snort nao é firewall...
IDS é bem diferente de firewall.

Acho que segurança deve ser inovada todos os dias seja com processos ou politicas.

[5] Comentário enviado por removido em 19/01/2007 - 16:39h

Não li o artigo ainda, mas pelo comentário do autor do artigo:

Como eu monto um bom firewall para minha rede ?

"Irei dividir esta seção em três partes fundamentais: Snort, Guardian e Acid."

Acho que deu pra entender que, "para um montar um firewall para minha rede" estes 3 softwares são fundamentais.

Não gostei nada dessas frases :P


Outra dica, não recomendo a ninguém usar o guardian para bloquear todas entradas no arquivo de logs do Snort por causa dos falsos alertas.

Também acho necessário mudar o valor padrão de quanto tempo um host ficará bloqueado pelo Guardian.

Existem outras formas de fazer relatórios do Snort sem usar banco de dados, por isso que não gosto do Acid :P

[6] Comentário enviado por Elessar em 19/01/2007 - 17:20h

Realmente falsos positivos são ruins, e se o Guardian bloquear o host, a coisa fica ainda pior.
Nunca tive muitos casos onde isso aconteceu, e justamente por esta causa eu _ainda_ recomendo a utilização dele para barrar os ataques.

Eu sou fã de relatórios e informações que possam ser enviadas para banco de dados. Gosto de escrever minhas linhas em PHP para que possa, remotamente, analisar alguma coisa ou, eventualmente, até configurar alguns parâmetros via browser. Mas sim, existem mil outras ferramentas que analisam e "humanizam" a leitura dos logs do snort.
Não pude detalhar demais o artigo em alguns aspectos porque:
1_ não sou o cara mais experiente do universo nessa área, apenas quis acrescentar o que sei e pude experimentar/avaliar;
2_ não conheço todos os scripts de interpretação de logs;
3_ outros artigos dão ênfase aos analisadores de log, o meu era algo mais superficial em torno de um assunto complexo.

Seus comentários foram importantes para que pessoas que gostem da idéia do Guardian saibam do possível "contra" que ele pode apresentar. Me esqueci de observar este detalhe.

Muito obrigado ^^

[7] Comentário enviado por y2h4ck em 19/01/2007 - 17:29h

Nosso amigo comentou sobre os falsos positivos.
Deem uma olhadinha na data da ultima atualização do guardian.
-------------------------------
This page is still under much work, so check back often =) --- Anthony (astevens @ chaotic . org) 03-26-02
-------------------------------

26/03/2002


Acho que quando falamos de segurança implica diretamente estar atualizado. Acredito que implementar em ambiente de produção algo tão desatualizado e desarrojado é um tanto como inseguro.

Abraços.

[8] Comentário enviado por slaypher em 21/01/2007 - 21:18h

Olá,

Aproveitando os comentários já citados, vocês poderiam então citar qual a melhor 'combinação' para um conjunto de IDS eficiente usado hoje em dia e por vocês profissionais da área, já que está não parece mais ser uma combinação interessante.

[9] Comentário enviado por Elessar em 21/01/2007 - 21:39h

Talvez o y2h4ck tenha uma sugestão melhor do que as que fiz no artigo, podemos esperar por algo que venha dele.

Para mim, Guardian + Snort + Acid + Iptables ainda é uma solução muito boa, muito satisfatória.
Apesar do Guardian não ser atualizado há muito tempo, por ele ser apenas o responsável por bloquear (eventualmente) automaticamente algum host suspeito, creio que não comprometa a qualidade do seu Firewall.
Tendo um Snort e um Iptables bem configurado, com pacotes recentes e regras bem aplicadas, você estará bem servido.

[10] Comentário enviado por y2h4ck em 22/01/2007 - 08:44h

Elessar, parece que você ficou um tanto quanto ofendido com meus comentários. Não acho que seja por ai, dizer "Talvez o y2h4ck tenha uma sugestão melhor do que as que fiz no artigo, podemos esperar por algo que venha dele.". Meus comentários visam apenas que você veja que as vezes muita coisa passada segurança, causa mais problemas do que soluções.

Caso você queira podemos bater um papo sem problemas cara, participo desta comunidade a quase 3 anos e nunca tive inimizade com ninguem.
Segue meu msn: Anderson_spw@hotmail.com.

Se quiser me adicionar beleza, Só não acho que comentarios do tipo "entao faz melhor" nao resolvem.


Abraços.

[11] Comentário enviado por Elessar em 22/01/2007 - 09:22h

De forma alguma fiquei ofendido..
Só percebi que, possivelmente, você tem conhecimentos mais profundos que os meus e que, de repente, pode dar sugestões tão boas quanto ou melhores que as minhas.

E de fato, não sei de um substituto atualizado para o Guardian. Se você conhecer, me oriente também =)

[12] Comentário enviado por hakaguramercado em 22/01/2007 - 23:56h

valeu

[13] Comentário enviado por Gilmar_GNU/Slack em 06/02/2007 - 14:07h

espero que eu naum esteja errado .. pois para quem usa o modo grafico e complicado mesmo ! mais o Linux tem um bom firewall ... mais eu to aprendendo a usar o modo texto para naum ter poblema !

[14] Comentário enviado por gilfilho em 29/05/2007 - 11:10h

Por favor um help!!!

Estou tentando implementar sua sugestão para fazer uns testes aqui com a minha rede e quando coloco # ./configure # make && make install no diretório especificado obtenho a seguinte resposta:

configure: error: instalation or configuration problem: C compiler can not create executables

Como resolver isto? Alguém tem alguma idéia?

[15] Comentário enviado por RickMura em 24/07/2007 - 06:08h

Gostei do tuto, to efetuando o processo, alguns probleminhas foram detectados aqui, deu um erro de dependência (libpcap), instalei, e adivinhem, não tenho o mysql instalado tb to instalando.

olha esse foi o artigo mais completo que vi aqui para uma solução "meio" automática de bloqueio, sem precisar recompilar o kernel e tals.

Parabéns pelo artigo.

[16] Comentário enviado por Elessar em 24/07/2007 - 09:21h

gilfilho: Atrasado, mas nunca é tarde pra publicar uma dica: Está faltando algum pacote de compilação no seu sistema, como o g++, c++, libc, entre outros. Você precisa fazer uma análise de seu sistema e procurar pelos pacotes necessários pra compilar, e ir instalando o que falta.

RickMura: Muito obrigado pelas palavras ! Essa solução ainda é muitíssimo utilizada e funciona muito bem, mas como os outros comentários sugeriram, existem outras alternativas. Se você estiver estudando pra aprender mesmo, dê uma revirada em busca de ainda mais opções e quem sabe volta aqui pra postar o link do seu mais novo artigo !

Valeu pessoal !

[17] Comentário enviado por btavares em 20/08/2007 - 15:38h

olá, você disse que existe várias maneiras de gerar relatórios em configurações do snort sem banco de dados, pode me dizer algumas? Peguei um servidor para administrar que já tem snort instalado, mas sem banco de dados, queria poder gerar relatórios dele.

Obrigado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts