Iptables detalhado

Tentarei explicar um pouco sobre o Iptables, uma poderosa ferramenta de firewall.

[ Hits: 50.161 ]

Por: Ricardo Vasconcellos em 02/02/2010 | Blog: http://www.vivaolinux.com.br/~qxada07


Vantagens e fluxo de pacote



A partir da família 2.4.x do kernel, o controle de pacotes passou a ser implementado pelo Netfilter e através do módulo Iptables. O Ipchains era muito utilizado na família de kernel 2.2.x e não é recomendado para utilização nos kernel 2.4.x e superior.

Vamos ver algumas vantagens em utilizar o Iptables.

Filtro de pacotes por estado (Statefull): agora podemos definir regras baseadas em status de conexão: nova (NEW), estabelecida (ESTABLISHED), reincidente (RELATED) e inválida (INVALID).

Extremamente modular: possui módulos que permitem tratar a conexão por MAC, múltiplas portas, pacotes com má formação.

Fluxo de pacotes: INPUT: pacotes onde o DESTINO é o FIREWALL.

             --------------
 ----------> |  FIREWALL  |
    INPUT    --------------

- OUTPUT: Pacotes onde a ORIGEM é o FIREWALL

 --------------
 |  FIREWALL  | -----------> 
 --------------    OUTPUT

FORWARD: Pacotes de origem 0/0 com destino 0/0 que passam pelo FIREWALL.

          --------------
          |  FIREWALL  |
          --------------  
     ---------> FORWARD --------->

PREROUTING: Trata roteamento de pacotes que chegam no FIREWALL.

POSTROUTING: Trata roteamento de pacotes que deixam o FIREWALL.

Praticamente para todas as regras temos que definir uma TARGET.
  • ACCEPT: Aceita o pacote
  • DROP: Bloqueia um pacote sem resposta
  • REJECT: Bloqueia um pacote com resposta
  • LOG: Gera log de acordo com a regra definida
  • SNAT, DNAT, MASQUERADE: Realiza NAT sobre os pacotes

Política de segurança

Política de segurança é configurada através do parâmetro "-P". Vamos bloquear qualquer tráfego com destino ao FIREWALL:

iptables -P INPUT DROP

Bloquear todo tráfego que irá passar pelo FIREWALL:

iptables -P FORWARD DROP

Liberar qualquer acesso partindo do FIREWALL:

iptables -P OUTPUT ACCEPT

Para qualquer regra teremos que adicionar uma regra ou indexar uma regra para isso usaremos os parâmetros abaixo:
  • APPEND (-A): A regra será adicionada uma após a outra.
  • INSERT (-I): Regra será adicionada acima de todas as regras APPEND.

    Próxima página

Páginas do artigo
   1. Vantagens e fluxo de pacote
   2. Meu primeiro firewall
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Abrindo "passagem" para clientes de correio

Como construir um firewall de baixo custo para sua empresa (parte 2)

Hotspot - Atualização - CoovaChilli

Bloqueando MSN, orkut, trojans e mais

Implementando prioridade nos serviços com TOS no Iptables

  
Comentários
[1] Comentário enviado por elgio em 02/02/2010 - 19:04h

Não entendi porque traduzir RELATED para reincidente... Não há qualquer sentido nisto!

Related é melhor traduzido para "relacionada", ou seja, conexões que possuem uma relação entre si, mas que não são a mesma.

Quando tu envia o primeiro pacote de SYN TCP, por exemplo, os demais pacotes irão casar com ESTABLISHED pois a conexão está estabelecida. Mesmo UDP não tendo conceito de conexão, ESTABLISHED se aplica também a UDP e até mesmo ICMP (uma resposta de um ping casaria na regra ESTABLISHED).

O que seria então o RELATED?
São outros pacotes que não são da mesma conexão, mas se relacionam com ela.

Exemplo: se tu envia um SYN para a porta 80 e a porta 80 está fechada por um firewall com REJECT, tu vai receber um ICMP tipo 3, código 3 (porta inacessível). Este ICMP casaria com o RELATED pois o iptables entende que diz respeito aquele SYN que passou.

[2] Comentário enviado por zelongatto em 03/02/2010 - 21:42h

Gostei do artigo, simples de entender, vai ajudar bastante quem tinha dificuldades em entender firewall...
valew
abraço

[3] Comentário enviado por andre_deko em 05/02/2010 - 11:29h

Muito bom!!!

De fácil entendimento, e de grande ajuda principalmente para quem está tentando entender iptables para iniciar alguns estudos, bem simples e prático.

Abraço

[4] Comentário enviado por vagnersobrinho em 11/06/2010 - 09:10h

Bom Artigo!

Parabens!

Abraços

[5] Comentário enviado por anderson.brd em 03/09/2010 - 11:26h

Na hora da instalação no Ubuntu, ele pede: interface de Entrada e de Saida. É pra eu digitar: eth0 e eth1 ? O q seria isso ?

Estou no começo mesmo de iptables pra um trabalho, mas já sei alguns comando pra instalar e etc.

Podem ajudar a clarear as idéias ?

Obrigado pela a atenção.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts