[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