Blindando sua rede com o HLBR - Um IPS invisível e brasileiro

O HLBR é um projeto brasileiro destinado à segurança em redes de computadores. O HLBR é um IPS (Intrusion Prevention System) bastante eficiente e versátil, podendo ser usado até mesmo como bridge para honeypots e honeynets. Como não usa a pilha TCP/IP do sistema operacional, ele é "invisível" a outras máquinas na rede e atacantes, pois não possui número de IP.

[ Hits: 125.800 ]

Por: Dailson Fernandes (fofão) - http://www.dailson.com.br em 09/11/2007


As regras de detecção de ataque



O HLBR já vem com muitas regras prontas. Todas elas ficam dentro do diretório /etc/hlbr/rules em vários arquivos. Geralmente, estes arquivos armazenam regras por assunto. Por exemplo: o arquivo webattacks.rules trazem regras que inibem ataques aos servidores webs. Um arquivo pode (e deve) armazenar diversas regras.

Abaixo, veja um exemplo de uma regra que impede que usuários tentem fazer a mudança de diretório no seu servidor web e visualizar informações importantes como o arquivo de senhas do seu servidor. Esta regra está no arquivo /etc/hlbr/rules/passwd.rules.

<rule>
ip dst(servers)
tcp dst(53,80,110,220)
tcp content(/etc/passwd)
message=(passwd-1) /etc/passwd call
action=action1
</rule>

Note que toda regra começa com a tag <rules> e termina com </rule> o parâmetro ip dst está apontando para os servers que foi descrito no arquivo /etc/hlbr/hlbr.config. As portas destino estão especificadas no parâmetro tcp dst e o conteúdo malicioso é detectado através de tcp content, ou seja, caso seja invocado a string "/etc/passwd" o HLBR irá tomar uma atitude descrita em action.

As "actions" (ações) estão definidas no arquivo /etc/hlbr/hlbr.config. Na instalação padrão existem 3 actions:

<action action1>
response=alert file(/var/log/hlbr/hlbr.log)
response=dump packet(/var/log/hlbr/hlbr.dump)
response=drop
</action>

<action action2>
response=alert file(/var/log/hlbr/hlbr-2.log)
response=dump packet(/var/log/hlbr/hlbr-2.dump)
</action>

<action virus>
response=alert file(/var/log/hlbr/virus.log)
response=dump packet(/var/log/hlbr/virus.dump)
response=drop
</action>

Os parâmetros utilizados nas actions são:

alert file
Caminho do arquivo onde será gravado o log.

dump packet
Caminho do arquivo de dump no formato do TCPDump.

drop
Caso este parâmetro seja declarado, o pacote será negado e descartado pelo HLBR.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O que é o HLBR?
   3. Hardware e softwares necessários
   4. Preparando o ambiente para o HLBR
   5. Instalando o HLBR
   6. Configurando o HLBR
   7. As regras de detecção de ataque
   8. Onde posicionar o HLBR?
   9. Colocando para funcionar!
   10. Auditoria: Visualizando LOGS e arquivos de DUMP
   11. Testando: Provocando uma reação do HLBR
   12. Vídeos do HLBR em ação
   13. Conclusão, créditos e links
Outros artigos deste autor

Instalando o IBM LOTUS SYMPHONY Beta3

NTFS-3g: Leitura e gravação em NTFS com segurança? Ainda não!

Utilizando o RSYNC para fazer backups de servidores e estações Windows

Enrolado para configurar o Samba? Chame o SWAT

Instalando a nova versão do HLBR - IPS invisível

Leitura recomendada

Backup automatizado e seguro usando SSH / SCP / SFTP

As melhores ferramentas de segurança pra Linux

Os 5 princípios básicos de segurança para empresas

wlmproxy - um proxy superior

Buffer Overflow: Entendendo e explorando

  
Comentários
[1] Comentário enviado por lucas.suporte em 09/11/2007 - 11:20h

Otimo artigo, se esse prog funcionar com todos esses recursos será uma grande ferramenta de proteção para a rede.
Com certeza vou testar !!!
Abraços e parabens
Lucas Rocha
Analista de redes em GNU/Linux

[2] Comentário enviado por gersonraymond em 09/11/2007 - 11:34h

Realmente ótimo artigo estarei testando o HLBR e também divulgando esta brilhante ferramenta mais uma vez "parabéns, valeu mesmo", um abraço.

Gerson Raymond
Administrador de Redes

[3] Comentário enviado por valterrezendeeng em 09/11/2007 - 17:01h

Vamos prestigiar o nacional.

Parabens pelo artigo e parabens aos desenvolvidores pelo produto nacional e principalmente de qualidade

Vou testar e divulgar

Valeu

Valter

Sup Informatica

[4] Comentário enviado por warlinux em 09/11/2007 - 18:25h

Esse sim é um artigo de ótima qualidade, muito bem explicado.

Parabéns tanto pela criação da ferramenta como pela elaboração do artigo.

Só me restou uma dúvida, como essas rules, podem ser atualizadas, vcs estão sempre criando novas regras, como funciona ?

Falow abraços

[5] Comentário enviado por dailson em 09/11/2007 - 20:50h

As regras não estão sendo atualizadas constantemente oficialmente.
Mas estamos trabalhando em um sistema de regras com atualizações semanais/mensais.

Dailson

