Iptables detalhado


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.

Meu primeiro firewall

Temos que ter um objetivo para poder começar a configurar um firewall, seguem abaixo algumas dicas:

  1. Escolher qual tabela iremos usar (filter, nat, mangle)
  2. Quais regras iremos configurar (INPUT, FORWARD)
  3. Será necessário configurar a interface de entrada (-i para INPUT) ou de saída (-o para OUTPUT)
  4. Será necessário definir uma porta de acesso
  5. Escolher uma TARGET (ACCEPT, DROP, REJECT)

Seguem abaixo alguns dos principais parâmetros:

  • -A: Faz um Append de uma chain
  • -I: Faz um Index de uma chain
  • -N: Cria uma nova chain
  • -F: Elimina todas as regras
  • -s: Define origem do pacote
  • -d: Define um destino para o pacote
  • -i: Define interface de entrada
  • -o: Define interface de saída
  • -p: Define um protocolo
  • –dport: Define porta de destino
  • –sport: Define porta de origem
  • -j: O que será feito com o pacote

Regras de firewall – diversos

Para listar as regras de firewall criadas podemos utilizar as seguintes regras:

iptables -L
iptables -t nat -L
iptables -t mangle

Removendo regras de acesso:

iptables -A INPUT -i eth0 -s 192.168.100.100 -p tcp --dport 22 -j ACCEPT

Para remover a regra acima iremos usar a seguinte linha:

iptables -D INPUT -i eth0 -s 192.168.100.100 -p tcp --dport 22 -j ACCEPT

ou localize a linha que você queira deletar através do comando:

iptables -L INPUT

e aplique a regra abaixo para deletá-la:

iptables -D INPUT <número da linha>

Para direcionar a saída padrão de internet para o Squid utilize a linha abaixo:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT  --to-port 8080

Zerando as regras de firewall:

iptables -F
iptables -t nat -F
iptables -t mangle -F

Até pessoal… Espero ter ajudado!

Fonte: Viva O Linux

Conte-nos o que achou...

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: