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 -~----------~----~----~----~------~----~------~--~---

