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

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


Utilização do script



A utilização do script é bem simples. Ele trabalha da seguinte forma:

Um menu principal com 4 opções:
  1. Primeiro estágio - instalação do kernel
  2. Estágio 2 - configurações do iptables
  3. Gerar um script de firewall de exemplo
  4. Sair

Na primeira opção será efetuado o ajuste no arquivo do repositório, instalado os pacotes necessários. Será baixado o código fonte do kernel e mais dois arquivos, um deles é o arquivo com as configurações padrões desta versão do kernel e o outro é o patch que será inserido em nosso novo kernel.

Nossos arquivos serão descompactados, será inserido o patch no kernel e inseridas as linhas necessárias a configuração do Layer7 no kernel.

Com isso o kernel será compilado.

Neste processo coloquei um aviso no script que será necessário pressionar 8 vezes enter para confirmar as configurações. Depois deste ponto o kernel será compilado e será gerado um pacote .deb que será instalado automaticamente. Depois deste processo o sistema será reiniciado.

Na segunda opção será baixado o fonte do iptables e será inserido um patch nele que servirá para habilitar o suporte ao Layer7. Ele será compilado e será gerado também um arquivo .deb que já será instalado automaticamente.

Depois será gerado um arquivo dando prioridade ao nosso iptables compilado, ele não será atualizado via "aptitude safe-upgrade" ou "apt-get upgrade".

Depois disso serão instalados os protocolos do Layer7 e carregados os módulos.

Na terceira opção eu estou gerando um firewall de teste, que já está com algumas regras do Layer7. Ele contém as opções básicas de um script: start, stop, restart e status.

Depois de iniciar o script, execute-o com a opção "status" e verifique as regras que estão trabalhando. Ele é somente um exemplo que pode ser ajustado às suas necessidades.

E a última opção é só sair mesmo.

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

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

Servidor Jabber com Openfire + MySQL + Debian Lenny

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

Bind9 em chroot no Debian Lenny

Leitura recomendada

Afinal, o que é o Ubuntu?

Kernel atualizado no Debian - Parte I

kernel Linux otimizado - Compilação e teste

Alterando as permissões de um arquivo

Compilando o kernel no Slackware com pacotes pré-compilados

  
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