[FUG-BR] Migração IPTABLES > IPFW
Patrick Tracanelli
eksffa em freebsdbrasil.com.br
Terça Julho 24 12:15:47 BRT 2007
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.
irado furioso com tudo wrote:
> Em Tue, 24 Jul 2007 11:36:47 -0300
> "Jose Augusto" <augusto.ferronato em gmail.com> escreveu:
>
>> tenho um script em
>> Iptables e como vou mudar, quero saber se será muito árduo mudar este
>> script para o ipfw
>
> IMHO, vc deverá se basear EXCLUSIVAMENTE nas ações pretendidas e
> adequar-se ao novo programa. São diferentes (felizmente - rss) e não há
> um "tradutor".
>
> Acho que vc pode encontrar boas informações aqui:
>
> http://www.google.com/search?hl=pt-BR&client=opera&rls=en&hs=IZL&q=tutorial+ipfw+freebsd&btnG=Pesquisar&lr=lang_pt
>
> divirta-se :)
>
> flames > /dev/null
>
--
Patrick Tracanelli
FreeBSD Brasil LTDA.
(31) 3281-9633 / 3281-3547
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"
Mais detalhes sobre a lista de discussão freebsd