Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu
Por rafasch
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Melhorando a segurança do Firewall com Bridges usando Snort_Inline no Debian Etch
Linux user
condector
06/06/2007
A segurança é algo preocupante para os administradores de sistema. Estamos acostumados a ver aquele firewall, que está ali na porta de saída da sua rede, apenas servindo de gateway para a internet e deixando trafegar dados sem qualquer controle. Vamos mostrar como melhorar o firewall bridge que criamos no outro artigo utilizando o Snort_Inline.
Por: Brivaldo Alves da Silva Jr | Blog: http://blog.bibliotecaunix.org/
[ Hits: 19105 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Começando

Um sistema de firewall por si só não é algo mágico capaz de proteger a sua rede de todo tipo de problema que possa existir.

E é pensando nisso que estamos aqui novamente, para melhorar nosso firewall descrito no último artigo sobre firewall com brigdes no Debian Etch 4.0.

Hoje, por mais restritivo que seja nosso firewall, sempre vamos acabar sendo obrigados a deixar as portas dos serviços utilizados abertas, como por exemplo a porta 80 do servidor web Apache. E nesta porta podem ser injetados diversos tipos de ataque, então vem a pergunta: como podemos nos proteger destes problemas?

Existe uma ferramenta chamada Snort [1] que é um IDS (Intrusion Detection System) muito utilizado para detecção de tentativas de intrusão em uma rede. Geralmente ele vem acompanhado do seu parceiro Guardian [2], onde o Snort gera os alertas sobre as tentativas de intrusão e o Guardian gera as regras de bloqueio e proteção para a rede baseado nesses alertas. Tudo muito bonito e funcional, mas deixa apenas uma coisa a desejar: o primeiro pacote!

Embora o Snort gere o alerta, ele não bloqueia o pacote malicioso, sendo assim até o Guardian gerar a regra de bloqueio, o vírus, exploit, scan, já foi executado na sua rede.

A diferença do Snort normal para o Snort_Inline, é que o Snort_Inline atua usando a libips, diretamente "escutando" a saída do iptables na regra QUEUE, enquanto o Snort normal usa a libpcap para acessar os dados da rede em modo 'promíscuo'. E essa pequena diferença nos permite integrar o Snort_Inline a nossa solução anterior de Firewall com Bridge usando o Debian Etch 4.0, também publicado na Viva o Linux e atualizado constantemente em [3].

Vamos então aprender como configurar o Snort_Inline no nosso firewall com bridge.

[1] http://www.snort.org
[2] http://www.snort.org/dl/contrib/other_tools/guardian/
[3] http://www.debian-ms.org/mediawiki/index.php/Bridge_firewall

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por y2h4ck em 06/06/2007 - 09:07h:

Na verdade execução de um sistema de IDS executando no mesmo hardware do Firewall é algo um pouco arriscado, afinal um firewall deve ser um host onde não executem outros serviços alem do mesmo. O uso de um IDS pode produzir um uso excessivo dos recursos físico, e, como bem sabemos o Snort o faz.

Em um caso de um ataque massivo e persistente, como por exemplo um atacante realizando um probe em cima de um serviço publicado através deste firewall, o snort geraria uma quantidade de alertas mto grande, e os forks poderiam ocasionar um DoS no serviço de Gateway.

O recomendado e ter uma placa no firewall apenas para uso do IDS, esta placa ficaria no firewall em modo promiscuo, e assim o IDS ligado através de um cabo cross, poderia analisar de forma paralela os pacotes que trafegam na rede.

Como forma de IPS poderiamos utilizar o Iptables utilizando o fwsnort que gera regras para o firewall com base nas regras de Snort, sendo assim assinaturas conhecidas de ataques críticos podem ser rejeitadas antes de atravessar a rede.

Abraços.

Anderson

[2] Comentário enviado por condector em 08/06/2007 - 17:13h:

É por isso que não usamos um IDS e sim um IPS... concordo contigo, mas a idéia deste artigo é integrar o snort_inline ao nosso firewall por bridges, ou seja, invisível na rede, o que torna um ataque em cima do firewall impossível, pois ele não tem IP na rede.

E é exatamente isso que estou dizendo no artigo... usando um firewall bridge como descrevi é possível usar o snort para bloquear os ataques muito antes de chegarem na rede... acho que você não uniu este artigo ao meu anterior sobre firewall bridge. Mesmo assim, se for pensar somente em IDS você está correto, mas no que eu proponho fazer, acredito que você tenha confundido algumas coisas.

Abraços,
Brivaldo Jr

[3] Comentário enviado por condector em 08/06/2007 - 17:13h:

Ta bom vai, impossível é d+ pra quem conhece redes e softwares em geral, mas pelo menos improvável.

[4] Comentário enviado por y2h4ck em 09/06/2007 - 13:03h:

Veja o seguinte, supomos que o atacante faça um packte injection na sua rede enviando fora do header do pacote, um local onde é considerado um uso-abusivo em protocolos de transporte convencionais, uma string do tipo:

"exe?+-+-+-+-+-+-+-+-+-+-+-+-+-+-+",

Seu IPS vai disparar um alerta contra o host e vai bloquá-lo certo ? Interessante, porém como sabemos um protocolo de camada mais baixo como por exemplo transporte, pode ser encapsulado facilmente dentro de um protocolo de camada mais alta "Aplicação" neste caso específico, sendo assim, poderiamos encapsular um DoS usando por exemplo o Velho UDP/Pong, onde enviamos um UDP na porta 65335 e um na 1024, fazendo seu IPS achar que se trata de um Scan Nmap usando o método de Varredura UDP.

Se colocarmos isto dentro de um packet generator como o yersinia ou nemesis por exemplo, podemos gerar uma repetição de forma que, seu IPS irá gerar 3 alertas diferentes para o mesmo pacote.
- 1 para o valor do payload onde setamos o string malicioso
- 1 para o "Nmap Scan"
- 1 para o Undefined UDP Packet (pacote UDP com conteúdo indefinido).


Agora imagine esta repetição acontecendo por meia hora seguida, com um link "generoso" de 512 kbps eu conseguiria gerar em torno de 16.000 alertas por segundo no seu firewall, e minha experiencia com o Snort diz que ... com um fluxo alto assim de pacotes nos pre-processadores ele aumenta consideravelmente o uso de recursos do Sistema.


Pensando pelo ambito que você está tratando de uma integração de seu host com o Iptables posso citar mais uma infinidade de falhas de segurança que podem ocorrer deste derivado de IDS + Firewall, porém não vem ao caso.

Não me confundi não, conheço muito bem oque é um IDS e um IPS :)

Não estou desmerecendo sua solução, apenas estou apontando um ponto falho que deve ser considerado no momento que se implementa algo deste tipo :)

Abraços e boa sorte.

[5] Comentário enviado por condector em 06/09/2007 - 11:29h:

Bem, vendo por esse lado realmente você está correto. Quando falei da confusão foi porque a sua primeira resposta me deixou confuso no que você queria dizer.

A idéia de usar um IPS num bridge transparente evita em parte este problema que você falou pois você não sabe que tem um firewall no meio do caminho pois nem IP ele possui... sendo assim fica MUITO improvável porque você teria que conhecer a estrutura antes de ataca-lá. Seu pacote malicioso seria bloqueado e você não saberia porque, até porque nem o NMAP conseguiria definir quem ou quando foi bloqueado.

Este artigo como disse é um completemento ao firewall bridge invisível que descrevi em outro artigo aqui no VOL

[6] Comentário enviado por removido em 17/10/2009 - 09:21h:

Não Conheço Muito o SNORT mas Ajudou muito este Artigo.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.