On Oct 3, 2007 3:29 PM, Daniel Loureiro <[EMAIL PROTECTED]> wrote: > 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.
irmão tu tem que rever um pouco seus conceitos de rede, gambiarra é ponteiro descontrolado em kernel fazendo regexp de string, controlar tráfego na camada 3 é a coisa mais adequada e segura possível, não é a toa que é a forma mais tradicional > 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. o que é a mais pura verdade, vide a tabela a "precisão" dos módulo L7 do linux, a maioria dos protocolos tem uma boa chance de ser falso-positivo, e falso-negativo então é 98% de chance irmão, dai tu se apega nos outros 2% restante se liga na marmita? se não saca só: no linux você usa uma gambi q eles chamam de conntraq pra rastrear conexão, e dai da um match de camada 7 (q pode ser falso) e joga pro conntraq e no final das conta a banda ou o filtro voce controle é na camada 3 dos pacotes q passam naquema "conn"q ta sendo rastreada, sacou? dai só pra ilustrar o tamanho do seu engano em achar q camada 3 é furada, camada 3 é o a única viável de verdade, aí tu se apega em como trabalhar a classificação do jeito que deseja se liga? os linuxer fazem em kernel, e isso pra qualquer especialista em segurança é simplesmente errado > > 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. entao tu sabe bem q o L7 eh apenas para classificar > > 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; não viaja irmaozinho, divert manda o pacote inteiro e você faz com ele o que quiser, e nao tem nada de L2 na estoria > * 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 ? envia tudo pro pipe mas nao da pra desviar pra programa nao pra mandar pra programa tu faz com divert > > Enfim, alguém já teve uma experiência deste tipo, ou tem alguma idéia ? minha experiencia é usar snortsam jogando os peers pra 2 tables e ai tu mete eles num pipe e ja era, vai pra casa, pega um dia de folga e vai aproveita sua namorada num dia improvavel a tarde, (ela vai adorar) porque tudo vai funcionar sem vc precisar estar por perto, como de costume com freebsd > > Sds, > Daniel Loureiro. > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

