Iptables 1.3.4 com Layer 7 e Kernel 2.6.14 no Debian 3.1

Este tutorial visa implementar o Layer7 (Application Layer Packet Classifier for Linux), atualização do kernel para a versão 2.6.14 e o Iptables para a versão 1.3.4 no Debian 3.1.

[ Hits: 44.351 ]

Por: Artur Emilio de Abreu em 11/06/2006


Aplicando, habilitando o patch, compilando e instalando o novo kernel



Agora vamos aplicar o patch necessário no kernel desta forma:

# cd /usr/src/linux-2.6.14
# patch -p1 < /usr/src/netfilter-layer7-v2.0/kernel-2.6.13-2.6.14-layer7-2.0.patch


Aproveite e copie o arquivo de configuração de seu kernel, que já esta instalado para o diretório /usr/src/linux-2.6.14:

# cp /boot/config-2.6.8-2-386 /usr/src/linux-2.6.14/.config

Quase lá agora...

Agora vamos habilitar o módulo:

# make menuconfig

Escolha a opção "Networking".

Depois, "Networking options", e em seguida "Network packet filtering (replaces ipchains".

Em seguida escolha "IP: Netfilter Configuration".

Procure pelas opções, "Layer 7 match support (EXPERIMENTAL) e "Layer 7 debugging output" e marque as duas.

Podemos aproveitar e marcar outras opções, assim podemos ter mais funcionalidades.

Agora iremos compilar o novo Kernel com o patch do Layer7:

# make-kpkg clean
# make-kpkg --append-to-version "-386" --initrd --us --uc kernel_image


Destrinchando as opções:
  • --append-to-version: Acrescenta a palavra que você indicar, não use maiúsculas;
  • --initrd: indica de junto com o kernel, deve ser criado um arquivo "initrd", que será necessário, para saber mais "man 4 initrd";
  • --us e --uc: Opções para criação de pacotes, para não tentar assinar com o gpg e não criar changelog, para saber mais "man dpkg-buildpackage";
  • kernel_image: É a opção que o make-kpkg vai executar, criando uma pacote Debian com a imagem do kernel, para saber mais "man make-kpkg".

Após executar o comando, vai aparecer uma pergunta como esta:

Warning: You are using the initrd option, that may not work unless you have applied the initrd cramfs patch to the kernel, or modified mkinitrd not to use cramfs by default. The cramfs initrd patch, is included in the Debian supplied kernel sources, but is not present in pristine kernel sources.

By default, I assume you know what you are doing, and I apologize for being so annoying. Should I abort[Ny]?

Digite "n" para não abortar e tecle "Enter".

Se você gosta de um cafezinho e talvez até um cigarro, esta é a hora, dependendo de sua máquina pode demorar um pouco.

Após o termino mude para o diretório /usr/src e vai ter um pacote como este:

kernel-image-2.6.14-386_10.00_i386.deb

Então digite o seguinte comando para instalar o novo kernel:

# dpkg -i kernel-image-2.6.14-386_10.00_i386.deb

No diretório /boot, vão ter agora mais 2 arquivos, vmlinux-2.6.14-386 e initrd.img-2.6.14-386 prontos para serem usados.

No nosso caso, em que usamos Grub, não se necessita editar nenhum arquivo, pois tudo já é feito automaticamente.

Bom, a parte do kernel já esta pronta, vamos então aplicar o patch do Layer7 no iptables.

Página anterior     Próxima página

Páginas do artigo
   1. Módulos necessários para compilar/recompilar o kernel no Debian
   2. Aplicando, habilitando o patch, compilando e instalando o novo kernel
   3. Aplicando o patch do layer 7 no iptables e testando os novos recursos
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Automatizando Firewall com IDS Snort e SnortSam

Firewall invisível com Proxy ARP

PFSense Firewall com Squid e SquidGuard

Gerenciando regras de Iptables com Firewall Builder (parte 2)

Script de firewall e análise de log

  
Comentários
[1] Comentário enviado por daghetti em 12/06/2006 - 13:40h

Amigo, fiz como vc descreveu nesse artigo, porém não aparece as opções "Layer 7 match support (EXPERIMENTAL) e "Layer 7 debugging output". Instalei o Debian 3.1 R1. Sabe o que pode estar saindo errado?

Grato,
Rafael Daghetti

[2] Comentário enviado por agk em 12/06/2006 - 15:25h

Muito bom o artigo.
Como o Debian sempre facilita as coisas para gente, eu sugiro que utilize o jeito Debian de baixar os fontes.
Vá para o diretório /usr/src
apt-get source pacote
Pronto você já tem o fonte no formato Debian pronto para criar os pacotes em .deb.
./rules binary
Se não tiver disponível o pacotes, altere o seu source list os deb-src para sid e com certeza terá.
[ ]'s.

[3] Comentário enviado por dailson em 12/06/2006 - 15:27h

Gostaria de Saber em relação a este Pathc. Se a queda de perfomance é significativa, pois o firewall vai ter que abrir todo pacote que passa e abrir para ver qual a aplicação. Acho que isso deve deixar o Firewall um pouco lento.
Estou certo??? Quem tiver experiências com este filtro por favor descreve aqui.

Dailson Fernandes

[4] Comentário enviado por tarso em 13/06/2006 - 18:08h

exelente materia.

[5] Comentário enviado por andrentfs em 11/09/2006 - 00:39h

Excelente artigo...

Quanto ao problema citado pelo nosso amigo Rafael Daghetti no inicio dos comentários e aqueles que enfrentarem este problema.
Para habilitar o layer 7 é nescessário habilitar o modulo CONNECTION TRACKING FLOW ACCOUNT pois o layer 7 possui dependência a ele.
Após habilitar este modulo os dois modulos do layer 7 vão aparecer...

espero ter ajudado...

[6] Comentário enviado por guilmars em 28/11/2006 - 10:02h

Gostei muito do seu artigo, segui o tuto passo a passo e não deu nenhuma mensagem de erro, mas quando eu vou testar o iptables:
# iptables -A FORWARD -m layer7 -l7proto msnmessenger -j DROP
da a seguinte mensagem:
iptables v1.3.5: Couldn't load match `layer7':/usr/local/lib/iptables/libipt_layer7.so: cannot open shared object file: No such file or directory
já tentei localizar o arquivo e não encontro em lugar nenhum, será q poderia me dar um help????

[7] Comentário enviado por winkiller em 11/05/2007 - 17:03h

Aqui aconteceu o mesmo que com o guilmars. Alguém já descobriu o que houve ou tem outro tutorial?

Durom 1.4
256MB RAM
80GB HD
Placa mãe Elitegroup (1ª linha da PCCHIPS <-- blargh!!)
eth0 = RTL-8139 eth1 VIA RHINE III (on-board)
Debian 4.0
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Kernel 2.6.18
iptables v1.3.7
l7-protocols-2007-05-09
netfilter-layer7-v2.9

[8] Comentário enviado por sinval2008 em 14/04/2008 - 18:50h

Olá segui o tutorial direitinho e tudo foi muito bem, só que na hora de executar o make menuconfig, não aparece as opções para ativar o layer7.
O que posso ter feito de errrado?

[9] Comentário enviado por sinval2008 em 14/04/2008 - 21:39h

No meu menuconfig aparece assim IP tables support (required for filtering/masq/NAT)
ao invés de apacerer assim:
IP tables support (required for filtering/masq/NAT) --->
Alguém poderia me ajudar?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts