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

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

Integrando autenticação do Squid ao Active Directory

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

Integrando Apache 2 com Tomcat 5

Leitura recomendada

Linux (kernel) - A história do seu criador

Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux

Compilando kernel 2.6.11 no Slackware 10

Compilando kernel no Debian Squeeze

IPCMSG: Comunicação inter-processos sem magia negra

  
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