Melhorando a segurança do Firewall com Bridges usando Snort_Inline no Debian Etch
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.
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
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
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