P. 1
Dicas de IPTables - Exemplos de Regras

Dicas de IPTables - Exemplos de Regras

|Views: 441|Likes:

More info:

Published by: Ronaldo De Almeida Batista on Nov 27, 2011
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/07/2013

pdf

text

original

Dicas iptables - exemplos de regras.

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

Dicas iptables - exemplos de regras.
Atualizado em: 05/10/2006
Sobre este documento Dicas - Solução de problemas Criar ambiente de testes e backup da instalação Resumo - Dicas - Comandos de uso frequente... Configuração via ambiente gráfico e remotamente Iniciar, parar, reiniciar, status Comandos úteis Onde ficam as regras de iptables modulos e ajuda log do iptables Como fazer um script (firewall) com regras de iptables Modelo 1 - compartilhar internet sem firewall Redirecionamento - regras por porta, IP e etc.. Indicações...

Sobre este documento
Original em formato texto com marcações para conversão em HTML, processo automatizado com scripts e txt2tags. Resumo de comandos e regras de iptables mais utilizados, (na minha opinião e como eu uso, copiar e colar). Dificilmente os comandos e dicas atenderão suas necessidades, muitos nem são compativeis com sua instalação ou nem servem para seu uso, tente adaptar ao seu ambiente, use como fonte de consulta e referencia.

Dicas - Solução de problemas
Tente instalar e configurar por partes, tente isolar o problema, facilita na localização do problema e solução, na manutenção ou instalação tente seguir esta ordem. Passo 1 - Configure o servidor para navegar e pingar as maquinas da rede interna, configure as duas placas de rede e teste com ping para a rede interna e internet, prossiga com a instalação somente depois de obter respostas do comando ping para as maquinas da rede interna e navegar normalmente, quando não tem ambiente gráfico na maquina, use o lynx para testar a navegação, wget para download, outro serviço que possa testar o funcionamento da internet, ou arrisque prosseguir com o ping, no caso do ping faça testes com ping para um dominio. Passo 2 - Compartilhe a conexão, sem firewall, somente compartilhe para testar a navegação a partir de uma estação, em lugar do firewall 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 conexões via modem discado ou ADSL conectado via pppoe, conexões de ADSL com IP fixo ou obtido por DHCP o device é eth0, altere no exemplo acima para o device em uso. Passo 3 - Configure a estação para navegar, precisa configurar o gateway e DNS, com esta configuração a estação navega sem restrição 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 estação, passe para a configuração do firewall. Passo 4 - Explore os logs, não esqueça da grande fonte de informações que são registradas nos logs, no servidor abra um console e procure o que tem abaixo de /var/log, por exemplo, após configurar o Squid e implementar a regra de redirecionamento, as estações não navegam, um bom começo é 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 estão sendo formadas, tente a navegação na estação e veja os resultados no console, até aqui fica fácil isolar o problema, se navegava antes do redirecionamento e agora não navega, já sabe onde procurar, inicie verificando se o Squid está rodando, configurações do squid, diretivas, ACL, permissões nos arquivos e diretórios utilizados pelo squid, documentação de configuração do Squid, pegue a mensagem de erro e coloque na caixa de pesquisa do Google.. Procure também nas mensagens de outros arquivos de log do sistema, qualquer dúvida volte ao inicio e vá testando passo a passo, seja um bom observador, antes de pedir ajuda, procure identificar a regra ou condição que ocorre, tente outras opções. FAQ, dicas e indicação de material sobre log em geral. http://www.zago.eti.br/firewall/log-iptables.txt http://www.zago.eti.br/firewall/log.txt Lembrando que as regras acima não tem proteção alguma, maquinas de cara para a internet precisa de um firewall minimo, os exemplos

1 de 6

28-10-2011 14:14

a única diferença fica por conta do device e lentidão. basta uma simples cópia de volta para recuperar a instalação do windows. Veja dicas de como fazer duas instalações Linux no mesmo HD. Existem outras opções. B . não adianta reclamar que não tem "verba" ou não tem maquina.Dicas iptables . seja criativo e mãos à obra. em menos de um minuto se faz a troca do IP e sobe a segunda maquina do firewall. os exemplos acima servem como base para pensar no assunto.zago. Acesso remoto via ssh em ambiente gráfico. isto permite todo tipo de teste sem comprometer a instalação que funciona.eti.Comandos de uso frequente. lembre que isto deve fazer parte do seu kit de sobrevivencia.txt iptables -L iptables -L > listmeufire. HD ou uma pane na configuração que pare tudo. porque não usar mais duas maquinas para criar mais uma conexão para testes com VPN. portanto precisa criar seu firewall. quando o cabo do modem não alcaça a maquina de testes. atende muito bem. o pouco tempo que investir agora vai lhe poupar muito mais no futuro além de evitar muitos problemas. outras distros ou novas versões. não precisa de placa de rede adicional. pode ser um AMR PCtel. como acessar remotamente e outras dicas em http://www.zago. ou para não levar o modem até o local do micro.exemplos de regras. testar e monitorar. vai poupar muito tempo. outros serviços de rede. wlan0 ou outro. Pode até ser usado quando cai o link ou ADSL. tanto em ambiente gráfico como texto (shell) é a mais segura e melhor ferramenta para acesso remoto.Aproveite e veja a dica sobre backup da instalação completa do windows na partição Linux. passo a passo em http://www.html acima são regras para compartilhar e não oferece proteção.txt Configuração via ambiente gráfico e remotamente webmin tem modulo especifico sobre iptables/firewall e outros recursos.br/webmin. altamente configurável. Veja mais sobre webmin..Dicas ..putty . nestas situações basta alterar o IP que as estações nem ficam sabendo da troca. Lembre que não precisa repetir todo o processo na maquina principal. lembrando que as regras de iptables são mesmas para modem discado e ADSL conectado via rp-pppoe.txt SSH . pra testes pode utilizar aqueles modem on-board que já vem de brinde em algumas maquinas. como eth0. para não mexer na configuração atual. utilize estações da rede com instalações dual-boot.zago. com este micro conectado na net. nunca se sabe quando vai ocorrer acidentes. só depende de ti!. basta trocar o cabo de micro. queimar a maquina. use uma estação conectada a ele. volta facilmente ao estado que era antes. normalmente é um cabo crossover. considere um bom investimento de tempo.br/boot-dual-win-e-linux. passo a passo em.Considere o uso do ssh. ajuste o device utilizado. Criar ambiente de testes e backup da instalação Considere criar um ambiente de testes. utilize também para testes de atualização dos pacotes e outros fins. evite em servidores embora seja possivel.eti. cliente windows utilizando . procure seguir uma destas opções.instalar um modem discado nesta maquina de testes. algumas conexões utilizam o device diferente. Daqui pra frente só depende da sua criatividade para explorar as duas redes. Nada de hardmodem ou sofisticação. vai consumir somente parte do espaço do HD e nada mais.Winscp .html 2 de 6 28-10-2011 14:14 .br/firewall/dicas-iptables. use iptables-restore < meufire. para não levar o micro até o local do modem.Quem pode fazer os testes fora do horario de expediente ou quando a internet não está em uso. tem varios aplicativos para windows. quando terminar os testes. utilize estações para testes. considere manter como backup do firewall.br/boot_div. observe o que tem à sua volta.tutorial em http://www. qualquer problema com a maquina principal.zago. A . não custa nada. simplesmente faça copia do script e arquivos de configuração. Considere manter esta instalação como backup.zago. embora muito mais lento permite acesso à internet enquanto o ADSL não volta.txt Dual boot Linux e windows .txt Carregar configurações que salvou com Listar no console as regras em uso. http://www.Utilizando estação com dual-boot e duas placas de rede.br/ssh/ssh-gui. permite executar aplicativos do ambiente gráfico remoto.. nestes casos considere duas ou mais instalações do Linux no mesmo HD ou usar outro HD na maquina. C . modem discado utiliza "ppp0". vejas as indicações de alguns modelos. Prontinho.. faça um cabo de rede para ligar o ADSL a este micro de testes.eti. Porque não pensei nisso antes! Resumo . Salvar em arquivo..eti.txt iptables-save > meufire. complica um pouco com atualização do kernel mas tem solução. utilizando maquina que está atrás de firewall vai complicar um pouco. instala facilmente na maioria das distros. ferramentas testes. http://www.html Nesta estação (instalação) de testes. a única diferença pode ocorrer no device.Freenx . utilize emendas RJ45 ou cabo especifico e do tamanho necessário.eti. as regras são as mesmas. Salvar regras em arquivo. em casos de emergencia. quando algum virus comer o windows ou precisar reinstalar. pode usar um cabo crossover para trabalhar totalmente isolado das demais maquinas. iptables-save > meufire.

selecione e instale o pacote iptables.html http://www.eti. via synaptic procure pelo pacote iptables ou via rpm.br/ssh/ssh.zago.br/mc. exemplo.html Edição de script.txt http://www.rpm --replacepkgs Como ver se está instalado? Use a ferramenta de sua distro. o local pode ser diferente conforme a distro. Via rpm a partir do diretório onde salvou ou download ou montou o CD.2.local: modprobe ip_tables modulos e ajuda IPtables pode ser compilado com diversas bibliotecas. pode copiar estes arquivos de outra instalação.br/firewall/dicas-iptables.zago.eti. procure identificar se foi compilado com a biblioteca ou terá que compilar seu iptables novamente. utilize o editor "vi" ou "mc". veja mais dicas de como manipular arquivos de configuração em http://www. pode incluir o não este modulo. utilize editores simples. Como fazer NAT (compartilhar internet) modprobe iptable_nat INSTALAR: qualquer regra de firewall que utilize Iptables requer a instalação do modulo ou compilar o kernel com ele embutido. parar.br/modelos/A-menu-modelos. reiniciar. smart install iptables Via Synaptic.eti. status Comandos úteis Onde ficam as regras de iptables Em scripts precisa informar o caminho completo para chamar o Iptables. http://www.zago. rpm -ivh iptables-versão.eti. pode estar em locais diferentes. precisa tornar root no console para instalar pacotes. pode utilizar ferramentas como webmin e refinar os ajustes com seu editor de texto preferido. [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.eti.br/ssh/ssh.Dicas iptables .html Iniciar. procure. prefira trabalhar com modulos. exemplo: # rpm -qa | grep iptables iptables-1.zago. Dependendo da distro ou versão. (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 opções do iptables. configurar. use as ferramentas de sua distro para conferir se já está instaladou ou instalar quando for o caso. seja para fazer toda a configuração ou simples ajustes. dicas e exemplos de uso do SSH em http://www.br/vi.txt http://www. Dependendo do perfil de instalação. 3 de 6 28-10-2011 14:14 .1 procure em /sys/module/. instalar.exemplos de regras.zago.eti. utilize o comando whereis para localizer. portanto fique à vontade para fazer a seu modo.7a-26694cl ajuda: iptables -h Iptables não foi iniciado. este procedimento é adotado pela maioria das distros. tente filtrar os modulos sobre iptables com ls -la /sys/module/ip* Quando falhar o comando. Instalar via apt-get apt-get install iptables Via smart. no SUSE 10. no shell local ou em conexões remotas via ssh. exemplo no CL9. veja dicas sobre eles em. FAQ. Precisa carregar o modulo antes da regra que o utiliza. carregue somente os modulos necessários.zago. Copia de parte de um firewall. execute antes o comando ou inclua no rc.txt Arquivos de configuração podem ser editados e manipulados com simples editor de texto. Alguns exemplos via linha de comando.

no inicio do firewall ou antes de regra acrescente. o ideal e executa-las junto com o boot da maquina.local.sh que está no sub-diretório /etc/rc.zago.html Modelo 1 .d/iptfirewall.local.html Como fazer um script (firewall) com regras de iptables Tem sites que auxiliam na criação de script.164 LEN=44 TOS=0x00 PREC= Use tail ou outra ferramenta para acompanhamento ou filtro.eti. uma linha para executar o script junto com boot da maquina. segue o exemplo com ppp0 modprobe iptable_nat 4 de 6 28-10-2011 14:14 .br/script/A-menu-scripts. http://www.br/log. este local muda conforme a distro.linuxit.d. nestas conexões a interface é ppp0. dicas. A segunda linha faz o mascaramento a tercera linha ativa o IP forward. Exemplo de uma regra para registrar log de todos acessos na porta 80.php?name=Tux_BR_Iptables Algumas dicas. iptables -h iptables --help ajuda sobre mac iptables -m mac --help http://www. $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/firewall. são somente regras pra compartilhar uma conexão.198. basta acrescentar no final de rc. veja neste documento outros modelos com indicação da segurança.com. 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.d/rc. segue algumas indicações.local.eti.zago. no CL é o rc. esta linha: /etc/rc.Dicas iptables .local que fica em /etc/rc. torne-o executavel e acrescente no final de /etc/rc. cada acesso tem um registro neste formato.html log do iptables Para registrar as ocorrencias em log precisa carregar o /sbin/modprobe ipt_LOG ipt_LOG. exemplos e documentação.202. veja mais exemplos abaixo. com estas regras a maquina fica totalmente vulneravel a invasão. Em testes as regras podem ser executadas na linha de comando. Compartilhar uma conexão de internet para os demais micros da rede.124 DST=200. Conexão via modem discado ou ADSL com IP dinamico que requer rp-pppoe. Quando for poucas regras pode acrescenta-las no final do script de inicialização.zago.sh Como criar script.br/firewall/dicas-iptables. veja o local correto em sua instalação. mas isto tem um incoveniente.compartilhar internet sem firewall Este topico (MODELO 1) não é um firewall.204. http://www. identificar o registro com "FIREWALL: http: ". A maneira mais elegante é criar um script com as regras de firewall.68. repasse de pacote pras demais maquinas da rede interna.d/rc.br/modules.eti. veja os resultados de: iptables -t filter -L INPUT iptables -L INPUT -n Dicas sobre log do sistema.exemplos de regras. exemplo para executar o script com nome iptfirewall. toda vez que reinicar a maquina as regras se perdem. 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. Iptables script generator http://www. ideal em testes de instalação e solução de problemas quando suspeitar de regras do firewall.

html Conexão via ADSL com IP fixo e outras conexões que utiliza a interface eth0.conf para FORWARD_IPv4="yes" Lembre que somente uma deverá ser utilizada.Dicas iptables . então tem algum erro.200. eth0 ou ppp0 Existem outras regras e maneiras.168. IP e etc. de net. caso tenha dado o comando para fazer forward e no resultado acima está retornando 1.168. ajuste na sua instalação 22 é a porta que quero redicionar pra outra maquina (22 é a porta default utilizada nas conexões por ssh).br/firewall/dicas-iptables.1.ipv4. assim pode redirecionar cada porta para estações especificas. pode ser alterada. de # FORWARD_IPV4=no # not used anymore. $iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 22 -i eth0 -j DNAT --to 192.1. repasse de pacotes para as demais maquinas da rede interna. Redirecionar ssh.. execute: cat /proc/sys/net/ipv4/ip_forward Exemplo de comando e o que retorna quando habilitado.168. 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 especifico acrescente a linha abaixo em seu script depois do ip_forward: /usr/bin/iptables A -OUTPUT -p tcp -s IPBLOQUEADO -j DROP Redirecionamento . ou ssh zago@200.ipv4. provavel erro de digitação.53:22 Outra opção. um exemplo de linha de comando para conexão via ssh.200. prefiro acrescentar no escript esta regra: echo 1 > /proc/sys/net/ipv4/ip_forward e não utilizo as outras mencionadas acima.exemplos de regras.200 é automaticamente redirecionado para a estação com IP 192. see /etc/sysctl. a regra acima redireciona para a estação. tudo que chega na porta 22 (usada pelo ssh) redirecionar para a estação com IP 192. também pode 5 de 6 28-10-2011 14:14 .168.zago.eti.200.1. retornando zero não está habilitado. modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward A diferença entre as duas regras acima é a interface de saida pra internet. alterar em /etc/sysctl. iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward http://www.53 $iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 22 -i eth0 -j DNAT --to 192.regras por porta. Outras maneiras de ativar o mesmo serviço (acionar o IP forwarding). 192.ip_forward = 1 Ou altere em /etc/sysconfig/network.168. a tercera linha ativa o IP forward.53 que atenderá o pedido e completará a conexão. [zago@faq zago]$ cat /proc/sys/net/ipv4/ip_forward 1 Retornando 1 está habilitado. quando este pedido chega no Firewall com IP 200. Existem diversas opções e regras para redirecionar um pedido que chega da internet para chegar a uma estação ou servidor que estão atrás do firewall. Na maquina remota (internet) a conexão é disparada para o IP do firewall.200.53:22 Onde: eth0 = placa de rede de cara pra net. Conferir se repasse está habilidade (forward).53 é o IP reservado da maquina interna que vai atender a conexão.1. ssh user@IP.200.conf. Segue alguns exemplos. usar porta diferente no cliente.ip_forward = 0 para net. nos proximos exemplos tem mais exemplos sobre uso da regra com NAT.1.

ssh -p 2222 zago@200.198. identifica e permite criar . continue pesquisando.eti. .eti.redirecionar pedidos que chegam da internet para estação atras de firewall http://www. Para facilitar a organização por assunto. sobre segurança e outras dicas. neste exemplo a 2222 será redirecionada para 22. Citrix.Dicas iptables . como exemplo. os pedidos que chegarem na porta 22 seguem outras regras. HTTP Jabber.sourceforge. mas sempre tem meios de dificultar o acesso de estranhos.zago.net/ Excelente tutorial. a regra de redirecionamento funciona somente para os pedidos que chegam na porta 2222. as regras de redirecionamento sobre VNC estão no FAQ sobre VNC. somente os pedidos que chegam na porta 2222. alguns requer regras mais complexas.org/documentation/ L7-filter .br/vnc. FAQ com mensagens da Linux-br http://www.200. pode ser redirecionada para outra maquina ou atendida pela própria maquina do firewall. ou até mesmo manter a default. a linha de comando na internet tem que indicar a porta.br/firewall/ Pááina principal deste site (FAQ) http://www.zago. qualquer conexão com origem em IP diferente não serão redirecionadas. regras de firewall.200 o (-p 2222) serve para indicar a porta.classifica pacotes como Kazaa.164 . Veja algumas indicações abaixo. os demais pedidos na porta 22 ou outra qualquer serão tratados por outras regras.regras para habilitar acessarem à rede http://www.txt VNC . são varias opções.zago.net/iptables-tutorial.frozentux. eDonkey2000.zago.(em Inglês) http://iptables-tutorial.br/A-menu-firewall.168.html Acesso aos FAQ montado com seleção de respostas esclarecedoras na lista Linux-br. neste exemplo foram mantidas. algumas regras estão no FAQ especifico sobre o pacote ou serviço.1.eti. nem todos os serviços permitem a troca da porta.br/firewall/redirecionamento.eti.br/bittorrent.zago. vale a pena consultar . exemplo. Documentation about the netfilter/iptables project Tem alguns documentos em Português.198. http://www..1.. etc.eti.html Página principal sobre iptables e firewall. $iptables -t nat -A PREROUTING -p tcp -s 200. $iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 2222 -i eth0 -j DNAT --to 192.eti..3:22 Como pode notar. http://www.53:22 Pode configurar o ssh para ouvir em outra porta.html redirecionar com troca de porta.exemplos de regras.zago.html 6 de 6 28-10-2011 14:14 .br/firewall/dicas-iptables. veja mais em.br/menu. portanto implemente as medidas de segurança.eti. http://www. Bittorrent. http://www.200.netfilter. mesmo sobre ssh tem muito mais. Restringindo o redirecionamento somente a determinado IP permitindo que somente conexões com origem no IP 200.html Indicações.204.zago. o uso da porta 2222 foi utilizando somente na linha de comando e na regra de iptables. consulte o tutorial ou FAQ especifico. Somente voce sabe o que tem a proteger. http://l7-filter.164 --dport 2222 -i eth0 -j DNAT --to 192.. FTP Gnucleus. exemplo da regra. a finalidade aqui é dicas sobre redirecionamento.168.txt Bittorrent .204. tanto o firewall como estação estão ouvindo na porta 22. Bittorrent idem... nesta regra vai redirecionar para a estação. sejam redirecionadas para a estação.

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->