Debian Lenny com Kernel 2.6.28 + Layer7 + Firewall

Aqui vamos montar um Debian Lenny com o kernel 2.6.28 e suporte ao Layer 7 adicionado a um firewall e o melhor, tudo isso feito por um único script.

[ Hits: 25.177 ]

Por: Douglas Q. dos Santos em 28/10/2009 | Blog: http://wiki.douglasqsantos.com.br


Porque utilizar o Layer7



Olá,

Todo mundo fala o tal "suporte ao Layer7", mais para quê utilizá-lo?

Digamos que ele é um espião na camada mais alta do modelo OSI, tem os seus protocolos prontos e que quando o chamados no firewall conseguem verificar na camada 7 (Aplicação) do protocolo OSI o que está funcionando.

O que tem nesses protocolos?

Strings de controle, estas strings controlam o que deve passar e o que deve ser bloqueado nesta camada 7.

Página de consulta dos protocolos disponíveis para o módulo que iremos carregar no kernel:
Nesta página temos os tipos de protocolos que o Layer7 dá suporte, com a especificação de cada um e com a explicação do tipo de aplicação do protocolo.

Se você está querendo trabalhar com o Layer7 a fundo, sugiro que sempre verifique nesta página as possíveis atualizações e novos protocolos que vão sendo implementados a cada pouco.

Mas qual é o real motivo de eu utilizar o Layer7?

Temos várias aplicações que não trabalham em uma porta específica, o que é um sério problema para serem bloqueadas. Ao invés de sair bloqueando cada porta que a aplicação utiliza, usamos o Layer7, que bloqueia diretamente a aplicação, não importando em qual porta ela esteja trabalhando.

Muito mais fácil e prático!

Este que é o nosso objetivo neste artigo.

    Próxima página

Páginas do artigo
   1. Porque utilizar o Layer7
   2. Utilização do script
   3. Script
Outros artigos deste autor

Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze

Bind9 em chroot no Debian Lenny

Apache em chroot + MySQL + PHP + mod_security + mod_evasive + vsftpd + Fail2ban + Debian Squeeze

Debian + Postfix + MySQL + PostfixAdmin + MailScanner + Webmail + Quotas

Um pouco sobre IPtables

Leitura recomendada

Kernel 2.6 hacks

Compilando um kernel Linux

Blu-ray: Reproduzindo, copiando, ripando e assistindo no GNU/Linux

Como compilar o Kernel em qualquer distribuição GNU/Linux

Compilando ou atualizando um kernel Linux

  
Comentários
[1] Comentário enviado por xerminador em 28/10/2009 - 14:01h

Muito bom seu post douglashx concerteza irei da uma ajustadinha no script e testar ele...

Vlw por compartilha seu conhecimento.

[2] Comentário enviado por removido em 28/10/2009 - 14:39h

Obrigado.


Se precisarem que eu envie por email o Script favor me passarem um email que eu encaminho o arquivo.

Email:douglashx@gmail.com
msn:quintilianodouglas@hotmail.com


Douglas Q. dos Santos

[3] Comentário enviado por hugoalvarez em 29/10/2009 - 19:40h

Ficou bonito o script, acho que poderia deixar a OUTPUT padrão DROP para evitar que usuários com conexões relacionadas conseguissem OUTPUT através de algum software ou vírus que se instalou, muitos podem iniciar conexões dependendo do caso, pelo que vi foi usada OUTPUT padrão em ACCEPT

\$IPT -P INPUT DROP
\$IPT -P OUTPUT ACCEPT
\$IPT -P FORWARD DROP

perdoe minha ignorância, estou voltando agora aos estudos hehehe e o artigo foi alvo de muita pesquisa com certeza antes de ser estar aqui, é bem detalhado, mas um OUTPUT DROP acaba matando todos os msns e todas as porcarias online, o chato é ficar configurando, mesmo assim nota 10.

Abrçs

[4] Comentário enviado por removido em 29/10/2009 - 20:16h

Poderia tambem ter deixado o OUTPUT com a politica default DROP.
eu optei pela utilização da OUTPUT ACCEPT pelo motivo de qua qualquer conexão como OUTPUT tem que sair da maquina local e não das outras maquinas da rede.
Se uma conexão sair de outra maquina vai sair pelo firewall como FORWARD e as conexão com o FORWARD estão com politicas DROP só vai passar o que for definido pelo administrador.

Douglas

[5] Comentário enviado por grandmaster em 29/10/2009 - 22:23h

Bom artigo, adicionado
---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[6] Comentário enviado por removido em 03/11/2009 - 07:47h

Bom dia a todos.


Percebi que a script que postei esta dando problemas para alguma pessoas por causa da configuração inicial do servidor.
Eu bolei um script para a configuração inicial do servidor que vai servir de base para o script do Layer7.

Pois muitas pessoas quando rodarem o script vão perceber que da algum erro por falta de algum pacote que já deveria estar instalado em um ambiente base para servidor.

Quem quiser este Script de configuração inicial do servidor para deixar uma boa base para a implementação do Layer7, eu passo o script por email ou pelo msn.

email: douglashx@gmail.com
msn: quintilianodouglas@hotmail.com

[7] Comentário enviado por cavanso em 04/11/2009 - 00:55h

Prezado Douglas,

Estive observando seu script de instalação, você pede para instalar o smbclient e o telnet por qual motivo da utilização ?

Grato

Bruno

[8] Comentário enviado por removido em 04/11/2009 - 07:42h

E ai.


Cara no script de instalação que eu te mandei por email, eu garanto o que estará instalado no servidor que é de uso cotidiano, o telnet é muito util para teste de portas abertas e conexões.
e o smbclient eu utilizo muito por questões de precisar de arquivos que estão em servidores Windows e em Servidores Samba.


Douglas.

[9] Comentário enviado por silent-man em 10/11/2009 - 14:52h

Boa tarde douglashx

A intenção e ou automatização do script é uma ótima idéia(também odeio fazer a mesma coisa várias vezes).

Só gostaria de atentar para as regras de firewall

/sbin/iptables -P FORWARD DROP (é isso ai vamos negar TUDO que poderia sair/partir de nossa REDE/LAN).

Ai mas a frente você faz o seguinte:

\${IPT} -A FORWARD -s \${LAN} -p tcp -m tcp --dport 80 -j DROP ( OPA! ISSO AQUI JÁ ESTÁ BLOQUEADO na politica padrão FORWARD DROP).

\${IPT} -A FORWARD -s \${LAN} -j ACCEPT ( AQUI FICOU PERIGOSO EIN!!!??? ) se você der esse FORWARD ACCEPT, todo e qualquer tráfego poderá sair/partir da sua rede para outra(dmz, internet, etc...) inclusive a porta 25 para spammers.

O mesmo vale para a tabela INPUT (toda sua lan tem acesso ao seu FW)
\${IPT} -A INPUT -s \${LAN} -j ACCEPT

Bom isso foi apenas uma dica, me corrija ou simplesmente ignore se estiver errado.

[10] Comentário enviado por consultor.inf em 03/11/2010 - 11:10h

Muito bom seu artigo.

Instalei e aparentemente ocorreu tudo bem, fis um teste bloqueando msn e funcionou.
O problema e quando tento bloquear videos ele não bloqueia. Estou usando a seguite regra
# iptables -t mangle -A POSTROUTING -m layer7 --l7proto httpvideo -j DROP

Sera o que pode estar acontecendo?

Obrigado



[11] Comentário enviado por blade_ander em 27/12/2010 - 11:12h

Pessoal,

Se tiverem problemas e o módulo não subir, vai a dica, no caso usando Debian 5.06 lenny.

Alterando configuração do modulo L7:
# cp /lib/modules/2.6.26/kernel/net/netfilter/xt_layer7.ko
/lib/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/xt_layer7.ko


Editando arquivo de módulos:


vim /lib/modules/2.6.26-2-686/modules.dep

Adicone a linha abaixo no final do arquivo:

/lib/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/xt_layer7.ko: /lib/modules/2.6.26-2-686/kernel/net/netfilter/nf_conntrack.ko /lib/modules/2.6.26/kernel/net/netfilter/x_tables.ko


Reinicie o servidor.

Subir o modulo: modprobe xt_layer7


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts