Olá Bruno,
Se entendi, voce esta querendo recompilar o kernel e o iptables com 
suporte a layer7 pra fazer filtragem na camada de aplicação?

Caso sim, a instalação do layer7 não é muito complicada, é preciso 
obedecer alguns "passos".

É um pouco grande este e-mail que descreve como EU instalei o L7 no 
Slack12.1, e espero que possa lhe ajudar tambem.

Eu instalei assim:

Baixei os pacotes do site: http://l7-filter.sourceforge.net/
wget 
http://voxel.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.18.tar.gz
wget 
http://voxel.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2008-04-23.tar.gz
Baixei tambem o iptables-1.4.0 no site do netfilter
Descompactei em /usr/src (pode ser em qualquer diretorio, esse fica mais 
"genérico")
Entrei no diretório do source do kernel e apliquei o patch do kernel 
correspondente (o meu esta rodando o nativo do Slack12.1):
[EMAIL PROTECTED]:/usr/src/linux$ patch -p1 < 
/usr/src/netfilter-layer7-v2.18/for_older_kernels/kernel-2.6.22-2.6.24-layer7-2.18.patch
[EMAIL PROTECTED]:/usr/src/linux$ su
[EMAIL PROTECTED]:/usr/src/linux# make menuconfig
Fui ateh:  Networking ---> Networking options ---> Network packet 
filtering framework (Netfilter) --->
                          Core Netfilter Configuration --->  <M>  
"layer7" match support e [*]  Layer 7 debugging output
Sai da interface do dialog, clicando em YES pra salvar o .config do kernel
[EMAIL PROTECTED]:/usr/src/linux# make && make modules && make modules_install
Comigo demorou algumas horinhas(varia de capacidade de processamento)
Terminado este procedimento, copiei para o /boot os seguinte arquivos:
[EMAIL PROTECTED]:/usr/src/linux# cp arch/i386/boot/bzImage /boot/vmlinuz-l7
[EMAIL PROTECTED]:/usr/src/linux# cp System.map /boot/System.map-l7
[EMAIL PROTECTED]:/usr/src/linux# cp .config /boot/config-l7
Editei o /etc/lilo.conf
[EMAIL PROTECTED]:/usr/src/linux# vi /etc/lilo.conf
e adicioinei o seguinte na seção Linux Partition:
image = /boot/vmlinuz-l7
  root = /dev/dispositivo correspondente
  label ="Slackware-L7"
  read-only
Salvei, sai e o velho lilo pra escrever o setor de boot
[EMAIL PROTECTED]:/usr/src/linux# lilo
Warning: LBA32 addressing assumed
Added Slackware-L7 *
Added Slackware12.1
Veja que eu deixei a antiga imagem do kernel, caso desse algum problema de
sistema de arquivo, controladora SCSI ou coisa do tipo, se der um 
KernelPanic,
sem panico basta rebootar a maquina no antigo kernel e verificar o que 
aconteceu...
Comigo, seguindo este procedimento, a máquina iniciou normalmente carregando
a nova imagem com o suporte ao layer7 ativo.
Até ai só temos o suporte ao Layer7 a nivel de kernel no netfilter.
Precisamos agora compilar o iptables com suporte ao dito cujo:
[EMAIL PROTECTED]:~$ su -
Password:
[EMAIL PROTECTED]:~# cd /usr/src
[EMAIL PROTECTED]:/usr/src# removepkg iptables
Fiz o download do iptables versão 1.4.0 (note a versão 1.4.0)
Descompactei no /usr/src e entrei no diretório:
[EMAIL PROTECTED]:/usr/src# tar -xvjf iptables-1.4.0.tar.bz2
[EMAIL PROTECTED]:/usr/src# cd iptables-1.4.0
[EMAIL PROTECTED]:/usr/src/iptables-1.4.0# patch -p1 < 
/usr/src/netfilter-layer7-v2.18/iptables-1.4-for-kernel-2.6.20forward-layer7-2.18.patch
Setei permissao de execução em um execultavel dentro da pasta extensions
[EMAIL PROTECTED]:/usr/src/iptables-1.4.0# chmod +x extensions/.layer7-test
Depois o make e make install indicando o caminho do kernel:
[EMAIL PROTECTED]:/usr/src/iptables-1.4.0# make KERNEL_DIR=/usr/src/linux
[EMAIL PROTECTED]:/usr/src/iptables-1.4.0# make install 
KERNEL_DIR=/usr/src/linux
[EMAIL PROTECTED]:/usr/src/iptables-1.4.0# type iptables
iptables is /usr/local/sbin/iptables
[EMAIL PROTECTED]:/usr/src/iptables-1.4.0# iptables -V
iptables v1.4.0
Prontinho.. Slackware 12.1 com suporte a iptables1.4.0 layer7 instalado.
Agora precisamos configurar:
Voltamos para o /usr/src
[EMAIL PROTECTED]:/usr/src# tar -xvzf l7-protocols-2008-04-23.tar.gz
[EMAIL PROTECTED]:/usr/src# cd l7-protocols-2008-04-23
Criamos o diretorio que será armazenados os arquivos .pat que sao do L7
O padrão é este que criei e deve ser armazenado todos os arquivos .pat do
layer7. Caso nao deseje criar neste diretório, pode criar outro, mas no 
momento
que for digitar as regras vai precisar indicar o local com o --l7dir 
/caminho.
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# mkdir /etc/l7-protocols
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# cp protocols/*.pat 
/etc/l7-protocols/ -v
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# cp extra/*.pat 
/etc/l7-protocols/ -v
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# cp malware/*.pat 
/etc/l7-protocols/ -v
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# cp file_types/*.pat 
/etc/l7-protocols/ -v
Para testar a instalação:
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# modinfo xt_layer7
filename:       /lib/modules/2.6.24.5-smp/kernel/net/netfilter/xt_layer7.ko
version:        2.17
alias:          ipt_layer7
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# modprobe ipt_layer7
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# lsmod | grep xt
xt_layer7              14852  0
nf_conntrack           58560  1 xt_layer7
x_tables               14980  1 xt_layer7
Vamos fazer um teste com uma chain e ver se o L7 esta mesmo funcional:
[EMAIL PROTECTED]:/usr/src/l7-protocols-2008-04-23# cd /
[EMAIL PROTECTED]:/# iptables -Z
[EMAIL PROTECTED]:/# iptables -A OUTPUT -m layer7 --l7proto http
[EMAIL PROTECTED]:/# iptables -L OUTPUT -n -v
Chain OUTPUT (policy ACCEPT 38 packets, 4185 bytes)
 pkts bytes target     prot opt in     out     source               
destination
    0     0            all  --  *      *       0.0.0.0/0            
0.0.0.0/0           LAYER7 l7proto http
Vejam que o iptables já entende o L7. Vamos copiar um arquivo para o 
diretorio do httpd
e fazer download do mesmo e verificar se vai mudar
[EMAIL PROTECTED]:/# cp 
/home/assuero/downloads/bladeenc-0.94.2-src-stable.tar.gz 
/srv/httpd/htdocs/ -vrf
[EMAIL PROTECTED]:/# wget http://121.0.0.1/bladeenc-0.94.2-src-stable.tar.gz
[EMAIL PROTECTED]:/# iptables -L OUTPUT -n -v
Chain OUTPUT (policy ACCEPT 5228 packets, 480K bytes)
 pkts bytes target     prot opt in     out     source               
destination
   89  165K            all  --  *      *       0.0.0.0/0            
0.0.0.0/0           LAYER7 l7proto http

Vemos ai em funcionamento o L7.

O uso desta funcionalidade é enorme e já muito bem documentado.

T+
Assuero


Bruno Lopes wrote:
> Bom dia a todos Slackusers!
>
> Eu sou novo aqui no grupo de discussão e estou precisando de uma
> ajudinha. Gostaria de saber se alguem sabe como compilar o Layer7 no
> Slackware 12.1. Eu sei como compilar no Slackware 11 usando o Kernel
> 2.4.33.3, mas quando passei para o Slackware 12.1 tive dificuldade em
> compilar o kernel (acho que é esse o problema). Para efeito de
> informação, minha dificuldade de compilar o kernel é com os comandos
> necessários para a compilação, pois no Slackware 11 eu uso os
> seguintes comandos
>
> 1 - # make dep
> 2 - #make clean
> 3 - #make bzImage
> 4 - #make modules
> 5 - Copio o bzImage criado pela compilação para o diretório /boot
> 6 - Copio o novo System.map para /boot
> 7 - #make modules_install
>
> Andei dando uma googleada e vi varios tutos de como compilar, mas os
> comandos mudam de uma tuto para outro, alguns tem os mesmos comandos e
> alguns a mais.
>
> Desde já agradeço a ajuda de todos
>
> Bruno Lopes
>
> >
>
>   


--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
-~----------~----~----~----~------~----~------~--~---

Responder a