On 7/24/07, Patrick Tracanelli <[EMAIL PROTECTED]> wrote: > > Eu sempre recomendo algumas estrategias na hora de fazer essa migracao: > > 1 - Pegue tudo na CHAIN FORWARD e {PRE,POST}ROUTING do netfilter e > converta para NAT. Se sua opcao eh IPFW, brinque MUITO com divert e natd > ANTES de por qualquer outra regra no firewall. Faca divert seletivo, > nunca "from any to any". Explore tudo que o natd pode fazer. Ai voce ja > vai ter em mente como substituir qualquer regra dessas chains ai. Se > quiser estudar pf faca a mesma coisa com "nat" e "rdr" do pf. > > 2 - Pegue todos os filtros da chain OUTPUT do netfilter e seja seletivo, > separe o "output" cuja origem eh a propria maquina (o proprio firewall). > > 3 - Todos os outros output output, converta-os pra input. Tudo q nao eh > roiginado do proprio firewall, pra sair por uma interface > IMPERATIVAMENTE tem que ter saido por outra. Dai fazer regras de output > a reveria como se faz no netfilter é entropia e desperdiço de recursos, > pois essa eh a ultima chain processada, e pra chegar nela, o Linux "tem > a manha" de processar tudo antes... dai a performance vai pro espco. > Sim, vc pode achar q Linux tem boa performance, mas nao tem hehe. Nao se > comparar com o que poderia ser... e na questao de firewall o metodo de > processamento das regras deixa essa diferenca de decisao de engenharia > de software muito clara. > > 4 - Pegue as regras da chain input e converta-as para regras de IN no > firewall do BSD. > > 5 - Tenha em mente (ipfw) que o processamento eh first match wins. Se > nao entender isso e isso ficar tao instintitvo quanto respirar, nao vai > dar pra continuar... ai comece de novo. Se for usar pf tenha em mente > que eh last match wins. Ou seja processa tudo e vai "se lembrando" da > ultima decisao, salvo, se a regra tem "quick". > > 6 - Coloque todas as regras mais frequentes, (ipfw) como as primeiras, > sempre que possivel. > > 7 - Se for usar controle de banda, oriente-o a interfaces. Evite deixar > aplicando a todas interfaces, e oriente à interface interna (a mais > proxima do perimetro onde a estacao se encontra). > > 8 - Use one_pass=0 no ipfw, com controle de banda. Senao suas regras > assumem "allow" ao chegar no controle. E voce pode nao querer isso. > > 9 - Nao pegue scripts prontos, de terceiros. Faca seu proprio firewall. > > 10 - O que voce nao entender, leia na pagina de manual antes. É incrivel > como "man ipfw" é clara. Leia os textos, nao se apgeue a seção de > EXAMPLES. > > 11 - Faca testes. Testes e mais testes. Teste o "divert". Teste o > "forward". Entenda a diferenca entre eles. Teste-o antes de ter q qoutra > regra no firewall, pra nao ter confusao de comportamento. > > 12 - Agora pega todos aqueles conceitos de CHAIN e a sintaxe alieginena > do iptables e ESQUECE. Faca LAVAGEM CEREBRAL. Bem vindo a um mundo onde > voce nao tem q pensar em como usar a ferramenta, tem apenas q projetar o > firewall.. nao saber pra que que serve o -j o -J o -s -i -a -d -l -k -n > -j -S ou se alguma dessas opcoes nao existem, ou ainda o > --uma-expressa-que-nao-diz-nada=valor porque acabaram-se as letras do > alfabeto para ser uma nova opcao.
FANTÁSTICOS pontos Patrick !!! Apenas mais uma dica, use e abuse de diretivas de log (ipfw add <deny|allow> log ou <block|pass> log) que facilitam MUITO no debug de eventuais problemas e visibilidade do que o firewall está fazendo. Só tome cuidados em gerar muito log quando a rede for grande >300 maquinas. ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd