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.
Parte 2: 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.
# 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.
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.