[6] Comentário enviado por pogo em 10/11/2007 - 12:46h

Parabéns pelo excelente texto, Dailson! Continue sempre enviando material com esta qualidade aqui para o VOL!

Pra quem quiser mais algum material sobre IPS, pode acessar lá no meu blog. Publiquei uma série explicando um pouco sobre esta tecnologia (neste link aí mesmo vocês já irão encontrar links para as outras partes do texto):

http://blog.pedroaugusto.eti.br/2007/10/22/intrusion-prevention-systems-parte-1/

Se quiserem saber um pouco mais sobre sistemas IDS, lá no blog também tem uma série sobre isso:

http://blog.pedroaugusto.eti.br/2007/10/16/ids-parte-1/

Espero que gostem e que consiga complementar este ótimo texto do colega.

[]'s

Pedro.

[7] Comentário enviado por evertonpinto em 10/11/2007 - 13:39h

?comentario=everton

Parabéns pelo artigo. Está bastante explicativo para iniciantes como eu.
Mas ainda bem que tenho um professor chamado Dailson Fernandes... para tirar algumas dúvidas .
é isso ai prof vc é o cara.
kkkkkkkkkkkkkkkkkk

[8] Comentário enviado por demattos em 10/11/2007 - 23:07h

Parabens pelo artigo, esta bem trabalhado, coloquei em prova e funcionou com o Fedora Core 5

[9] Comentário enviado por capitainkurn em 11/11/2007 - 14:41h

Artigo formidável! Parabéns e obrigado por compartilhar seu conhecimento conosco!

Além da ferramenta ser fantástica, a sua didática é exímia!

Parabens!

[10] Comentário enviado por Ruy_Go em 12/11/2007 - 18:47h

Vamos testar ele.... valorizar o nacional como disse o amigo acima...

Vou testar no Slackware 11

[11] Comentário enviado por dfsantos em 16/11/2007 - 17:56h

Ola pessoal!
Acho que fiz caca, compilei o kernel sem suporte a tcp-ip era pra fazer isso mesmo?
Pois não achei opção específica para compilar sem suporte a ip.
Estou tendo um probleminha na hora de dar um start no hlbr quando executo o comando:
/etc/init.d/hlbr start ou restart
Aparece a seguinte mensagem:
device eth0 entered promiscuous mode
couldn't create socket for MTU
Error binding socket
Error Initializing interfaces
device etho left promiscuous mode

[12] Comentário enviado por dailson em 19/11/2007 - 10:09h

Oi Dfsantos.

Aconselho a você fazer testes com o kernel normal utilizando os endereços 127.... nas suas placas, conforme tutorial.
Não há desvantagens nisso, só vantagens!!!
Retirar o TCP/IP todo, vai dar bronca mesmo.

Dailson

[13] Comentário enviado por araujosilva em 27/11/2007 - 12:01h

Parabens Dailson !!!

Fico muito satisfeito de ter tido a oportunidade de ver o trabalho antes de ser transformado neste ótimo artigo.

abraços

Sgt araujo - 5cta - Recife - PE

[14] Comentário enviado por dailson em 28/11/2007 - 11:00h

Obrigado Grande Araújo!!!!

Um grande abraço!!!

Dailson

[15] Comentário enviado por klein.rfk em 11/12/2007 - 11:10h

kras, isso é muito legal.........
vou testar no Slack....
uma pergunta, ele apenas gera os LOGs?
ou dropa/bloqueia/rejeita os pacotes de um possível atacante?

[16] Comentário enviado por dailson em 12/12/2007 - 10:51h

Oi Klein

Ele bloqueia os pacotes já por padrão, se vc quiser que ele apenas faça o log, tem que mudar a action para action2.
Obs: Funciona perfeitamente no slack

Dailson

[17] Comentário enviado por akilesbrasil em 26/01/2009 - 09:16h

ola estou tento problemas com as interfaces..consigo por os ips de loopback...
na eth0 entra o cabo da net....
na eth1 que vai pro outro server ... esse cabo e normal cross...pois não funciona...
nen fixando o ip...nen deixando por dhcp



flw muito bom o artigo...

[18] Comentário enviado por dailson em 02/02/2009 - 15:29h

Oi Akilesbrasil

Desculpa a demora pra responder, mas estava de férias ...

Então vamos lá:
Por DHCP não vai funcionar.
Vc deve colocar os ips 127.0.0.2 na eth0 2 127.0.0.3 na eth1. E veja se funciona.
E se lembre que depois de colocar os ips, vc deve reiniciar o HLBR.
Para que a NET passe, o hlbr deve estar no ar.
Outro erro muito comum, é o fato dos cabos crossover.
Pelo que vi, do lado na net, use cabo normal.
Do lado do servidor, use cabo crossover.
Se não funcionar, posta aê!!

[19] Comentário enviado por fireroot em 28/07/2014 - 16:22h

Hoje passe por um problema eu coloquei em uma maquina com três interfaces sendo quando "startei" o hlbr simplesmente meu Switch foi inudado por spanning tree sendo deixando em parafusos. sistema Debian 7.6 (wheezy) tendo tambem funçao roteador, serviço ssh e Stwch 3con. Obrigado.

[20] Comentário enviado por natanoliveira em 07/09/2014 - 20:57h

bom artigo, obg por difundir seu conhecimento :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts