Configuração de Firewall ufw
, iptables
1. UFW: Uncomplicated Firewall
Por que precisamos de um firewall?
Imagina que o seu servidor é tipo uma casa cheia de coisas valiosas (dados, claro). Se você deixar as portas escancaradas, qualquer um pode entrar, devorar os seus dados e ainda deixar a louça suja (ou pior). O firewall é como aquelas portas que você pode controlar: quem pode entrar, por quais caminhos e sob quais condições.
O Linux possui duas ferramentas principais para configurar firewalls: ufw (Uncomplicated Firewall, ou seja, "firewall descomplicado") e iptables. Agora bora entender como eles funcionam e em que se diferenciam.
O que é UFW?
UFW é uma ferramenta para configurar um firewall criada com a ideia de "bora simplificar isso". É perfeita pra quem quer configurar rapidamente as regras básicas de acesso sem complicar demais.
Instalação e habilitação do UFW
O UFW geralmente já vem pré-instalado na maioria das distribuições baseadas em Debian/Ubuntu. Se não tiver, instale ele assim:
sudo apt update
sudo apt install ufw
Habilitar o UFW:
sudo ufw enable
Verificar o status:
sudo ufw status
Na primeira execução, o status provavelmente será "inactive". Depois de habilitar, vai aparecer como "active".
Configuração de regras no UFW
Agora vem a parte mais legal: configurar as regras que definem qual tráfego permitir ou bloquear.
Permitir acesso por SSH (porta 22):
sudo ufw allow 22
Abrir acesso ao servidor web (porta 80):
sudo ufw allow 80
Abrir HTTPS (porta 443):
sudo ufw allow 443
Fechar acesso a uma porta desnecessária (por exemplo, 8080):
sudo ufw deny 8080
Remover uma regra:
Se você mudar de ideia, remova a regra pelo número mostrado pelo comando sudo ufw status numbered
. Por exemplo:
sudo ufw delete 1
Verificação e teste
Pra garantir que tudo tá funcionando direitinho, você pode verificar o status novamente:
sudo ufw status
Você verá uma lista com todas as regras ativas.
2. IPTABLES: mais controle, mais possibilidades
O que é iptables?
Se o UFW é como uma "porta simples com tranca", o iptables é como um "guarda esperto" que permite configurar praticamente tudo. Ele oferece controle completo sobre o tráfego, incluindo roteamento, filtragem por diferentes critérios e até a possibilidade de modificar pacotes.
Conceitos principais do iptables
- Tabelas — são conjuntos de funções para processar pacotes de rede.
filter
: processamento e filtragem de pacotes (por exemplo, permitir ou bloquear).nat
: conversão de endereços/portas (por exemplo, para roteadores).
- Cadeias — são regras aplicadas aos pacotes.
INPUT
: para tráfego de entrada.OUTPUT
: para tráfego de saída.FORWARD
: para tráfego redirecionado.
- Destinos (targets) — são ações executadas em um pacote.
ACCEPT
: permitir o pacote.DROP
: descartar o pacote.REJECT
: descartar o pacote, enviando uma notificação.
Bora ver como configurar regras no iptables.
Visualizar as regras atuais
Para ver quais regras já estão configuradas, execute:
sudo iptables -L
Você pode adicionar -v
ou -n
para informações detalhadas sobre pacotes e endereços IP.
Criando regras com iptables
Regra simples: permitir SSH (porta 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Bloquear acesso à porta 8080:
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
Restringindo acesso por endereço IP:
Se você quiser que um computador com um IP específico possa se conectar ao seu servidor e todos os outros não:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Removendo regras
Para excluir uma regra, é necessário saber o número dela. Encontre com o comando:
sudo iptables -L --line-numbers
E depois remova com:
sudo iptables -D INPUT <número_da_regra>
Salvando regras
As regras do iptables por padrão "são esquecidas" ao reiniciar o sistema. Para evitar isso, salve-as com:
sudo iptables-save > /etc/iptables/rules.v4
Depois, você pode restaurar as regras assim:
sudo iptables-restore < /etc/iptables/rules.v4
3. UFW vs IPTABLES: qual escolher?
UFW e iptables fazem basicamente a mesma coisa — protegem seu servidor. Então, qual ferramenta escolher?
- UFW — é uma ferramenta simples pra configurações básicas de segurança. Se tu não quer se aprofundar nos detalhes de baixo nível ou só quer configurar rapidamente o firewall, escolhe o UFW.
- Iptables — é uma ferramental mais avançada pra configurações complexas. Se tua infraestrutura é complicada (tipo NAT, roteamento), tu vai precisar do iptables.
A propósito, o UFW na verdade funciona "em cima" do iptables. Ele só gera regras do iptables pra ti. Então, se tu aprender iptables, tu automaticamente entende como o UFW funciona por baixo dos panos.
4. Exemplos práticos: protegendo o servidor
Exemplo 1: protegendo SSH e servidor web com UFW
- Certifique-se de que o UFW está instalado e ativado:
sudo ufw enable
- Permita acesso ao SSH e ao servidor web:
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
- Verifique as regras ativas:
sudo ufw status
Exemplo 2: bloqueando tráfego desnecessário com iptables
- Permita acesso ao SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Permita tráfego web:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Bloqueie todo o resto:
sudo iptables -A INPUT -j DROP
Hoje você aprendeu como proteger um servidor usando UFW e iptables. Ambas as ferramentas são poderosas e úteis, só lembre que o UFW é o seu "amigo do dia-a-dia", enquanto o iptables é "uma ferramenta poderosa nas mãos do mestre". Configure o firewall, estude suas configurações e que seu servidor continue sendo uma fortaleza, não um corredor de passagem.
GO TO FULL VERSION