Sei sulla pagina 1di 6

Dicas iptables - exemplos de regras.

http://www.zago.eti.br/rewall/dicas-iptables.html

Dicas iptables - exemplos de regras.


Atualizado em: 05/10/2006
Sobre este documento Dicas - Soluo de problemas Criar ambiente de testes e backup da instalao Resumo - Dicas - Comandos de uso frequente... Congurao via ambiente grco e remotamente Iniciar, parar, reiniciar, status Comandos teis Onde cam as regras de iptables modulos e ajuda log do iptables Como fazer um script (rewall) com regras de iptables Modelo 1 - compartilhar internet sem rewall Redirecionamento - regras por porta, IP e etc.. Indicaes...

Sobre este documento


Original em formato texto com marcaes para converso em HTML, processo automatizado com scripts e txt2tags. Resumo de comandos e regras de iptables mais utilizados, (na minha opinio e como eu uso, copiar e colar). Dicilmente os comandos e dicas atendero suas necessidades, muitos nem so compativeis com sua instalao ou nem servem para seu uso, tente adaptar ao seu ambiente, use como fonte de consulta e referencia.

Dicas - Soluo de problemas


Tente instalar e congurar por partes, tente isolar o problema, facilita na localizao do problema e soluo, na manuteno ou instalao tente seguir esta ordem. Passo 1 - Congure o servidor para navegar e pingar as maquinas da rede interna, congure as duas placas de rede e teste com ping para a rede interna e internet, prossiga com a instalao somente depois de obter respostas do comando ping para as maquinas da rede interna e navegar normalmente, quando no tem ambiente grco na maquina, use o lynx para testar a navegao, wget para download, outro servio que possa testar o funcionamento da internet, ou arrisque prosseguir com o ping, no caso do ping faa testes com ping para um dominio. Passo 2 - Compartilhe a conexo, sem rewall, somente compartilhe para testar a navegao a partir de uma estao, em lugar do rewall utilize estas regras de iptables.
modprobe iptable_nat iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Ajuste o device de acordo com sua rede, ppp0 como no exemplo acima para conexes via modem discado ou ADSL conectado via pppoe, conexes de ADSL com IP xo ou obtido por DHCP o device eth0, altere no exemplo acima para o device em uso. Passo 3 - Congure a estao para navegar, precisa congurar o gateway e DNS, com esta congurao a estao navega sem restrio alguma, veja mais dicas sobre compartilhamento de internet em http://www.zago.eti.br/adsl-compartilhar.txt Somente depois que conseguir navegar a partir de uma estao, passe para a congurao do rewall. Passo 4 - Explore os logs, no esquea da grande fonte de informaes que so registradas nos logs, no servidor abra um console e procure o que tem abaixo de /var/log, por exemplo, aps congurar o Squid e implementar a regra de redirecionamento, as estaes no navegam, um bom comeo analizar os logs do Squid, execute a linha de comando.
tail -f /var/log/squid/access.log

Este comando exibe no console as mensagens de log, exibe em tempo real, no momento em que esto sendo formadas, tente a navegao na estao e veja os resultados no console, at aqui ca fcil isolar o problema, se navegava antes do redirecionamento e agora no navega, j sabe onde procurar, inicie vericando se o Squid est rodando, conguraes do squid, diretivas, ACL, permisses nos arquivos e diretrios utilizados pelo squid, documentao de congurao do Squid, pegue a mensagem de erro e coloque na caixa de pesquisa do Google.. Procure tambm nas mensagens de outros arquivos de log do sistema, qualquer dvida volte ao inicio e v testando passo a passo, seja um bom observador, antes de pedir ajuda, procure identicar a regra ou condio que ocorre, tente outras opes. FAQ, dicas e indicao de material sobre log em geral. http://www.zago.eti.br/rewall/log-iptables.txt http://www.zago.eti.br/rewall/log.txt Lembrando que as regras acima no tem proteo alguma, maquinas de cara para a internet precisa de um rewall minimo, os exemplos

1 de 6

28-10-2011 14:14

Dicas iptables - exemplos de regras.

http://www.zago.eti.br/rewall/dicas-iptables.html

acima so regras para compartilhar e no oferece proteo, portanto precisa criar seu rewall, testar e monitorar, vejas as indicaes de alguns modelos, ferramentas testes.

Criar ambiente de testes e backup da instalao


