O l7-filter é um classificador de Netfilter, semelhante aos outros que tratam MAC-Adresses, portas, endereços, etc. É a melhor e mais versátil solução para bloqueio de serviços P2P, instant messengers, chats etc. Depois de apanhar um pouco para instalar e configurar o l7-filter, compartilho aqui com todos da comunidade.
Usei em o Kernel versão 2.6.15.3, o mais recente em 10/02/2006, data em que este tutorial foi escrito. Descompactamos o kernel para o diretório /usr/src/, onde será criado o diretório "linux-2.6.15.3", em seguida criamos o link simbólico para os fontes do novo kernel.
(isso é importante, pois o se não for feito haverá problemas na instalação do Iptables).
Finalmente a aplicação do patch conforme segue abaixo.
# cd /usr/src/linux-2.6.15.3/
# patch -p1 < /path/do/netfilter-layer7-v2.1/kernel-2.6.13-2.6.15-layer7-2.1.patch
OBS: Caso você já haja configurado este kernel antes de um "make mrproper" para zerá-lo, pois do contrário o patch não será corretamente aplicado, ele não irá gerar a opção para habilitar o l7-filter.
[2] Comentário enviado por removido em 12/05/2006 - 08:45h
Me corrija se estiver errado, mas tive uma experiencia com o L7 a algum tempo atrás, e não foi muito satisfatória... ah maneiras dos usuarios burla-los facilmente, uma delas é colocando um proxy externo com uma porta alta na aplicação que ira bloquear tipo kazaa, emule, msn, skype, etc...
[]'s
RaFa
[3] Comentário enviado por capitainkurn em 14/05/2006 - 11:48h
, Caro RaFa
Não experimentei nada disso, mas observe o seguinte: servidores proxy respondem geralmente aos protocolos http e https, independentemente em que porta estes servićos operem, programas P2P usam protocolos distintos, mesmo que um cliente/servidor p2p esteje rodando como cliente em uma porta 80 por exemplo o proxy não acataria suas requisićoes. Em segundo lugar o L7 atua sobre strings, ou seja uma assinatura que cada servico na internet dispoe, o proprio iptables pode fazer isso nativamente de uma forma limitada com o módulo string, o que o L7 faz é associar a string ao protocolo usado, (eu disse PROTOCOLO e não PORTA.). Em terceiro lugar sempre que implemento gatways também o faćo com proxy Squid e uma regra para proxy transparente ou autenticado, ou seja o usuário tem obrigatoriamente que passar pelo Squid que só responde http e https.