Como configurar o firewall iptables para segurança do Linux

Embora o Linux seja um dos sistemas operacionais mais confiáveis ​​e seguros, graças às suas características, sempre haverá algum tipo de vulnerabilidade, seja ela inerente ao sistema ou não intencionalmente pelo usuário. Para aumentar a segurança do Linux, temos várias ferramentas projetadas para proteger serviços, processos, perfis ou arquivos e hoje vamos nos concentrar em um especial chamado Iptables.

O que é IptablesIptables é uma ferramenta avançada de firewall integrada ao kernel do Linux, que faz parte de um projeto denominado netfilter.

Graças a Iptables seremos capazes de gerenciar com precisão e diretamente todas as conexões de entrada e saída para o servidor. Iptables é desenvolvido para endereçamento IPv4, enquanto para IPv6 temos Ip6tables.

1. Estrutura de iptables no Linux


A estrutura que encontramos em Iptables é a seguinte:

CruÉ responsável por filtrar os pacotes antes de qualquer outra tabela existente

FiltroEsta é a tabela padrão do aplicativo

NatÉ usado para tradução de endereços de rede

MangueÉ usado para a alteração de pacotes de rede especializados

SegurançaPode ser implementado para regras de conexão de rede de Controle de Acesso Obrigatório

2. Estrutura de comando em Iptables no Linux


Em Iptables, cada regra é um comando que indica como o tráfego de pacotes de rede deve ser tratado.
Podemos usar a seguinte estrutura:
 -A ENTRADA -i eth0 -p tcp -m estado - ESTABELECIDO, RELACIONADO --esport 80 -j ACEITAR
Os parâmetros usados ​​são:
  • -A: Indica que as regras serão adicionadas aos Iptables
  • -i: Indica a interface na qual a regra será aplicada
  • -p: Refere-se ao protocolo onde a regra será aplicada
  • -m: Refere-se ao fato de que há uma condição que deve ser atendida para aplicar a regra
  • --state: permite a aceitação de novas conexões
  • --sport: Indica a porta de origem
  • -j: (Salto) indica que eles podem aceitar todo o tráfego que atenda às condições fornecidas.

3. Criando regras usando Iptables no Linux


Embora possamos adicionar as regras manualmente, é muito mais prático criar um arquivo de regras e depois importá-lo. Neste caso iremos criar o arquivo no caminho / tmp / iptables-ip4 e podemos utilizar um editor para seu respectivo ajuste:
 sudo nano / tmp / iptables-ip4
A sintaxe será a seguinte:
 * filtro # Regras para adicionar COMMIT
Agora vamos criar as seguintes regras dentro do referido arquivo:

Loopback = É a interface externa do Linux

 -A ENTRADA -i lo -j ACEITAR -A SAÍDA -o lo -j ACEITAR

Ping = nos permite verificar as conexões de rede

 -A ENTRADA -i eth0 -p icmp -m estado --state NOVO --icmp-type 8 -j ACEITAR -A ENTRADA -i eth0 -p icmp -m estado --estado ESTABELECIDO, RELACIONADO -j ACEITAR -A SAÍDA - o eth0 -p icmp -j ACEITAR

Web = Por meio dessas regras, controlamos o tráfego de entrada e saída.

 -A ENTRADA -i eth0 -p tcp -m estado --estado ESTABELECIDO, RELACIONADO --sport 80 -j ACEITAR -A ENTRADA -i eth0 -p tcp -m estado --estado ESTABELECIDO, RELACIONADO --sport 443 -j ACEITAR -A SAÍDA -o eth0 -p tcp -m tcp --dport 80 -j ACEITAR -A SAÍDA -o eth0 -p tcp -m tcp --dport 443 -j ACEITAR

No caso de adicionar o DNS, usaremos as seguintes linhas:

 -A ENTRADA -i ens3 -s 192.168.0.1 -p udp --sport 53 -m estado --estado ESTABELECIDO, RELACIONADO -j ACEITAR -A SAÍDA -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j ACEITAR

Observação:Aqui devemos modificar o IP conforme necessário

Tempo = Estas regras permitem a conexão ao NTP para a sincronização de tempo correta

 -A ENTRADA -i eth0 -p udp -m estado --estado ESTABELECIDO, RELACIONADO --dport 123 -j ACEITAR -A SAÍDA -o eth0 -p udp -m udp --sport 123 -j ACEITAR

Impressão = permite que as portas USB para conectar impressoras sejam ativadas

 -A ENTRADA -p udp -m udp --dport 631 -j ACEITAR -A ENTRADA -p tcp -m tcp --dport 631 -j ACEITAR -A SAÍDA -p udp -m udp --sport 631 -j ACEITAR -A SAÍDA -p tcp -m tcp --sport 631 -j ACEITAR

Email = Podemos habilitar os vários protocolos de e-mail

 # IMAP -A ENTRADA -i eth0 -p tcp -m estado --estado ESTABELECIDO, RELACIONADO --sport 993 -j ACEITAR -A SAÍDA -o eth0 -p tcp -m tcp --dport 993 -j ACEITAR
 # POP3 -A ENTRADA -i eth0 -p tcp -m estado --estado ESTABELECIDO, RELACIONADO --sport 995 -j ACEITAR -A SAÍDA -o eth0 -p tcp -m tcp --dport 995 -j ACEITAR
 # SMTP -A ENTRADA -i eth0 -p tcp -m estado --estado ESTABELECIDO, RELACIONADO --sport 465 -j ACEITAR -A SAÍDA -o eth0 -p tcp -m tcp --dport 465 -j ACEITAR

SSH = Ativar conexões seguras ao computador usando o protocolo SSH

 # Input -A ENTRADA -i ens3 -p tcp -m estado --estado NOVO, ESTABELECIDO --dport 22 -j ACEITAR -A SAÍDA -o ens3 -p tcp -m estado --estado ESTABELECIDO --sport 22 -j ACEITAR
 # Saída -A SAÍDA -o ens3 -p tcp -m estado --estado NOVO, ESTABELECIDO --dport 22 -j ACEITAR -A ENTRADA -i ens3 -p tcp -m estado --estado ESTABELECIDO --sport 22 -j ACEITAR

DHCP: podemos criar regras para autorizar o endereçamento IP por meio de DHCP

 -A ENTRADA -i eth0 -p udp -m estado --estado ESTABELECIDO, RELACIONADO --sport 67:68 -j ACEITAR -A SAÍDA -o eth0 -p udp -m udp --dport 67:68 -j ACEITAR

Rejeitar todas as conexões: podemos adicionar as seguintes linhas para desativar todos os itens acima:

 -A ENTRADA -j REJEITAR -A AVANÇAR -j REJEITAR -A SAÍDA -j REJEITAR

Todas essas linhas serão adicionadas no arquivo mencionado:

PROLONGAR

Nós salvamos as mudanças

Ctrl + O

Deixamos o editor usando

Ctrl + X

4. Importando as regras usando Iptables Linux


Assim que o arquivo for editado, podemos importar essas regras para o Iptable executando o seguinte comando:
 sudo iptables -F && sudo iptables -X
Podemos ver o status das regras usando o comando sudo iptables -S:

PROLONGAR

Caso desejemos restaurar todas as regras, executaremos a seguinte linha:

 sudo iptables-restore </ tmp / itpables-ip4
Se quisermos que essas regras sejam permanentes, executaremos o seguinte:
 sudo apt install iptables-persistent
Desta forma, Iptables é nosso melhor aliado na hora de configurar o firewall em ambientes Linux.

wave wave wave wave wave