Personalizando o HLBR - IPS invisível

A versão 1.5-RC2 do HLBR vem com 144 regras pré-definidas, porém se você apenas instalar e não ativar alguns tipos de regras, nem todas irão para a execução. Aqui você aprenderá a liberar novas regras e a escrever regras personalizadas para seu ambiente. De bônus você ganha 5 novas regras para o seu HLBR, incluindo regras contra IP SPOOFING e SQL INJECTION.

[ Hits: 38.402 ]

Por: Dailson Fernandes (fofão) - http://www.dailson.com.br em 22/07/2008


Introdução



Este artigo também pode ser acessado no meu blog em:
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.

Para você entender do que vamos tratar aqui, primeiramente deve conhecer o Projeto HLBR e as definições de IPS e IDS.

Aqui também serão tratados artifícios de gerar regras, análise de regras pré-existentes e arquivos de configuração.

Todo este conhecimento você adquire no artigo anterior do nosso blog que pode ser acessado aqui:
ou aqui no Viva o Linux que você acessa através deste link:
A versão 1.5-RC2 do HLBR vem com 144 regras pré-definidas, porém se você apenas instalar e não ativar alguns tipos de regras, nem todas irão para a execução.

Existem um conjunto de 4 arquivos que trazem regras que devem ser analisadas pelo Administrador antes de colocá-las em produção.

Isto é muito importante, porque por definição, o IPS - Intrusion Prevent System está para bloquear e não para lhe avisar do que pode está acontecendo de errado, ou seja, o IPS não pode se dar ao luxo de ter falso-positivo. As regras não podem barrar os acessos legítimos, se isso acontecer, o seu serviço/site fica fora do ar e na agonia de tentar resolver, você fica procurando problemas no serviço/servidor e não encontra nada, porém o IPS está barrando o acesso antes que ele chegue no destino.

    Próxima página

Páginas do artigo
   1. Introdução
   2. As regras a serem analisadas
   3. Analisando o www.rules
   4. Analisando o http.rules
   5. Como começar a escrever regras para o HLBR?
   6. Escrevendo regras pra valer
   7. Escrevendo regras contra ataques a extensões do frontpage
   8. Bônus: Escrevendo uma regra contra SQL Injections
   9. Conclusão
Outros artigos deste autor

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

Instalando o IBM LOTUS SYMPHONY Beta3

Eu cavo, tu cavas, ele cava... tutorial de DIG

Enrolado para configurar o Samba? Chame o SWAT

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

Leitura recomendada

Sudoers 1.8.12 - Parte I - Manual

Iptables protege contra SYN FLOOD?

(IN)segurança Digital

Race Condition

Segurança em seu Linux (parte 2)

  
Comentários
[1] Comentário enviado por drakula em 24/07/2008 - 14:03h

Parabéns muito bom esse artigo, estou tendo contato com o HLBR a poucos dias ainda nao coloquei pra funcionar mas parece ser bem interessante esse artigo esclarece muito bem a forma como ele trabalha, a propósito parabens pelo artigo da instalacao tb esta muito bem explicado, continue assim a comunidade agradece

Abraço

[2] Comentário enviado por dailson em 24/07/2008 - 14:51h

Blz Drakula

Quando testar, posta os resultados pra gente.
Um abraço

Dailson

[3] Comentário enviado por rndasi em 25/07/2008 - 15:15h

Realmente parabéns pelo artigo ...

Fiz a implantação do HLBR-1.6-RC1 em ambiente de produção para conhecer todo o potencial da ferramenta. A parte que mais me interessa é realmente a regra sobre o SQL INJECTION que vc montou ...

Embora o site da empresa esteja livre desse tipo de ataque as tentativas não param. Então a primeira prova de fogo do HLBR será bloquear essa tentativa de ataque antes que ela chegue no servidor.

Agora sobre outras regras: habilitei a regra que bloqueia ASP mas alterei ela pra TXT só pra eu fazer um teste e joguei um arquivo TXT no servidor. Com a regra tcp nocase(.txt) se eu digito www.meudominio.com.br/teste.txt, o arquivo é aberto ... Tive que alterar a regra para http nocase(.txt) e ai a regra começou a funcionar. Realmente isso está certo ou estou fazendo alguma coisa de errado ?

Uma outra dúvida é: as minhas duas placas nessa máquina estão com IP 127.0.0.2 e 3 conforme sugestão. Mas o servidor fica em um outro prédio. Toda vez que eu quero ver como está o LOG eu tenho que ir até o prédio onde estar o servidor, entrar no depto de TI e ter acesso físico ao servidor. Qual seria a sugestão para eu ver esse log "remotamente" claro que levando em conta a segurança ?

Obrigado pela ajuda

Ronaldo

[4] Comentário enviado por dailson em 28/07/2008 - 15:52h

Oi Rndasi

Em relação a regra do txt, isto foi um bug que detectamos na versão 1.5RC2 e anteriores, ficamos surpreso em vc dizer que aconteceu novamente na versão 1.6, pois isto já foi corrigido. Se vc puder, posta a regra que vc fez aqui para a gente testar também.
Em relação a mudar para http nocase, não há erro nisso, vc tá certo, mas era pra funcionar com o tcp também.

Em relação a sua pergunta sobre analisar remotamenteé uma idéia excelente, porém considerada extremamente perigosa pela equipe Mantenedora do HLBR. Se for para laboratório, a idéia é excelente. Se for para ambiente de produção, não é recomendado por eles colocar placas com IP acessíveis e roteáveis.
Ou seja, vc tem que ir na máquina mesmo. Mas se serve de consolo, aqui também eu faço isso e meu HLBR fica longe pra caramba de onde fico normalmente.
Isto é uma característica que deve ser implantada nas novas versões.

Um grande abraço

[5] Comentário enviado por rndasi em 28/07/2008 - 17:17h

Obrigado pelo retorno.

Tentei as seguintes regras:

tcp regex(GET[ -~]+\.txt($|/|\&|\?)) e tcp nocase(.txt) .... Ambas se eu trocar tcp por http funcionando. Com tcp não ... A primeira regra eu pequei do próprio www.rules e copiei a regra do ASP.

Bom, pelo menos manterei a forma indo de um prédio ao outro. risos

Quanto ao SQL Injection tem outra forma de invadir utilizando DECLARE e CAST (no caso do SQL SERVER) .. Vou tentar entender a sua regra e montar uma por aqui e funcionando eu te mando.

Abraço

[6] Comentário enviado por dailson em 29/07/2008 - 10:29h

Ok Rndasi

Estaremos publicando em breve um artigo com 70 novas regras.
Uma delas, foi a que coloquei neste artigo.
Manda brasa em novas regras, pois é o que mais o HLBR precisa.
Em relação a este BUG, já foi passada a equipe e eles estão verificando novamente.

Um abraço


[7] Comentário enviado por drakula em 30/07/2008 - 22:39h

Ansiosissimo por esse artigo com as 70 novas regras!!
eeheheh

abraço

[8] Comentário enviado por thiagopagani em 30/07/2008 - 22:48h

Parabens pelo Artigo
e drakula vamos colocar em pratica

abraço

[9] Comentário enviado por dailson em 31/07/2008 - 09:40h

Beleza!!!

O artigo está em andamento. E os testes também. Algumas regras apresentaram problemas com o HLBR, mas a equipe é eficaz demais, mandei os erros e a galera já corrigiu...
Já está em ambiente de produção...
Estamos refinando para liberar para a comunidade!
Parabéns a nós que fazemos o SL crescer!!!!!!!!
Gostaria de pedir a quem tivesse erros, mandasse para mim em listas em dailson.com.br se possível com os arquivos de dump (/var/log/hlbr/hlbr.log e hlbr.dump)
A Equipe HLBR agradece!

[10] Comentário enviado por drakula em 24/08/2008 - 22:52h

HLBR Colocado em produção fantastico muito bom uma otima ferramenta parabens aos desenvolvedores e ao dailson que tem facilitado muito as coisas com seus tutorias otimos e didaticos

Abraço


Contribuir com comentário