# Guia do Linux/Avançado/Firewall iptables/Exemplos de configurações do iptables
## Exemplos de configurações do iptables

Exemplo de como bloquear todas as conexões para a máquina do firewall permitindo somente conexões da máquina Linux para fora.

### Bloqueando conexões de fora para sua máquina

As regras a seguir servem para bloquear tentativas de conexões da interface de Internet (ppp0) a sua rede sem bloquear o tráfego de conexões já iniciadas. O tráfego de outras interfaces não é afetado com as regras a seguir:
Todas as conexões vindas de ppp0 de estado diferente de ESTABLISHED e RELATED (NEW e INVALID) serão derrubadas. Veja [#s-fw-iptables-mod-state Conferindo de acordo com o estado da conexão, Seção 10.6.1] para detalhes.
Este acima é mais simples e possui o mesmo efeito: Pacotes SYN são usados para iniciar conexões, derrubando pacotes deste tipo significa bloquear novas conexões. Pacotes de conexões já estabelecidas ainda são permitidos. Estas regras acima servem para quem não deseja NENHUM acesso indevido a sua máquina. Existem outras formas de bloquear conexões de modo mais seletivo usando chains específicos, endereços de origem/destino, portas, etc., este tipo de configuração é muito usada caso precise fornecer algum tipo de serviço que seja acessível externamente e protegendo outros.

### Monitorando tentativa de conexão de trojans em sua máquina

As regras abaixo alertam sobre a tentativa de conexão dos trojans "For Win" mais conhecidos. Coloquei isto aqui por curiosidade de algumas pessoas, pois máquinas Linux são imunes a este tipo de coisa:
A primeira linha do iptables cria o chain trojans-in dentro da tabela filter que usaremos para armazenar nossas regras de firewall. A segunda (dentro do laço for) faz uma regra de LOG para registrar as tentativas de acesso de trojans em nosso sistema, a terceira rejeita o acesso. A quarta regra do iptables cria de todo o tráfego vindo da interface ppp0 pra o chain trojans-in (queremos que só o tráfego vindo da internet seja analisado pelo chain trojans-in). Muitas das portas especificadas na variável TROJAN_PORTS são antigas conhecidas de quem já brincou ou sofreram com o Back Orifice, Win Crack, NetBus (quem nunca passou pela fase de ter uma lista com mais de 100 netmasks e conseguir encontrar centenas de máquinas por dia infectadas pelo BO? :-). No código acima a única coisa que precisa fazer para adicionar mais portas é inseri-las na variável TROJAN_PORTS e executar o programa. O laço do for executará as 2 regras para cada porta processada (economizando linhas e linhas de regras, me livrando de uma LER e poupando muitos bytes neste guia ;-). Dependendo do número de portas alvo, este código pode ser muito simplificado usando o recurso multiport do iptables (veja [#s-fw-iptables-mod-multiport Especificando múltiplas portas de origem/destino, Seção 10.6.6] para detalhes).

### Conectando sua rede interna a Internet

O seguinte exemplo permite ligar sua rede interna com a faixa de IP's 192.168.1.* a internet (usando uma conexão discada do tipo ppp):

### Um exemplo de firewall simples

Esta seção possui um exemplo mais elaborado de firewall que servirá para máquinas conectadas via ppp com uma rede interna conectada via Masquerading. Este exemplo não é tão complexo e cobre as expectativas mais comuns de pessoas que gostam de explorar os potenciais de rede no Linux ou satisfazer sua curiosidade. Ele poderá ser facilmente adaptado para atender outro tipo de necessidade. A configuração assumida é a seguinte:
* Máquina do firewall com 2 interfaces de rede, uma é eth0 com o IP 192.168.1.1 que serve de ligação a sua rede Interna, a outra é ppp0 que é a interface Internet.
* Qualquer acesso externo a máquinas da rede interna é bloqueado.
* Os usuários da rede local tem acesso livre ao servidor Linux.
* Qualquer acesso externo a máquina do firewall é bloqueado, exceto conexões para o serviço Apache (httpd). Outras tentativas de conexões devem ser explicitamente registradas nos logs do sistema para conhecimento do administrador.
* Todos os usuários possuem acesso livre a Internet via Masquerading, exceto que o acesso para o serviço www deve ser obrigatoriamente feito via squid, e o servidor smtp a ser usado deverá ser o do firewall Linux.
* Prioridades serão estabelecidas para os serviços de telnet, IRC,talk e DNS.