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
Cara, espetaculoso!
ResponderExcluirMuito boa matéria hein! Valeu pela força!!!!!
Danilo, muito bom cara.. estava estudando isso esta semana..
ResponderExcluirabs,
Valeu Cara.. Assim que possível darei continuidade a esse assunto.
Excluir