Compilando kernel com suporte a POM (path-omatic) e Layer7 no Debian e Slackware

Esse artigo visa auxiliar os administradores de rede a implementar políticas mais efetivas de bloqueio pacotes na rede, tais como emule, msn e etc. Foca ainda configuração de diretivas de segurança tais como o PSD e o STRING, que podem auxiliar o Squid no bloqueio a tráfego HTTP.

[ Hits: 52.211 ]

Por: Leandro Moreira em 28/06/2006


Aplicando o POM (Patch-o-matic):



Vamos então aplicar o patch o matic (POM) ao nosso kernel, é importante ressaltar que nos kernels da família 2.6, o match string já vem presente, restando-nos somente aplicar o match psd.

# cd patch-o-matic-ng-20040621/
# KERNEL_DIR=<local_do_fonte_do_kernel>>
# IPTABLES_DIR=<local_do_fonte_do_kernel>
# ./runme extra


Exemplo:

# KERNEL_DIR=/usr/src/linux-2.6.14/
# IPTABLES_DIR=/usr/src/iptables-1.3.5/
# ./runme extra


Nesse momento apareceram vários patch para serem aplicados, com muito cuidado e atenção tecle "yes" somente no psd:

Welcome to Patch-o-matic (1.17)!

Kernel: 2.6.14, /usr/src/linux-2.6.14/
Iptables: 1.3.5, /usr/src/iptables-1.3.5/
Each patch is a new feature: many have minimal impact, some do not.
Almost every one has bugs, so don't apply what you don't need!
-------------------------------------------------------
02_linux-2.4.24.patch does not match your source trees, skipping...
Already applied: 01_iptables-1.2.10.patch 01_linux-2.6.3.patch

Testing 02_linux-2.6.4.patch... not applied
The 02_linux-2.6.4.patch patch:
   Author: Various
   Status: Mandatory

This patch contains all netfilter changes between stock kernel versions 2.6.4 and 2.6.5.

+ Fix ip_conntrack_helper dependency in ip_conntrack.h
  (Sergio Monteiro Basto)
  (http://lists.netfilter.org/pipermail/netfilter-devel/ 2002-November/009928.html)
+ Missing null mapping for local->local traffic with CONFIG_IP_NF_NAT_LOCAL disabled (KOVACS Krisztian)
+ ipt_MASQUERADE.c bugfix to compile it cleanly when debugging is enabled (Harald Welte)
+ Let the user send reset packet for bridged frames in the FORWARD chain with ip forwarding disabled (Bart de Schuymer)
-----------------------------------------------------------------
Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?]

Agora que aplicamos o patch, é hora de habilitar em nosso kernel os matchs string e psd, mas antes uma breve aulinha de compilação de kernel.

Temos duas opções para ativar um módulo no kernel, como módulo propriamente dito <M> ou como built-in <*>. A diferença de uma para outra opção é a seguinte:

Módulo: ele não é carregado pelo kernel na carga do sistema a menos que o usuário assim o determinar.

Built-in: o módulo e carregado com o kernel durante a carga do sistema.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Aplicando o POM (Patch-o-matic):
   3. Aplicando Layer7
   4. Habilitando os módulos no kernel
   5. Compilando kernel e iptables
   6. Instalando os protocolos do Layer7 e exemplos de regras
Outros artigos deste autor

Instalando e configurando o Nagios com e sem MySQL

Instalação e configuração do Squid com TProxy no Debian

Monitorando Host via IPMI no Zabbix

Recuperando RouterOS na RouterBOARD 450

Integrando autenticação do Squid ao Active Directory

Leitura recomendada

Kernel 2.6 hacks

Debian Lenny com Kernel 2.6.28 + Layer7 + Firewall

Ksplice - atualizando o kernel sem necessidade de reboot

Registrando extensões no kernel com o binfmt_misc

Compilação comentada do kernel

  
Comentários
[1] Comentário enviado por fredaum em 28/06/2006 - 16:45h

muito legal

na empresa onde trabalho fiz isso também, nos meus dois proxy, e vale lembra que é a única maneira (que eu conheço pelo menos) de bloquear o acesso do skype, é utilizando layer7, segue as regras para quem se interessar:

iptables -A FORWARD -s 192.x.x.x -m layer7 --l7proto skypeout -j DROP
iptables -A FORWARD -s 192.x.x.x -m layer7 --l7proto skypetoskype -j DROP

Abraços e parabéns pelo artigo.

[2] Comentário enviado por rjacomel em 28/06/2006 - 17:03h

Recomendo a utilização do IPP2P também:

http://www.ipp2p.org/

É próprio para bloqueio de softwares P2P (Kazaa, eMule, BitTorrent, etc.)

Parabéns pelo artigo.

[3] Comentário enviado por PetersonPS em 28/06/2006 - 18:13h

Muito bom mesmo.

Tentei a um tempo atras aplicar o POM e não tive sucesso, através deste artigo consegui identificar onde errei.

Parabéns.


[4] Comentário enviado por josevaldo em 30/06/2006 - 00:02h

Cara, o artigo tá bem explicado, porem aqui no meu slack 10.2 com kernel 2.613, não teve como habilitar as opções no kernel para que eu podesse recompilá-lo... será onde foi q eu errei.?

[5] Comentário enviado por leandromoreirati em 19/07/2006 - 16:45h

Como vc aplicou os patchs esta da forma como eu descrevi no artigo?

[6] Comentário enviado por balani em 01/08/2006 - 08:25h

Gostaria de parabenizar pelo artigo, está muito bom, eu gostaria de tirar uma duvida, não consegui aplicar o modulo string no meu kernel, estou usando conectiva 10 kernel 2.6.11 iptables 1.3.5, pois fiz to o procedimento de para aplicação do patch e ele não apareceu no menu da compilação. se puder me ajudar.

[7] Comentário enviado por leandromoreirati em 03/08/2006 - 00:44h

Caro,
Por default o string ja vem aplicado nos kernels da família 2.6 o que acontece e que dentro do network configuration tem algumas opções que se nao ativadas alguns módulos dentre eles o string e o layer7 nao aparecem, tenta ativar todas as opções e ve se ela aparece ( nao tenho um fonte de 2.6.11 aki pra ver ) ou se achar melhor da um screen na sua tela de opções e me manda por email.

[8] Comentário enviado por robertocruz em 04/01/2007 - 04:11h

Na aplicação do patch do Layer 7 sobre o kernel deu erro.

# patch -p1 < ../netfilter-layer7-v2.1/kernel-2.6.13-2.6.15-layer7-2.1.patch 9.1

patching file include/linux/netfilter_ipv4/ip_conntrack.h
Hunk #1 succeeded at 127 (offset -126 lines).
patching file include/linux/netfilter_ipv4/ipt_layer7.h
patching file net/ipv4/netfilter/Kconfig
Hunk #1 FAILED at 205.
1 out of 1 hunk FAILED -- saving rejects to file net/ipv4/netfilter/Kconfig.rej
patching file net/ipv4/netfilter/Makefile
Hunk #1 succeeded at 65 with fuzz 2 (offset -9 lines).
patching file net/ipv4/netfilter/ip_conntrack_core.c
Hunk #1 succeeded at 337 (offset 2 lines).
patching file net/ipv4/netfilter/ip_conntrack_standalone.c
Hunk #1 succeeded at 192 (offset 4 lines).
patching file net/ipv4/netfilter/ipt_layer7.c
patching file net/ipv4/netfilter/regexp/regexp.c
patching file net/ipv4/netfilter/regexp/regexp.h
patching file net/ipv4/netfilter/regexp/regmagic.h
patching file net/ipv4/netfilter/regexp/regsub.c

Alguém tem alguma idéia do que se trata e/ou de como resolver?

[9] Comentário enviado por leandromoreirati em 06/12/2007 - 16:59h

Qual é a versao do kernel que vc esta usando?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts