quinta-feira, 10 de abril de 2014

Parâmetros do IPtables


Os Chains (laços)

Os laços são pontos de interceptação dos pacotes, eles seguem o fluxograma abaixo:


Lembre-se que um firewall, IPTABLES ou não, pode ser implementado em um host qualquer. Geralmente implementamos um firewall mais "apurado" no gateway da rede, o roteador, para dar tratamento aos pacotes que entram e saem da nossa rede. Como tal, na maioria dos casos esses pacotes são originados dentro da nossa rede e destinados à endereços fora dela, por isso o CHAIN mais importante é o FORWARD. Os outros dois, INPUT e OUTPUT dizem respeito apenas ao próprio roteador. Portanto, nestes últimos aplicamos regras que protegem apenas o próprio.

INPUT: Pacotes que são destinados à própria máquina onde está o firewall. Não importa a interface, estes pacotes são destinados ao(s) endereço(s) IP do próprio firewall. Aqui são liberadas, por exemplo portas de acesso remoto à ele como a 22 do SSH.

OUTPUT:  Pacotes que têm origem no firewall, e vão sair por alguma interface. Estes pacotes têm o endereço IP de origem do firewall. Não há muito o que tratar aqui, já que não faz muito sentido impedir o próprio firewall de iniciar conexões.

FORWARD: Pacotes que o firewall recebe para ENCAMINHAR à outra(s) rede(s). Estes pacotes chegam por uma determinada interface, e de acordo com o endereço IP de destino são encaminhados(roteados) à outra rede saindo por outra interface. Este é o principal chain de tratamento, já que aqui serão tratados os pacotes originados nos hosts da rede que vão sair para a Internet. Aqui podemos bloquear serviços e portas indesejadas como acesso à proxys externos, terminal services, sites de conteúdo ilegal, etc.

Os chains são especificados com o parâmetro -A.
Exemplo: -A OUTPUT

Parâmetros diversos:

-i :   Interface que o pacote entrou. Ex: eth0 ou eth1.

-o : Interface que o pacote vai sair. Ex: eth1 ou eth0.

-s : Source. Endereço IP de origem do pacote.

-d : Destiny. Endereço IP de destino do pacote.

-p : Especifica o protocolo da camada de transporte. TCP, UDP ou ICMP.

--dport : Porta de destino do pacote. Ex: 80, 443, 21, 53, etc.

--sport : Porta de origem do pacote.  Ex: 22, 3389, 23, 445, etc.

-m multiport : Especifica mais de uma porta para uma única regra.
                                 Por exemplo: -m multiport --dport 53,22


Target ou Ação. 

Usado com o parâmetro -j
Exemplo: -j ACCEPT

ACCEPT:  Aceit o pacote. Ele não será analisado pelas próximas regras.

REJECT: O pacote é rejeitado e uma resposta de erro é enviada ao remetente.

DROP: O pacote é descartado e ignorado.


Política padrão

A política padrão determina o que acontece com os pacotes que não se aplicam a nenhuma regra do firewall. É especificada com o parâmetro -P <chain> <target>

Exemplo: "iptables -P INPUT DROP". Todos os pacotes do chain INPUT que não se encaixam em nenhuma regra serão ignorados e descartados.