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: 41.557 ]

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


Escrevendo regras pra valer



Na comunidade, lancei algumas regras contra IP SPOOFING, que é a técnica que o invasor esconde seu IP para que apareça errado nos logs.

Isto pode ser feito no seu firewall, mas como é um ataque conhecido, eu deixo no meu HLBR aqui no trabalho.

Como o HLBR não traz estas regras por padrão, é necessário fazermos dois passos.

Primeiro:

Cadastrar o arquivo de regras no /etc/hlbr/hlbr.rules.

<include rules/spoof.rules>

Segundo:

Criar o arquivo /etc/hlbr/rules/spoof.rules com o seguinte conteúdo:

# name: spoof.rules
# created by: Dailson Fernandes - http://www.dailson.com.br
# date: 15 Dec 07
# update: none
# version: 1.0
# target: block ips spoofed


<rule>
ip dst(servers)
ip src(10.0.0.0/8)
message=(spoof-1) Ip spoof Network 10.0.0.0/8
action=action1
</rule>

<rule>
ip dst(servers)
ip src(172.16.0.0-172.31.255.255)
message=(spoof-2) Ip spoof Network 172.16.0.0-172.31.255.255
action=action1
</rule>

<rule>
ip dst(servers)
ip src(192.168.0.0-192.168.255.255)
message=(spoof-3) Ip spoof Network 192.168.0.0-192.168.255.255
action=action1
</rule>

Ou se você preferir, baixe este arquivo de regras aqui.

Depois salvar o arquivo e reiniciar o HLBR para ter as regras em execução. Note que qualquer conexão vinda da WAN com ip de rede local serão bloqueadas.

Página anterior     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

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

Gerenciando logs do Linux pela WEB com o PHPSYSLOG-NG (parte 1)

Enrolado para configurar o Samba? Chame o SWAT

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

Glances - Monitoramento de Processos e Perfomance

Leitura recomendada

Criptografia chave simétrica de bloco e de fluxo

Técnicas forenses para identificação da invasão e do invasor em sistemas Unix/Linux através do SSH (parte 2)

PuTTY - Estabelecendo Chave Secreta com OpenSSH

SmoothWall - Linux para gateway

Framework OSSIM - Open Source Security Information Management

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts