dicas-e-truques-iptables

Embed Size (px)

DESCRIPTION

redes

Citation preview

http://www.zago.eti.br/firewall/dicas-e-truques-iptables.txtdicas e truques, indicaes de tutoriais e comandos com exemplos de usodo Iptables.Use CTRL+F para refinar a pesquisa.Linha de: **************** sapara mensagens ou tpicos.********************************************************Zagohttp://www.zago.eti.br/menu.htmlFAQ e artigos sobre Linuxveja tambm neste diretorio (site) FAQ outros arquivos com mensagensda Linux-br.http://www.zago.eti.br/firewall/********************************************************************ONDE FICA O IPTABLES?Em scripts precisa informar o caminho completo para chamar o Iptables.Dependendo da distro ou verso, pode estar em locais diferentes, no CL9 eleest em /usr/sbin, veja como localiza-lo com whereis:# whereis iptablesiptables: /usr/sbin/iptablesCOMO INICIAR (CARREGAR) O MODULO IPTABLES?Coloque no script o comando pra carregar o modulo, carregue somenteos modulos necessrios.Pra fazer NAT (pra compartilhar internet)modprobe iptable_nat********************************************************************INSTALAR:qualquer regra de firewall que utilize Iptables requer este modulo,na maioria das opes de instalao inclue o Iptables, o CL9 instalado comperfil "estao de trabalho" no inclue, neste caso precisa fazer a instalaoque pode ser via apt, synaptic ou rpm.Pra instalar o pacote que vem no CD de instalao e via apt, basta executarcomo root em um terminal:apt-get install iptablesOu via Synaptic, procure, selecione e instale o pacote iptables.Ou via rpm a partir do diretrio onde salvou ou download ou montou o CD,execute o comando:rpm -ivh iptables-verso.rpm --replacepkgsComo ver se est instalado?No CL9, via synaptic procure pelo pacote iptables ou via rpm assim:# rpm -qa | grep iptablesiptables-1.2.7a-26694clajuda:# iptables -h********************************************************************> # iptables -F> /lib/modules/2.4.5-9cl/kernel/net/ipv4/netfilter/ip_tables.o: init_module:> Device or resource busyIptables no foi iniciado, execute antes o comando ou inclua no rc.local: modprobe ip_tablesLOG Arquivos de logs criados pelo iptables registra todo trfego que for pelo iptablespor padro no arquivo /var/log/kern.logveja os resultados de: iptables -t filter -L INPUT iptables -L INPUT -n iptables -L INPUT -n -****************************************************************************************************************************************COMO FAZER UM SCRIPT DE FIREWALL COM IPTABLES?Pra testes as regras podem ser executadas na linha de comando, mas istotem um incoveniente, toda vez que reinicar a maquina as regras se perdem,o ideal e executa-las junto com o boot da maquina.Quando for poucas regras pode acrescenta-las no final do script deinicializao, no CL o rc.local que fica em:/etc/rc.d/rc.localA maneira mais elegante criar um script com as regras, pra isto bastausar um editor de texto pra criar um arquivo texto com as regras dofirewall, depois torne-o executavel e acrescente no final de:/etc/rc.d/rc.localuma linha pra chamar o script, exemplo pra chamar um script comnome iptfirewall que est no sub-diretrio /etc/rc.d, basta acrescentarno final de rc.local, esta linha:/etc/rc.d/iptfirewallPra criar script veja mais em:http://www.zago.eti.br/scripts/scripts-modelos.txt********************************************************************MODELOS DE FIREWALL COM IPTABLES:********************************************************************MODELO 1COMPARTILHAR CONEXO DE INTERNET __SEM__ FIREWALL.Este topico (MODELO 1) no um firewall, so somente regras pra compartilharuma conexo, ideal pra testes de instalao e soluo de problemas quandosuspeitar de regras do firewall, com estas regras a maquina fica totalmentevulneravel a invaso, veja neste documento outros modelos com indicao dasegurana.Pra compartilhar uma conexo de internet para os demais micros da rede, precisano minimo destas regras: modprobe iptable_nat iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forwardEXPLICANDO:A primeira linha carrega o modulo pra fazer NAT.A segunda linha faz o mascaramentoa tercera linha ativa o IP forward, repasse de pacote pras demais maquinas darede interna, veja mais exemplos abaixo.Pra quem usa modem discado ou o pacote rp-pppoe modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forwardPra quem usa ADSL com IP fixo e no levanta a interface ppp0 modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forwardA diferena entre as duas regras acima a interface de saida pra internet,eth0 ou ppp0Existem outras regras e maneiras, nos proximos exemplos temmais exemplos sobre uso da regra com NAT.a tercera linha ativa o IP forward, repasse de pacote pras demais maquinas darede interna.Pra acionar o IP forwarding, tem varias maneiras tambm, alm da indicadaacima:echo 1 > /proc/sys/net/ipv4/ip_forwardTambm estas:alterar em /etc/sysctl.conf:de net.ipv4.ip_forward = 0para net.ipv4.ip_forward = 1OUaltere em /etc/sysconfig/network:de# FORWARD_IPV4=no # not used anymore. see /etc/sysctl.confparaFORWARD_IPv4="yes"Lembre que somente uma dever ser utilizada, prefiro acrescentar noescript esta regra:echo 1 > /proc/sys/net/ipv4/ip_forwarde no utilizo as outras mencionadas acima.Conferir se repasse est habilidade (forward), execute:cat /proc/sys/net/ipv4/ip_forwardExemplo de comando e o que retorna quando habilitado.[zago@faq zago]$ cat /proc/sys/net/ipv4/ip_forward1Retornando 1 est habilitado, retornando zero no est habilitado, caso tenha dado o comando para fazer forward e no resultado acima est retornando 1, ento tem algum erro, provavel errode digitao. regras do mascaramentocat /proc/net/ip_masqueradever as regras do iptables# iptables --list -n -v# iptables --list# iptables -Lpara barrar um IP especifico acrescente a linha abaixo em seuscript depois do ip_forward:/usr/bin/iptables A -OUTPUT -p tcp -s IPBLOQUEADO -j DROP********************************************************************MODELO 2COMPARTILHAR CONEXO DE INTERNET __COM__ FIREWALL.****************************************************************************************************************************************De: Marcus Lima Responder-a: [email protected]: Bruno Mancuso , [email protected]: Re: (linux-br)IPTABLES nao funcionaData: Mon, 20 Oct 2003 15:29:16 -0300Tenta digitar:iptables -t nat -nL e voc ver o resultado da sua regra.Quanto a regra funcionar, vc no disse se elas esto funcionando. Sua rede interna est acessando o servidor SMTP externo?Att,Marcus Lima.************************************************************************************************************************************************************************************************************