Ir para conteúdo

Introdução ao Iptables


billlcosta

Posts Recomendados

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
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...