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: 13.804 ]

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

Instalação do PostgreSQL com Apache 2, PHP 5, OpenSSL no Debian Wheezy 7.7 64 bits com systemd e chroot

Problema no GRUB no Debian Squeeze 6.0.7 [Resolvido]

Como ter o ChatGPT no seu site em PHP

DHCP com controle de IP e compartilhamento no Debian Squeeze

IPv6, DNSv6 e DHCPv6

Leitura recomendada

Desvendando as regras de Firewall Linux Iptables

Um poderoso firewall para a sua rede wireless com IP x MAC

Como criar um firewall de baixo custo para sua empresa

IPtables - Trabalhando com Módulos

OpenVPN - Instalação e configuração

  
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