Pular para o conteúdo

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.
Leandro Moreira leandromoreirati
Hits: 53.869 Categoria: Linux Subcategoria: Kernel
  • Indicar
  • Impressora
  • Denunciar

Introdução

Compilar o kernel é uma arte, compilar o kernel com iptables é um sofrimento, passei duas semanas quebrando pedra até conseguir compilar o kernel com iptables e suporte a psd, string e o layer7.

Pacotes necessários:
Observação: Caso esteja usando o Debian, precisará também dos seguintes pacotes:

# apt-get install kernel-package
# apt-get install libncurses5-dev
# apt-get install libqt3-dev


Este artigo foi elaborado usando a versão 2.6.14 do kernel, a versão 1.3.5 do iptables e a versão 20040621 do patch o matic.

Preparando a instalação


Primeiramente vamos remover o iptables caso ele esteja instalado, esse processo varia de distro para distro:

# aptitude remove iptables

Descompactando os arquivos:

# cd /usr/src
# tar -zxvf <<local_do_fonte_do_kernel>>
# tar -zxvf <<local_do_fonte_do_iptables>>
# tar -zxvf <<local_do_fonte_do_POM*>>


   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

Integrando Apache 2 com Tomcat 5

Integrando autenticação do Squid ao Active Directory

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

Recuperando RouterOS na RouterBOARD 450

Monitorando Host via IPMI no Zabbix

Instalando kernel otimizado do Ubuntu no Asus eeepc

Compilando um kernel Linux

Mitigando Erro de Kernel: Neighbour Table Overflow

Kernel 2.6 hacks

Como mudar o logo no kernel 2.6

#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

Entre na sua conta para comentar.