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.