Firewall no Linux com UFW: guia para iniciantes
O UFW (Uncomplicated Firewall) é uma interface simples para as regras de firewall do Linux. Em poucos comandos, você define exatamente quais conexões podem chegar ao seu VPS.
Instalação
No Ubuntu, geralmente já vem instalado. No Debian:
sudo apt install ufw -y
⚠️ Antes de ativar: libere o SSH
Se você ativar o firewall sem liberar o SSH, perderá o acesso ao servidor.
sudo ufw allow OpenSSH
# ou, se usa outra porta:
sudo ufw allow 2222/tcp
Política padrão
Bloquear tudo que entra e permitir tudo que sai:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Liberando serviços comuns
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
# ou, com o perfil do Nginx:
sudo ufw allow 'Nginx Full'
Veja os perfis disponíveis:
sudo ufw app list
Ativando
sudo ufw enable
sudo ufw status verbose
Regras mais específicas
Permitir um IP específico
sudo ufw allow from 203.0.113.10
Permitir um IP em uma porta (ex.: MySQL para o servidor da aplicação)
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp
Permitir uma faixa de portas
sudo ufw allow 25565:25575/tcp
Portas UDP (ex.: WireGuard)
sudo ufw allow 51820/udp
Bloquear um IP
sudo ufw deny from 198.51.100.23
O UFW avalia as regras em ordem. Para que um bloqueio tenha prioridade sobre regras de liberação já existentes, use
sudo ufw insert 1 deny from 198.51.100.23.
Limitando tentativas no SSH
O limit bloqueia temporariamente IPs que fazem muitas conexões em pouco tempo:
sudo ufw limit OpenSSH
Removendo regras
sudo ufw status numbered
sudo ufw delete 3
Atenção: Docker e UFW
O Docker manipula diretamente as regras de firewall, e portas publicadas por containers podem ficar acessíveis mesmo com o UFW bloqueando. Soluções:
- Publique portas apenas no localhost:
127.0.0.1:8080:80e use um proxy reverso; - Ou configure regras na cadeia
DOCKER-USER.
Logs
sudo ufw logging on
sudo tail -f /var/log/ufw.log
E no AlmaLinux/Rocky?
Essas distribuições usam o firewalld:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Conclusão
Um firewall bem configurado reduz drasticamente a superfície de ataque do seu servidor.Configure o seu em um VPS-NVME-BR da VittHost, com acesso root completo — e use o cupom SP-VITT20 para ganhar 20% de desconto na primeira fatura enquanto a promoção estiver ativa.