Configuração do nftables no Debian

1. Introdução

O nftables é o sucessor moderno do iptables no Debian, oferecendo uma sintaxe mais eficiente e melhor performance para a filtragem de pacotes no Linux. Este guia demonstra a configuração básica em um ambiente Debian.

2. Pré-requisitos

> Acesso root ou privilégios via sudo.
> Debian instalado e atualizado.

3. Instalação

Atualize o repositório e instale o pacote:

sudo apt update && sudo apt upgrade -y

sudo apt install nftables -y


Habilite o serviço para iniciar com o sistema:

sudo systemctl enable nftables


4. Configuração das Regras

Edite o arquivo principal de configuração:

sudo nano /etc/nftables.conf

Substitua o conteúdo pelo conjunto de regras abaixo. Note que as portas de gerenciamento (SSH e Portainer) estão personalizadas:

#!/usr/sbin/nft -f


flush ruleset


table inet filter {

    chain input {

        type filter hook input priority 0; policy drop;


        # Permitir tráfego de loopback

        iif lo accept


        # Manter conexões estabelecidas e relacionadas

        ct state established,related accept


        # SSH - Porta personalizada 12500

        tcp dport 12500 accept


        # Portainer - Portas 8000 e 9000

        tcp dport { 8000, 9000 } accept

    }


    chain forward {

        type filter hook forward priority 0; policy drop;

    }


    chain output {

        type filter hook output priority 0; policy accept;

    }

}


5. Aplicação e Persistência

Após salvar o arquivo, valide a sintaxe e reinicie o serviço para aplicar as novas políticas:

Valida a sintaxe antes de aplicar

sudo nft -c -f /etc/nftables.conf

Reinicia e verifica o status

sudo systemctl restart nftables

sudo systemctl status nftables


6. Verificação

Para listar as regras ativas e confirmar se o firewall está operando conforme o esperado:

sudo nft list ruleset


Conclusão

Com essa estrutura, o tráfego de entrada é bloqueado por padrão (policy drop), permitindo apenas o necessário para a administração do servidor e o funcionamento do Portainer como exemplo.