DEV Community

Cover image for Iptables
Fernando Paes Dias
Fernando Paes Dias

Posted on • Edited on

Iptables

O Iptables é usado para configurar, manter e inspecionar as Tables (tabelas) das regras de filtro de pacotes IP no Kernel Linux. Várias Tables diferentes podem ser definidas. Cada Table contém uma série de Chains (cadeias) embutidas e também pode conter Chains definidas pelo usuário.

Cada Chain é uma lista de regras que podem corresponder a um conjunto de pacotes. Cada regra especifica o que fazer com um pacote que corresponde. Isso é chamado de target.


Targets

Uma regra do firewall especifica critérios para um pacote e um alvo. Se o pacote não corresponder, a próxima regra na cadeia será a examinada. Se corresponder, a próxima regra será especificada pelo valor do destino, que pode ser o nome de uma Chain definida pelo usuário ou um dos valores especiais ACCEPT, DROP, QUEUE, ou RETURN.

  • ACCEPT: Significa deixar o pacote passar
  • DROP: Significa que bloqueará o pacote.
  • QUEUE: Significa passar o pacote para o espaço do usuário. - - - RETURN: Significa parar de atravessar essa CHAIN e retomar na próxima regra na CHAIN anterior. Se o final de uma CHAIN embutida for atingido ou uma regra em uma CHAIN embutida com o RETURN do alvo for correspondente, o alvo especificado pela política da CHAIN determina o destino do pacote.

Tables

No Iptables há 05 Tables (Tabelas) independentes (as Tables presentes a qualquer momento dependem das opções de configuração do Kernel e dos módulos presentes):

  • Filter: É a Table padrão se a opção -t não for passada. Contém as Chains internas INPUT (para os pacotes de entrada), OUTPUT (para os pacotes de saída) e FORWARD (para os pacotes roteados).

Comandos

Listar todas as regras:

iptables -L -v -n
Enter fullscreen mode Exit fullscreen mode
  • -L: Lista as regras de uma ou de todas as Chains
  • -v: Verbose mode
  • -n: Saida numérica de endereços ou portas

Lista todas as regras da tabela NAT:

iptables -t nat -L -v -n
Enter fullscreen mode Exit fullscreen mode

-t: Table que será manipulada. Default: filter

Bloquear todo o tráfego de saída, exceto SSH e Web:

iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Enter fullscreen mode Exit fullscreen mode

-p: Protocolo
-A: Adiciona a uma Chain
--dport:
-j:

Top comments (0)