terça-feira, 23 de julho de 2013

Iptables: Introdução ao Iptables, parte1

3 comments
O firewall normalmente é utilizado como um dispositivo que fica entre o switch em que estão ligados os micros da rede e a internet. Nesta posição é usado um computador com duas placas de rede onde uma é ligada à internet e outra à rede local.
Note que o firewall em si não protege contra vírus e trojans, mas apenas contra tentativas diretas de conexão. Ele cria uma barreira entre os micros da rede local e a internet, fazendo com que os recursos compartilhados na rede não sejam acessíveis de fora.

O iptables é uma ferramenta que pode ser usada para controlar o Netfilter das mais diversas distribuições Linux. O Netfilter é um firewall embutido no kernel do Linux e o iptables é uma ferramenta que permite estabelecer regras para este firewall.

O NETFILTER
A comunicação em uma rede TCP-IP é feita através de pacotes. O Netfilter trata apenas de regras que podem ser aplicadas aos pacotes. As regras pertencem a correntes (chains), que são usadas para agrupar regras.
O iptables é dividido em 3 tabelas, separadas: filter, nat e mangle
Cada uma destas tabelas representam correntes (chains) mostrando os caminhos que devem ser seguidos ou as tarefas que devem ser realizadas.
TABELA FILTER:
Considerada a tabela padrão, contém 3 chains básicas:
INPUT - Consultada para pacotes que chegam na própria máquina;
OUTPUT - Consultada para pacotes que saem da própria máquina;
FORWARD - Consultado para pacotes que são redirecionados para outra interface de rede ou outra estação.
Por Exemplo:
Imagine que você precisará acessar seu servidor de firewall por uma sessão SSH para corrigir problemas. Você pode configurar o firewall para abrir a porta 22 usada pelo SSH adicionando a regra:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Como você precisará acessar a própria máquina do firewall, utiliza-se a chain INPUT para criar a regra, caso o serviço estivesse hospedado em outra máquina, a regra seria criada na chain FORWARD.


TABELA NAT:
Usada para passagem de pacotes que pode gerar outra conexão. Um exemplo clássico é o mascaramento, nat, port forwarding e proxy transparente são alguns. A tabela Nat possui 3 chains básicas:

PREROUTING - Consultado quando os pacotes precisam ser redirecionados logo que chegam.(chain ideal para realização do chamado Destination NAT (DNAT));
OUTPUT - Consultado quando os pacotes gerados localmente precisam ser redirecionados antes de serem roteados. Este chain somente é utilizada para conexões que se originam de IPs de interfaces de rede locais;
POSTROUTING - Consultado quando os pacotes precisam ser modificados após o tratamento de roteamento.

Se você quiser saber se a sua máquina está redirecionando pacotes, chame o iptables com o comando -L -t nat. Se nenhuma regra tiver sido definida, a listagem deve ser a seguinte:
[IMAGEM.png]
NOTA: para listar a tabela NAT, é preciso especificá-la com a diretiva -t (tabela). No caso da tabela de filtragem isto não foi preciso porque o filtro é a tabela padrão do iptables.


TABELA MANGLE:
Utilizada para alterações especiais de pacotes como por exemplo modificar o tipo de serviço (TOS) de um pacote. Ideal para produzir informações falsas para scanners Possui 2 chains padrões:

PREROUTING - Consultado quando os pacotes precisam ser redirecionados logo que chegam;
OUTPUT - Consultado quando os pacotes gerados localmente precisam ser redirecionados antes de serem roteados.

Continua...


Referências:
Livro: Linux, Rede s Servidores / Autor: Carlos E. Morimoto
Site da Comunidade Viva o Linux
Portal Aldeia NumaBoa
Material Professor Ricardo Mercês

3 comentários:

  1. Cara, espetaculoso!

    Muito boa matéria hein! Valeu pela força!!!!!

    ResponderExcluir
  2. Danilo, muito bom cara.. estava estudando isso esta semana..

    abs,

    ResponderExcluir
    Respostas
    1. Valeu Cara.. Assim que possível darei continuidade a esse assunto.

      Excluir