Pessoal,
Segue mais um tutorial preparado por mim sobre o básico de iptables:
====================================================================
O Netfilter, conhecido também como iptables, é o firewall utilizado nas distribuições linux a partir do kernel 2.4.x. No kernel 2.2.x era utilizado o ipchains, e no 2.0.x o ipfwadm.
O firewall pode ser utilizado pra inúmeras atividades, como filtro de pacotes, segurança contra ataques DoS, NAT, alteração de atributos em pacotes, entre outras atividades.
Para configura-lo, é necessário lidar com as tabelas. Existem quatro tabelas no iptables:
FILTER: para filtro de pacotes vindo da máquina local, saindo dela ou sendo encaminhados por ela.
NAT: Para realização de SNAT, DNAT e MASQUERADE.
MANGLE: Para alteração de atributos em pacotes, como ToS.
RAW: Para alteração de pacotes em mais baixo nível (raramente utilizada).
Cada tabela contém CHAINS, que são verificadas dependendo da origem e destino dos pacotes. A tabela FILTER contém as seguintes CHAINS:
INPUT: Verificada quando pacotes são destinados à máquina local.
OUTPUT: Verificada quando os pacotes são originados da máquina local.
FORWARD: Verificada quando a máquina local roteia pacotes – não originados nem destinados à máquina local.
A tabela NAT contém as seguintes CHAINS:
PREROUTING: Utilizada para DNAT e redirecionamento de portas.
OUTPUT: Utilizada para NAT para pacotes originados de interfaces locais.
POSTROUTING: Utilizada para SNAT e MASQUERADE.
A tabela MANGLE contém as seguintes CHAINS:
INPUT: Pacotes serão alterados antes de entrar na chain INPUT da tabela FILTER.
PREROUTING: Usada pra modificação de pacotes antes de irem pra chain PREROUTING da tabela NAT.
FORWARD: Usada pra modificar pacotes antes de irem pra chain FORWARD da tabela filter.
OUTPUT: Consultada antes dos pacotes serem enviados à chain OUTPUT da tabela nat.
POSTROUTING: Chain consultada antes dos pacotes irem pra chain POSTROUTING da tabela nat.
Alguns parâmetros do iptables são explicados abaixo:
-n -> não faz a resolução de nomes nem consulta o arquivo /etc/services.
- v -> mostra as regras inteiras.
--line-numbers -> exibe o número das regras.
-L -> exibe as regras aplicadas.
-t tabela -> especifica qual tabela será alterada. Por default a tabela filter é usada.
- A chain -> Adiciona uma regra a uma chain específica.
- D chain [numero da linha] -> Remove uma regra de uma chain específica, especificando-a ou o número da linha.
- I chain -> Insere uma regra numa linha específica.
Nenhum comentário:
Postar um comentário