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

Deixe um comentário