Nesta aula, você aprenderá a criar regras de filtragem de pacotes usando o iptables. Entender como funciona um firewall é essencial para proteger qualquer infraestrutura de TI, e o iptables é uma ferramenta fundamental para isso. Nesta etapa do curso, nos concentramos em conceitos iniciais, preparando-o para gerenciar a segurança de redes de forma prática e eficaz.
O que você vai aprender nesta aula
- O que é o iptables e para que ele serve
- Conceitos básicos de filtragem de pacotes
- Como criar regras simples usando iptables
- Testar e validar suas regras em um ambiente real
O que é o iptables?
O iptables é uma interface de linha de comando que permite configurar regras de firewall no Linux. Ele faz parte da segurança em camadas de redes, funcionando como o porteiro que decide quem pode ou não entrar. Assim como uma banca de jornais decide que publicações colocar à venda, o iptables gerencia o tráfego de rede que pode entrar ou sair do seu sistema. Nas nossas soluções da JRT Technology Solutions, o uso do iptables é uma prática comum para garantir a segurança dos sistemas de nossos clientes.
Configurando o iptables na prática
Vamos ao passo a passo para implementar regras básicas de iptables. Este exemplo demostrará como bloquear e liberar tráfego de rede em um sistema Ubuntu/Debian.
# Exibir as regras atuais
sudo iptables -L
# Reiniciar as regras (atenção: isso remove todas as regras atuais)
sudo iptables -F
# Bloquear todo o tráfego de entrada
sudo iptables -P INPUT DROP
# Permitir tráfego de entrada na porta 22 (SSH)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Permitir tráfego de retorno para conexões estabelecidas
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Salvar as regras
sudo netfilter-persistent save
# Verificar as regras novamente
sudo iptables -L
Cada comando acima foi projetado para ensinar uma função específica do iptables:
- iptables -L: lista as regras atuais, mostrando como o firewall está configurado.
- iptables -F: limpa todas as regras, permitindo um novo começo.
- iptables -P INPUT DROP: define a política padrão para bloquear todo o tráfego de entrada.
- iptables -A INPUT -p tcp –dport 22 -j ACCEPT: adiciona uma regra para permitir conexões na porta 22, normalmente usada para SSH.
- iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT: permite o tráfego de retorno de conexões já estabelecidas.
- sudo netfilter-persistent save: salva as regras configuradas, garantindo que serão aplicadas após um reboot.
Salvando e persistindo as regras do iptables
Um erro comum é configurar regras de iptables e perdê-las após reiniciar o sistema. Em nossos projetos na JRT Technology Solutions, garantir que as regras persistam é uma prática padrão. No caso de sistemas Ubuntu/Debian, podemos usar o utilitário netfilter-persistent para este propósito.
Siga o comando abaixo para instalar o utilitário:
sudo apt-get install -y netfilter-persistent
Depois de configurar suas regras, use o comando sudo netfilter-persistent save para garantir que suas regras sejam salvas e carregadas durante as reinicializações do sistema.
Resumo da Aula 3
Nesta aula, introduzimos o conceito de filtragem de pacotes usando o iptables, implementamos regras de firewall básicas e garantimos que elas persistissem em nosso sistema usando o netfilter-persistent. Compreender esses fundamentos é crucial para estabelecer defesas de rede fortes. Na próxima aula, abordaremos como o fail2ban amplifica nossas proteções, bloqueando IPs maliciosos automaticamente.
Quer aprender na prática com especialistas?
A JRT Technology Solutions oferece treinamentos e implementação de Firewall, fail2ban e CrowdSec para equipes corporativas.