Instalar e configurar o Nftables com exemplos básicos de configurações

O Nftables é o sucessor do bom e velho Iptables que deixará saudades. O Nftables substitui os populares {ip,ip6,arp,eb}tables. Este software fornece uma nova estrutura de classificação de pacotes no kernel baseada em uma máquina virtual (VM) específica para a rede e uma nova ferramenta de linha de comando (nft) que atua no espaço do usuário.

[ Hits: 9.318 ]

Por: Buckminster em 25/03/2023


Conclusão



Consulte a man page do Nftables para ver a sintaxe básica dos comandos no terminal para adicionar, deletar, renomear, etc: Man page of NFT

Exemplos:

# nft add rule filter input ip saddr { 10.0.0.0/8, 192.168.0.0/16 } tcp dport { 22, 443 } accept
# nft add set ip filter blackhole "{ type ipv4_addr; flags timeout; size 65536; }"
# nft create chain nat prerouting { type nat hook prerouting priority 0; }
# nft add chain nat prerouting { type nat hook prerouting priority 0; }
# nft delete rule inet filter input handle 5

Nas referências e no link logo abaixo temos exemplos de arquivos nftables.conf prontos para estudo ou para serem usados se se adequarem ao seu ambiente: Nftables Examples

Bônus

Habilitando/desabilitando no kernel algumas proteções extras

Verifique o caminho correto no teu sistema Linux, procure pelo arquivo com:

# find / -type f -name sysctl.conf

Edite o arquivo /etc/sysctl.conf (Debian e derivados) e descomente as seguintes linhas:

# Enable IP spoofing protection, turn on Source Address Verification
              net.ipv4.conf.default.rp_filter = 1
              net.ipv4.conf.all.rp_filter = 1

# Enable TCP SYN Cookie Protection
            net.ipv4.tcp_syncookies = 1

# Disable ICMP Redirect Acceptance
              net.ipv4.conf.all.accept_redirects = 0
         net.ipv6.conf.all.accept_redirects = 0

# Do not send ICMP redirects (we are not a router, não somos um roteador)
      net.ipv4.conf.all.send_redirects = 0
Somente descomente se o servidor não faz roteamento (NAT)

# Do not accept IP source route packets (we are not a router)
      net.ipv4.conf.all.accept_source_route = 0
      net.ipv6.conf.all.accept_source_route = 0
Somente descomente se o servidor não faz roteamento (NAT)

# Log Spoofed Packets, Source Routed Packets, Redirect Packets
            net.ipv4.conf.all.log_martians = 1

Caso quiser acrescente as linhas abaixo no final do arquivo, se não tiver:

# Enable ignoring broadcasts request (Ignora solicitação de transmissão. Quando um pacote é enviado para um IP da rede, por exemplo, 192.168.1.255 de uma máquina da rede local, esse pacote pode ser entregue a todas as máquinas dessa rede, então desabilitamos o broadcast habilitando o "ignore_broadcast" para evitar tal comportamento)
              net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable ignoring ping request (Ignora ping)
            net.ipv4.icmp_echo_ignore_all = 1

* 1 habilita e 0 desabilita.

Em sendo um framework, o Nftables dá uma margem maior para que comecem a aparecer interfaces gráficas para ele.

O Firewalld da Red Hat em 2018 deu suporte para usar o Nftables como backend da sua GUI (Interface Gráfica).

Referência: https://firewalld.org/2018/07/nftables-backend

O nftfw é um pacote Debian para o Nftables.

O OpenSnitch a partir da versão 1.4.0 deu suporte ao Nftables.

O OpenSnitch é composto por um daemon (escrito em Go) e uma GUI (Interface gráfica em PyQt5), sendo que um ícone de bandeja também está disponível, o qual você pode usar para abrir a GUI do OpenSnitch, desabilitar o firewall ou fechá-lo.

Referência: https://github.com/evilsocket/opensnitch

Com a palavra, a Alexa Bolada:

"Embora o Nftables possa ser configurado por linha de comando, atualmente não há uma interface gráfica oficial para o Nftables.

No entanto, existem algumas ferramentas de terceiros que oferecem uma interface gráfica para o Nftables, como o Nftables Web Interface (nftweb) e o Nftables Firewall Configuration Tool (nft-fw).

Essas ferramentas podem ser úteis para usuários que preferem uma interface gráfica para gerenciar suas regras de firewall.

No entanto, é importante lembrar que essas ferramentas de terceiros podem não ser tão completas quanto a linha de comando e podem não ter suporte oficial.

Por isso, é sempre importante ter um conhecimento sólido do Nftables e suas regras para garantir uma configuração adequada e segura do firewall."

Referências

Página anterior    

Páginas do artigo
   1. Introdução
   2. Traduzindo regras do Iptables para o Nftables
   3. Exemplos básicos de arquivos de configuração
   4. Conclusão
Outros artigos deste autor

Problema no GRUB no Debian Squeeze 6.0.7 [Resolvido]

Instalação do Comodo Antivirus para Linux (CAVL) resolvendo o problema de dependências

Como utilizar de forma correta os repositórios e pacotes Backports

Manual traduzido do Squid

Compilação do Kernel

Leitura recomendada

NoCatAuth - Construindo um firewall/gateway autenticado

Firewall seguro com o IPTables

Firewall Linux - Roteamento avançado usando iproute2 e iptables (load balance)

Abrindo "passagem" para clientes de correio

Bloqueando programas P2P com iptables

  
Comentários
[1] Comentário enviado por fabio em 25/03/2023 - 12:12h

Ótimo artigo, parabéns!

[2] Comentário enviado por maurixnovatrento em 25/03/2023 - 15:58h


Muito bom. Ótimo artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts