[FUG-BR] Filtro L7

Daniel Loureiro daniel em termasa.com.br
Quarta Outubro 3 14:29:00 BRT 2007


Bom dia,

sou iniciante no FreeBSD, e gostaria de fazer filtragem na camada 7. 
Ex.: dar uma certa banda para emails, bloquear msn para alguns ips, 
fazer gráficos por protocolo, etc. No linux eu uso o iptables + 
filter-l7, mas no freeBSD eu não achei nada parecido.

Eu sei que é possível fazer isso na camada 3, usando portas e ips que 
estes programas usam, mas acho isso muito "gambiarrado" e frágil. 
Afinal, se eu faço shaping em uma porta, o usuário pode usar outra.

Perguntando ao Google, ele me mostrou uma mensagem antiga dos 
desenvolvedores do ipfw dizendo que não implementariam layer 7 pois 
seria algo baseado em expressões regulares, o que, além de ser lento, 
poderia dar falsos-positivos ou falsos-negativos.

Porém, eu já trabalhei com o filter-l7 do linux e sei que funciona muito 
bem. Além disso, dado o poder atual dos processadores, esta métdo não 
interfere na velocidade de transmissão.

Entre as hipóteses que pesquisei:
* netgraph: achei muito complexo, praticamente precisa ter que programá-lo.
* ipfw + divert: não dá, o ipfw pega só o cabeçalho do protocolo, assim, 
não tem o que eu filtrar.
* snort_inline: usa o mecanismo acima, e portanto em nível L2/L3;
* hackear o ipfw: complexo, mas parece mais simples que usar o netgraph;
* ipfw + pipes: é possível usar pipes para enviar tráfego para meu 
programa ? o ipfw envia os dados para o pipe ou só o cabeçalho ?

Enfim, alguém já teve uma experiência deste tipo, ou tem alguma idéia ?

Sds,
Daniel Loureiro.
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : daniel.vcf
Tipo  : text/x-vcard
Tam   : 195 bytes
Descr.: não disponível
Url   : http://www.fug.com.br/historico/html/freebsd/attachments/20071003/7e32b0ef/attachment.vcf 


Mais detalhes sobre a lista de discussão freebsd