Jump to content
billlcosta

Introdução ao Iptables

Recommended Posts

Definição

O Firewall é um mecanismo de segurança utilizado no processo de segurança de barreiras, atuando entre duas redes (geralmente entre a rede LAN e a rede WAN), com o objetivo de minimizar ataques e acesso indevidos aos ativos da rede. O Firewall iptables é um Netfilter que veio em substituição da ferramenta Ipchains. O Iptables é um Firewall em nível de pacotes cujo funcionamento baseia na análise das informações de marcações e Datagramas do pacote (endereço/porta de origem/destino do pacote, prioridade, etc.) Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. Em Firewalls mais restritivos, o pacote é bloqueado e registrado para que o administrador do sistema tenha conhecimento sobre o que está acontecendo em seu sistema. 

O Netfilter é um conjunto de mecanismos para manipulação de pacotes implementados diretamente no kernel do linux. Os mecanismos do Netfilter são selecionados através de três tabelas: 

  • FILTER.: utilizada para filtrar pacotes
  • MANGLE.: utilizada para ações de marcação e manipulação de pacotes
  • NAT.: utilizada para as ações de tradução de endereços (NAT e NAPT)


O iptables corresponde aos mecanismos utilizados para organizar as regras utilizadas pelo Netfilter, utiliza o conceito de Chains para indicar para quais pacotes uma determinada regra deve ser aplicada. As Chains utilizadas pelo mecanismo de filtragem de pacotes são: 

  • INPUT.: a regras se referem aos pacotes que entram por uma interface
  • OUTPUT.: as regras se referem ao que sai por uma interface
  • FORWARD.: as regras se aplicam aos pacotes que serão roteados, isto é, aos pacotes que não são destinados ao próprio computador.

 

Manipulação de regras


Sintaxe.: iptables <tabela> <chain> <opções> <regra/ação> 

 

Inserção/remoção de regras

 

  • -A → utilizada para adicionar uma regra ao fim da chain.
  • -I → utilizada para inserir uma regra na posição N da tabela.
  • -D → utilizada para apagar a regra na posição N.
  • -R → utilizada para remover / alterar uma regra disposta na posição indicada na chain.
  • -F [-t tabela] → Apaga as regras contidas em uma ou mais Chains de uma determinada tabela.
  • -P [política] → Define a política padrão da chain, podendo ser ACCEPT ou DROP.
  • -Z [chain] → Zera os contadores de pacotes da Chain.
  • -t table → define a tabela de referência da regra a ser manipulada, há de se saber que existem 3 tabelas disponíveis: filter, nat, mangle. Há de saber-se que na tabela filtro encontramos três regras nativas: INPUT, OUTPUT e FORWARD.


Nota.: Caso a opção -t seja omitida o iptables ira utilizar a tabela padrão FILTER. 

 

Listagem de regras

 

  • -L [-t chain] [subopções] → Listas as regras de uma ou mais Chain
    • -v → Exibe mais detalhes sobre as regras criadas nos Chains.
    • -n → Exibe endereços de máquinas/portas como números em vez de tentar a resolução DNS e consulta ao /etc/services. A resolução de nomes pode tomar muito tempo dependendo da quantidade de regras que suas tabelas possuem e velocidade de sua conexão.
    • -x → Exibe números exatos em vez de números redondos. Também mostra a faixa de portas de uma regra de Firewall.
    • --line-numbers → Exibe o número da posição da regra na primeira coluna da listagem.

 

Origem/Destino

 

  • -s ou --src define o endereço de orginam
  • -d ou --dst define o endereço de destino
  • -i ou --in-interface definie a interface de entrada do pacote
  • -o ou --out-interface define a interface de saída do pacote
  • -p ou --protocol define o protocolo (tcp,udp,icmp...)
  • --sport ou --source-port define a porta de oriem
  • --dport ou --destination-port define a porta de destino

 

Protocolo - Opções

 

  • --limit defineqlimita a média de matchs dos pacotes. Pode ser utilizadas em segundos/minutos/horas/dias
  • --limit-burst define o número máximo de match inicial.
  • --maskt realiza a marcação de um pacote
  • --state especifica o estado da conexão (NEW,ESTABLISHED,RELATED,INVALID)
  • --tcp-flags examina as flags (SYN,ACK,FIN,RSTURG,PSH0 de um pacote
  • --tos define o tipo de serviço
  • --ttl especifica o ttl (tempo de via) do pacote

 

Opção -j (Ação)

 

  • ACCEPT Aceita um pacote
  • DROP Descarta um pacote "silenciosamente"
  • REJECT Rejeita um pacote
    • REJECT --reject-with type Rejeita um pacote e envia um pacote ICMP type
  • LOG Armazena logs do pacote (origem/destino, etc)
    • LOG --log-prefix permite identificar (colocar um prefixo) no log armazenado

Share this post


Link to post
Share on other sites

Mithrandir, obrigado.

 

Então, pode ser uma ideia. Precisaria apenas fazer alguns ajustes. Mas estou com algo quase pronto para usá-lo como artigo. Para dicas seria uma boa mesmo.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...