Aula 5: nftables — o substituto moderno do iptables

Aula 5: nftables — o substituto moderno do iptables

Nesta aula, você vai conhecer o nftables, uma ferramenta moderna e versátil para o gerenciamento de firewalls em sistemas Linux. Vamos explorar suas funcionalidades básicas, compreender por que ele é considerado o sucessor do iptables e aprender a instalá-lo e configurá-lo em diferentes sistemas operacionais. Esta aula é fundamental para entender como proteger suas redes eficazmente com técnicas atuais de firewall.

O que você vai aprender nesta aula

  • Conceitos fundamentais do nftables
  • Comparação entre nftables e seu antecessor, o iptables
  • Licenças de software e o que elas significam para o uso de nftables
  • Instalação e configuração prática do nftables

Conceitos Fundamentais do nftables

O nftables é a nova geração de subsistema de filtragem de pacotes do kernel do Linux. Ele tem como objetivo substituir o iptables, fornecendo uma maneira mais eficiente e poderosa de gerenciar regras de firewall. O nftables introduz uma nova sintaxe que unifica e simplifica a administração de regras, permitindo maior flexibilidade e desempenho.

Mas, o que isso realmente significa? Pense no iptables como uma antiga central telefônica onde cada conexão precisava ser feita manualmente; já o nftables é uma central automatizada que faz isso de forma mais rápida e eficaz.

Licenças de Software no Contexto do nftables

O nftables é um software de código aberto, geralmente distribuído sob a licença GPL (General Public License). Vamos entender brevemente as diferentes licenças de software:

  • Open Source: Software cujo código fonte está disponível para modificação e distribuição.
  • GPL (General Public License): Permite a liberdade de usar, modificar e distribuir o software, garantindo que todas as versões derivadas também sejam de código aberto.
  • MIT: Uma licença permissiva que permite aos usuários praticamente qualquer coisa com o código, desde que incluam o aviso de licença original.
  • BSD: Similar à MIT, mas com restrições relacionadas à promoção do nome dos autores originais.
  • Apache: Permite reusar o software desde que direitos e a marca registrada sejam respeitados.
  • Comercial/Proprietária: O código é fechado e as permissões de uso são mais restritas.

Utilizando a licença GPL, o nftables garante liberdade aos usuários, permitindo personalizações específicas conforme as necessidades de segurança em seus sistemas de rede.

Instalação e Configuração do nftables

# Atualizando pacotes e instalando o nftables no Ubuntu/Debian
sudo apt update
sudo apt install nftables

# Ativando e iniciando o serviço
sudo systemctl enable nftables
sudo systemctl start nftables

# Verificando o status do serviço
sudo systemctl status nftables

No comando acima:

  • sudo apt update: Atualiza a lista de pacotes disponíveis e suas versões.
  • sudo apt install nftables: Instala o pacote nftables.
  • sudo systemctl enable nftables: Configura o nftables para iniciar automaticamente.
  • sudo systemctl start nftables: Inicia o serviço nftables.
  • sudo systemctl status nftables: Exibe o status atual do serviço.

Para usuários de CentOS/RHEL:

# Atualizando pacotes e instalando o nftables no CentOS/RHEL
sudo yum update
sudo yum install nftables

# Ativando e iniciando o serviço
sudo systemctl enable nftables
sudo systemctl start nftables

# Verificando o status do serviço
sudo systemctl status nftables

Os passos são semelhantes, mas usando o gerenciador de pacotes yum.

Implementação Prática e Exemplos

Após a instalação, podemos começar a criar regras para controlar o tráfego da rede. Considere um cenário simples onde queremos permitir somente o tráfego SSH e HTTP:

# Limpando regras antigas
sudo nft flush ruleset

# Criando uma tabela e configurando regras
sudo nft add table inet my_table
sudo nft add chain inet my_table my_chain { type filter hook input priority 0 \; }
sudo nft add rule inet my_table my_chain tcp dport { 22, 80 } accept

No exemplo acima:

  • sudo nft flush ruleset: Limpa regras anteriores.
  • sudo nft add table inet my_table: Cria uma nova tabela de regras.
  • sudo nft add chain inet my_table my_chain: Define uma cadeia dentro da tabela para processar tráfego de entrada.
  • sudo nft add rule inet my_table my_chain tcp dport { 22, 80 } accept: Adiciona regra para aceitar conexões SSH e HTTP.

Essas regras são apenas o começo. O nftables oferece uma gama vasta de opções que nossos especialistas utilizam diariamente em projetos na JRT Technology Solutions para implementar soluções personalizadas de segurança de rede.

Resumo da Aula 5

Aprendemos que o nftables é uma evolução natural na gestão de firewalls no Linux, trazendo melhores práticas e eficiência em relação ao iptables. Exploramos suas vantagens, analisamos suas licenças e até configuramos um firewall básico. Na próxima aula, vamos aprofundar no uso avançado do nftables, abordando aspectos de performance e segurança. Fique atento e até lá!

Quer aprender na prática com especialistas?

A JRT Technology Solutions oferece treinamentos e implementação de Firewall, fail2ban e CrowdSec para equipes corporativas.



Falar no WhatsApp

Thiago Paes Rodrigues

Com mais de 22 anos de experiência em Tecnologia da Informação, este profissional construiu uma trajetória sólida como empresário, atuando de forma estratégica na implementação de soluções tecnológicas que otimizam processos e impulsionam resultados em diferentes setores.