Escolar Documentos
Profissional Documentos
Cultura Documentos
0 MSPF
Modular Stateful Packet Filter http://tuxfrw.linuxinfo.com.br
TuxFrw uma ferramenta modular, criada em linguagem shell script, que permite o admistrador configurar de forma fcil e segura as regras de filtro de pacotes do Firewall, utilizando o IPTables como interface de configurao. O Projeto foi iniciado em 01/10/2001 e comeou baseado em um simples script da Conectiva chamado CFTK (Conectiva Firewall Tool Kit). Na poca considerei o script muito complexo, de difcil manuteno e sem suporte a NAT. O shell script era composto de diversas funes em um arquivo de grandes propores. Como a Conectiva no aceitava os argumentos de melhoria e este era GPL resolvi criar o projeto TuxFrw.
POSTROUTING
FORWARD
PREROUTING
INPUT
OUTPUT
FORWARD
INPUT
FORWARD
OUTPUT
tf_INPUT.mod tf_KERNEL.mod
tf_OUTPUT.mod
tf_INPUT.mod tf_KERNEL.mod
tf_OUTPUT.mod
tf_FORWARD.mod tf_INT-EXT.mod tf_DMZ-INT.mod tf_INT-DMZ.mod tf_EXT-INT.mod tf_INT-VPN.mod tf_VPN-EXT.mod tf_DMZ-EXT.mod tf_EXT-DMZ.mod tf_VPN-INT.mod tf_DMZ-VPN.mod tf_VPN-DMZ.mod tf_EXT-VPN.mod
Entendendo o funcionamento dos mdulos: Os mdulos de regras representam o sentido de sada do trfego do pacote. tf_XXX-YYY.mod - neste caso, XXX representa de onde o pacote est vindo, ou seja, de qual interface de rede e YYY seria o destino do pacote, ou seja, por qual interface de rede est saindo o pacote. Desta maneira possvel obter mais clareza e facilidade na administrao das regras.
Entendendo o funcionamento dos mdulos: tf_KERNEL.mod aqui encontram-se optimizaes de kernel e carregamento de mdulos do Netfilter. Qualquer mdulo do Netfilter que se deseja utilizar, precisa ser includo aqui para ser carregado no momento da execuo do TuxFrw. tf_BASE.mod mdulo que contm todas as funes de chamadas para os mdulos do TuxFrw. Quando adicionamos uma nova interface de rede ao Firewall, inserimos aqui todas as chamadas para os novos mdulos.
tuxfrw.conf aqui encontramos todas as variveis utilizadas nos mdulos do TuxFrw. Novas variveis podem ser criadas aqui e lidas em qualquer outro mdulo do projeto. Facilita a manuteno das regras porque permite ao administrador alterar o valor de uma varivel em um nico lugar e no em cada mdulo. Ex.: o IP do DNS foi alterado, basta alterar aqui e reiniciar o TuxFrw.
Entendendo o funcionamento dos mdulos: kernel.orig aqui so gravados os parmetros originais do kernel, antes do TuxFrw ser executado pela primeira vez. Isso porque em caso de dvida, quando paramos o TuxFrw, este volta o kernel ao seu estado original. tf_FORWARD.mod nesse mdulo redirecionamos qualquer FORWARD para outros mdulos conforme suas interfaces de entrada e sada. tf_INPUT.mod aqui liberamos acessos ao Firewall. Por padro qualquer acesso ao Firewall negado e devemos ter muito cuidado com o que liberamos nesse mdulo. Firewalls no devem conter servios abertos desnecessariamente.
Entendendo o funcionamento dos mdulos: tf_OUTPUT neste mdulo liberamos qualquer acesso do Firewall para qualquer rede. tf_NAT-IN.mod aqui colocamos as regras de criao dos NATs de entrada no Firewall. Onde associamos os IPs pblicos aos no pblicos na entrada do Firewall. tf_NAT-OUT.mod aqui fazemos o inverso do citado acima, ou seja, associamos os IPs no pblicos aos pblicos na sada do Firewall. tf_MANGLE.mod mdulo utilizado para configuraes na tabela mangle, como marcao de pacotes para roteamento avanado e outros.
Instalando o TuxFrw
Feito! Nesse momento aps o comando: tuxfrw start se no houver erro algum nas regras nosso Firewall estar rodando perfeitamente como mostrado no diagrama. Aps o primeiro start do TuxFrw o mesmo cria um arquivo em /etc/tuxfrw chamado: kernel.orig. Nele so gravadas todos os valores default das variveis do sysctl antes da alterao do TuxFrw. Dessa forma basta o comando: tuxfrw stop para parar o TuxFrw e voltar os valores padres do sysctl.
O TuxFrw tambm possui instrues que podem ser passadas em linha de comando para facilitar uma implatao de um Firewall e ajudar resolver problemas com regras mal configuradas. Um exemplo tpico: voc configurou o TuxFrw mas o cliente diz que no consegue acessar determinado servio externo. Nesse caso uma regra pode estar errada no filtro ou no NAT. Executando na linha de comando: tuxfrw natopen voc diz ao TuxFrw para remover toda a filtragem e deixar apenas o NAT habilitado, ou seja, um router simples e sem bloqueios. Nos prximos slides mostrarei outros comandos.
O segredo de como o TuxFrw consegue trabalhar com mdulos est no uso das chains com as interfaces de rede. Para cada conjunto de interface de entrada e de sada na chain FORWARD, criada uma chain temporria responsvel que chamo de mdulo.
Exemplo de cdigo do tf_FORWARD.mod:
if [ "$INT_IFACE" != "" -a "$EXT_IFACE" != "" ]; then $IPTABLES -A FORWARD -i $INT_IFACE -o $EXT_IFACE -j INT2EXT $IPTABLES -A FORWARD -i $EXT_IFACE -o $INT_IFACE -j EXT2INT fi Esse trecho acima direciona as regras de FORWARD das interfaces INT e EXT para os mdulos: tf_INT-EXT.mod e tf_EXT-INT.mod.
Dvidas???
10.1.1.3 255.255.255.0
a) b) c) d) e)
A pinga B e B pinga C A no pinga B mas B pinga C A pinga B, A pinga C e B no pinga C A pinga B, A pinga C e B pinga C Ningum se pinga.
10.1.2.2 255.255.0.0