Considere criar um ambiente de testes, no adianta reclamar que no tem "verba" ou no tem maquina, no custa nada, o pouco tempo que investir agora vai lhe poupar muito mais no futuro alm de evitar muitos problemas, considere um bom investimento de tempo, utilize estaes da rede com instalaes dual-boot. Veja dicas de como fazer duas instalaes Linux no mesmo HD, utilize estaes para testes, evite em servidores embora seja possivel, passo a passo em http://www.zago.eti.br/boot_div.txt Dual boot Linux e windows - Aproveite e veja a dica sobre backup da instalao completa do windows na partio Linux, quando algum virus comer o windows ou precisar reinstalar, vai poupar muito tempo, basta uma simples cpia de volta para recuperar a instalao do windows, passo a passo em. http://www.zago.eti.br/boot-dual-win-e-linux.html Nesta estao (instalao) de testes, vai consumir somente parte do espao do HD e nada mais, utilizando maquina que est atrs de rewall vai complicar um pouco, para no mexer na congurao atual, procure seguir uma destas opes. A - instalar um modem discado nesta maquina de testes, lembrando que as regras de iptables so mesmas para modem discado e ADSL conectado via rp-pppoe, a nica diferena pode ocorrer no device, algumas conexes utilizam o device diferente, como eth0, wlan0 ou outro, as regras so as mesmas, ajuste o device utilizado, modem discado utiliza "ppp0". Nada de hardmodem ou sosticao, pra testes pode utilizar aqueles modem on-board que j vem de brinde em algumas maquinas, atende muito bem, pode ser um AMR PCtel, instala facilmente na maioria das distros, complica um pouco com atualizao do kernel mas tem soluo, no precisa de placa de rede adicional, a nica diferena ca por conta do device e lentido. Prontinho, com este micro conectado na net, use uma estao conectada a ele, pode usar um cabo crossover para trabalhar totalmente isolado das demais maquinas. Pode at ser usado quando cai o link ou ADSL, embora muito mais lento permite acesso internet enquanto o ADSL no volta. Daqui pra frente s depende da sua criatividade para explorar as duas redes, porque no usar mais duas maquinas para criar mais uma conexo para testes com VPN, outros servios de rede, outras distros ou novas verses, s depende de ti!. B - Quem pode fazer os testes fora do horario de expediente ou quando a internet no est em uso, nestes casos considere duas ou mais instalaes do Linux no mesmo HD ou usar outro HD na maquina, isto permite todo tipo de teste sem comprometer a instalao que funciona, quando terminar os testes, volta facilmente ao estado que era antes. C - Utilizando estao com dual-boot e duas placas de rede, quando o cabo do modem no alcaa a maquina de testes, para no levar o micro at o local do modem, ou para no levar o modem at o local do micro, faa um cabo de rede para ligar o ADSL a este micro de testes, normalmente um cabo crossover, utilize emendas RJ45 ou cabo especico e do tamanho necessrio, lembre que isto deve fazer parte do seu kit de sobrevivencia, utilize tambm para testes de atualizao dos pacotes e outros ns, considere manter como backup do rewall, qualquer problema com a maquina principal, basta trocar o cabo de micro. Existem outras opes, os exemplos acima servem como base para pensar no assunto, observe o que tem sua volta, seja criativo e mos obra. Lembre que no precisa repetir todo o processo na maquina principal, simplesmente faa copia do script e arquivos de congurao. Considere manter esta instalao como backup, em casos de emergencia, nunca se sabe quando vai ocorrer acidentes, queimar a maquina, HD ou uma pane na congurao que pare tudo, nestas situaes basta alterar o IP que as estaes nem cam sabendo da troca, em menos de um minuto se faz a troca do IP e sobe a segunda maquina do rewall. Porque no pensei nisso antes!

Resumo - Dicas - Comandos de uso frequente...


Salvar regras em arquivo;
iptables-save > meufire.txt iptables-save > meufire.txt

Carregar conguraes que salvou com Listar no console as regras em uso; Salvar em arquivo;

use

iptables-restore < meufire.txt

iptables -L

iptables -L > listmeufire.txt

Congurao via ambiente grco e remotamente


webmin tem modulo especico sobre iptables/rewall e outros recursos..., Veja mais sobre webmin, como acessar remotamente e outras dicas em http://www.zago.eti.br/webmin.txt SSH - Considere o uso do ssh, permite executar aplicativos do ambiente grco remoto, tem varios aplicativos para windows, tanto em ambiente grco como texto (shell) a mais segura e melhor ferramenta para acesso remoto, altamente congurvel. Acesso remoto via ssh em ambiente grco, cliente windows utilizando - Winscp - putty - Freenx - tutorial em http://www.zago.eti.br/ssh/ssh-gui.html

2 de 6

28-10-2011 14:14

Dicas iptables - exemplos de regras.


FAQ, instalar, congurar, dicas e exemplos de uso do SSH em http://www.zago.eti.br/ssh/ssh.html http://www.zago.eti.br/ssh/ssh.txt

http://www.zago.eti.br/rewall/dicas-iptables.html

Edio de script, utilize editores simples, no shell local ou em conexes remotas via ssh, utilize o editor "vi" ou "mc", veja dicas sobre eles em. http://www.zago.eti.br/vi.txt http://www.zago.eti.br/mc.txt Arquivos de congurao podem ser editados e manipulados com simples editor de texto, seja para fazer toda a congurao ou simples ajustes, pode utilizar ferramentas como webmin e renar os ajustes com seu editor de texto preferido, pode copiar estes arquivos de outra instalao, portanto que vontade para fazer a seu modo, veja mais dicas de como manipular arquivos de congurao em http://www.zago.eti.br/modelos/A-menu-modelos.html

Iniciar, parar, reiniciar, status Comandos teis Onde cam as regras de iptables
Em scripts precisa informar o caminho completo para chamar o Iptables. Dependendo da distro ou verso, pode estar em locais diferentes, utilize o comando whereis para localizer, exemplo.
[zago@aula zago]$ whereis iptables iptables: /usr/sbin/iptables

COMO INICIAR (CARREGAR) O MODULO IPTABLES? Coloque no inicio do script o comando correspondente a cada modulo, carregue somente os modulos necessrios. Como fazer NAT (compartilhar internet) modprobe iptable_nat INSTALAR: qualquer regra de rewall que utilize Iptables requer a instalao do modulo ou compilar o kernel com ele embutido, prera trabalhar com modulos, este procedimento adotado pela maioria das distros. Dependendo do perl de instalao, pode incluir o no este modulo, use as ferramentas de sua distro para conferir se j est instaladou ou instalar quando for o caso. Alguns exemplos via linha de comando, precisa tornar root no console para instalar pacotes; Instalar via apt-get apt-get install iptables Via smart. smart install iptables Via Synaptic, procure, selecione e instale o pacote iptables. Via rpm a partir do diretrio onde salvou ou download ou montou o CD, rpm -ivh iptables-verso.rpm --replacepkgs Como ver se est instalado? Use a ferramenta de sua distro, exemplo no CL9, via synaptic procure pelo pacote iptables ou via rpm, exemplo: # rpm -qa | grep iptables iptables-1.2.7a-26694cl ajuda:
iptables -h

Iptables no foi iniciado, execute antes o comando ou inclua no rc.local:


modprobe ip_tables

modulos e ajuda
IPtables pode ser compilado com diversas bibliotecas. Precisa carregar o modulo antes da regra que o utiliza, o local pode ser diferente conforme a distro, no SUSE 10.1 procure em /sys/module/, tente ltrar os modulos sobre iptables com ls -la /sys/module/ip* Quando falhar o comando, procure identicar se foi compilado com a biblioteca ou ter que compilar seu iptables novamente. Copia de parte de um rewall, (carregar modulos)
##### carregar /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe modulos iptable_nat ip_conntrack ip_conntrack_ftp ip_nat_ftp ipt_LOG ipt_REJECT ipt_MASQUERADE

Obter ajuda sobre opes do iptables,

3 de 6

28-10-2011 14:14

Dicas iptables - exemplos de regras.


iptables -h iptables --help ajuda sobre mac iptables -m mac --help

http://www.zago.eti.br/rewall/dicas-iptables.html

log do iptables
Para registrar as ocorrencias em log precisa carregar o
/sbin/modprobe ipt_LOG ipt_LOG,

no inicio do rewall ou antes de regra acrescente.

Exemplo de uma regra para registrar log de todos acessos na porta 80, identicar o registro com "FIREWALL: http: ".
$iptables -A INPUT -p tcp --dport 80 -i $EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: http: "

Esta regra registra as ocorrencias em /var/log/rewall, cada acesso tem um registro neste formato.

Jun 15 19:20:15 linux-speedy kernel: FIREWALL: http: IN=eth0 OUT= MAC=00:02:e3:0f:0b:26:00:04:16:00:c0:54:08:00 SRC=201.68.202.124 DST=200.204.198.164 LEN=44 TOS=0x00 PREC=

Use tail ou outra ferramenta para acompanhamento ou ltro. veja os resultados de:
iptables -t filter -L INPUT iptables -L INPUT -n

Dicas sobre log do sistema. http://www.zago.eti.br/log.html

Como fazer um script (rewall) com regras de iptables


Tem sites que auxiliam na criao de script, segue algumas indicaes. Iptables script generator http://www.linuxit.com.br/modules.php?name=Tux_BR_Iptables Algumas dicas. Em testes as regras podem ser executadas na linha de comando, mas isto tem 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 nal do script de inicializao, no CL o rc.local que ca em /etc/rc.d/rc.local, este local muda conforme a distro, veja o local correto em sua instalao. A maneira mais elegante criar um script com as regras de rewall, torne-o executavel e acrescente no nal de /etc/rc.d/rc.local, uma linha para executar o script junto com boot da maquina, exemplo para executar o script com nome iptrewall.sh que est no sub-diretrio /etc/rc.d, basta acrescentar no nal de rc.local, esta linha:
/etc/rc.d/iptfirewall.sh

Como criar script, dicas, exemplos e documentao. http://www.zago.eti.br/script/A-menu-scripts.html

Modelo 1 - compartilhar internet sem rewall


Este topico (MODELO 1) no um rewall, so somente regras pra compartilhar uma conexo, ideal em testes de instalao e soluo de problemas quando suspeitar de regras do rewall, com estas regras a maquina ca totalmente vulneravel a invaso, veja neste documento outros modelos com indicao da segurana. Compartilhar uma conexo de internet para os demais micros da rede, precisa no minimo destas regras:
modprobe iptable_nat iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

Explicando: A primeira linha carrega o modulo pra fazer NAT. A segunda linha faz o mascaramento a tercera linha ativa o IP forward, repasse de pacote pras demais maquinas da rede interna, veja mais exemplos abaixo. Conexo via modem discado ou ADSL com IP dinamico que requer rp-pppoe, nestas conexes a interface ppp0, segue o exemplo com ppp0
modprobe iptable_nat

4 de 6

28-10-2011 14:14

Dicas iptables - exemplos de regras.


iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

http://www.zago.eti.br/rewall/dicas-iptables.html

Conexo via ADSL com IP xo e outras conexes que utiliza a interface eth0.
modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

A diferena entre as duas regras acima a interface de saida pra internet, eth0 ou ppp0 Existem outras regras e maneiras, nos proximos exemplos tem mais exemplos sobre uso da regra com NAT. a tercera linha ativa o IP forward, repasse de pacotes para as demais maquinas da rede interna. Outras maneiras de ativar o mesmo servio (acionar o IP forwarding). alterar em /etc/sysctl.conf, de
net.ipv4.ip_forward = 0

para
net.ipv4.ip_forward = 1

Ou altere em /etc/syscong/network, de
# FORWARD_IPV4=no # not used anymore. see /etc/sysctl.conf

para
FORWARD_IPv4="yes"

Lembre que somente uma dever ser utilizada, prero acrescentar no escript esta regra:
echo 1 > /proc/sys/net/ipv4/ip_forward

e no utilizo as outras mencionadas acima. Conferir se repasse est habilidade (forward), execute:
cat /proc/sys/net/ipv4/ip_forward

Exemplo de comando e o que retorna quando habilitado.


[zago@faq zago]$ cat /proc/sys/net/ipv4/ip_forward 1

Retornando 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 erro de digitao. regras do mascaramento ver as regras do iptables
iptables --list iptables -L cat /proc/net/ip_masquerade iptables --list -n -v

Regra para barrar um IP especico acrescente a linha abaixo em seu script depois do ip_forward:
/usr/bin/iptables A -OUTPUT -p tcp -s IPBLOQUEADO -j DROP

Redirecionamento - regras por porta, IP e etc..


Existem diversas opes e regras para redirecionar um pedido que chega da internet para chegar a uma estao ou servidor que esto atrs do rewall. Segue alguns exemplos; Redirecionar ssh, tudo que chega na porta 22 (usada pelo ssh) redirecionar para a estao com IP 192.168.1.53
$iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 22 -i eth0 -j DNAT --to 192.168.1.53:22

Onde: eth0 = placa de rede de cara pra net, ajuste na sua instalao 22 a porta que quero redicionar pra outra maquina (22 a porta default utilizada nas conexes por ssh), pode ser alterada. 192.168.1.53 o IP reservado da maquina interna que vai atender a conexo. Na maquina remota (internet) a conexo disparada para o IP do rewall, a regra acima redireciona para a estao, um exemplo de linha de comando para conexo via ssh;
ssh user@IP, ou ssh zago@200.200.200.200, quando este pedido chega no Firewall com IP 200.200.200.200 automaticamente redirecionado para a estao com IP 192.168.1.53 que atender o pedido e completar a conexo.

$iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 22 -i eth0 -j DNAT --to 192.168.1.53:22

Outra opo, usar porta diferente no cliente, assim pode redirecionar cada porta para estaes especicas, tambm pode

5 de 6

28-10-2011 14:14

Dicas iptables - exemplos de regras.

http://www.zago.eti.br/rewall/dicas-iptables.html

redirecionar com troca de porta, neste exemplo a 2222 ser redirecionada para 22, nesta regra vai redirecionar para a estao, somente os pedidos que chegam na porta 2222, os demais pedidos na porta 22 ou outra qualquer sero tratados por outras regras.
$iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 2222 -i eth0 -j DNAT --to 192.168.1.53:22

Pode congurar o ssh para ouvir em outra porta, ou at mesmo manter a default, neste exemplo foram mantidas, tanto o rewall como estao esto ouvindo na porta 22, o uso da porta 2222 foi utilizando somente na linha de comando e na regra de iptables, a regra de redirecionamento funciona somente para os pedidos que chegam na porta 2222, a linha de comando na internet tem que indicar a porta, exemplo;
ssh -p 2222 zago@200.200.200.200

o (-p 2222) serve para indicar a porta, os pedidos que chegarem na porta 22 seguem outras regras, pode ser redirecionada para outra maquina ou atendida pela prpria maquina do rewall. Restringindo o redirecionamento somente a determinado IP permitindo que somente conexes com origem no IP 200.204.198.164 , sejam redirecionadas para a estao, qualquer conexo com origem em IP diferente no sero redirecionadas, exemplo da regra;
$iptables -t nat -A PREROUTING -p tcp -s 200.204.198.164 --dport 2222 -i eth0 -j DNAT --to 192.168.1.3:22

Como pode notar, so varias opes, nem todos os servios permitem a troca da porta, alguns requer regras mais complexas, mas sempre tem meios de dicultar o acesso de estranhos, mesmo sobre ssh tem muito mais. Somente voce sabe o que tem a proteger, portanto implemente as medidas de segurana, a nalidade aqui dicas sobre redirecionamento, sobre segurana e outras dicas, continue pesquisando.... Para facilitar a organizao por assunto, algumas regras esto no FAQ especico sobre o pacote ou servio, como exemplo, as regras de redirecionamento sobre VNC esto no FAQ sobre VNC, Bittorrent idem, consulte o tutorial ou FAQ especico. Veja algumas indicaes abaixo. FAQ com mensagens da Linux-br http://www.zago.eti.br/rewall/redirecionamento.txt VNC - redirecionar pedidos que chegam da internet para estao atras de rewall http://www.zago.eti.br/vnc.txt Bittorrent - regras para habilitar acessarem rede http://www.zago.eti.br/bittorrent.html

Indicaes...
Documentation about the netlter/iptables project Tem alguns documentos em Portugus. http://www.netlter.org/documentation/ L7-lter - classica pacotes como Kazaa, HTTP Jabber, Citrix, Bittorrent, FTP Gnucleus, eDonkey2000, etc., identica e permite criar , , regras de rewall, veja mais em; http://l7-lter.sourceforge.net/ Excelente tutorial, vale a pena consultar - (em Ingls) http://iptables-tutorial.frozentux.net/iptables-tutorial.html Pgina principal sobre iptables e rewall. http://www.zago.eti.br/A-menu-rewall.html Acesso aos FAQ montado com seleo de respostas esclarecedoras na lista Linux-br. http://www.zago.eti.br/rewall/ Pina principal deste site (FAQ) http://www.zago.eti.br/menu.html

6 de 6

28-10-2011 14:14

Potrebbero piacerti anche