Este guia explica como instalar e configurar UFW (Uncomplicated Firewall), uma firewall simples e eficaz para Linux.
📋 Pré-requisitos
- VPS com acesso root ou sudo
- Ligação SSH ativa
- Ubuntu/Debian
📥 Instalação do UFW
Bashsudo apt update sudo apt install ufw -y sudo ufw status
Se o UFW não estiver ativado, verá: Status: inactive
⚙️ Configuração básica
Importante: Antes de ativar o UFW, autorize a porta SSH (22), caso contrário ficará bloqueado fora do servidor.
Bash1# Bloquear entradas, autorizar saídas 2sudo ufw default deny incoming 3sudo ufw default allow outgoing 4 5# Autorizar ligações essenciais 6sudo ufw allow 22/tcp 7sudo ufw allow 80/tcp 8sudo ufw allow 443/tcp
🔧 Ativar UFW
Bashsudo ufw enable sudo ufw status verbose
Importante: Confirme que autorizou SSH antes de ativar o UFW!
📝 Regras avançadas
Bash1# Autorizar IP específico 2sudo ufw allow from 192.168.1.100 3sudo ufw allow from 192.168.1.100 to any port 22 4 5# Intervalo de portas 6sudo ufw allow 8000:9000/tcp 7 8# Negar ligações 9sudo ufw deny 8080/tcp 10sudo ufw deny from 192.168.1.200
🔍 Gestão de regras
Bashsudo ufw status numbered sudo ufw delete 3 sudo ufw delete allow 80/tcp sudo ufw reset
💡 Exemplos comuns
Servidor web
Bash1sudo ufw default deny incoming 2sudo ufw default allow outgoing 3sudo ufw allow 22/tcp 4sudo ufw allow 80/tcp 5sudo ufw allow 443/tcp 6sudo ufw enable
Servidor de correio
Bash1sudo ufw allow 25/tcp # SMTP 2sudo ufw allow 587/tcp # SMTP submission 3sudo ufw allow 465/tcp # SMTPS 4sudo ufw allow 993/tcp # IMAPS 5sudo ufw allow 995/tcp # POP3S
Servidor de base de dados
Bashsudo ufw allow from 192.168.1.0/24 to any port 3306 # MySQL sudo ufw allow from 192.168.1.0/24 to any port 5432 # PostgreSQL
✅ Verificação
Bashsudo ufw status verbose sudo ufw status numbered
🚫 Desativar UFW
Bashsudo ufw disable sudo ufw enable
📚 Boas práticas
- Sempre autorize SSH antes de ativar o UFW
- Teste as regras antes de aplicar em produção
- Use IPs específicos quando possível
- Revise as regras regularmente
- Faça backup da configuração antes de alterações importantes
🆘 Resolução de problemas
Não consigo ligar via SSH após ativar UFW
Bashsudo ufw reset sudo ufw allow 22/tcp sudo ufw enable
Regras UFW não aplicadas
Bashsudo ufw status sudo ufw reload sudo iptables -L -n
📚 Recursos adicionais
❓ Perguntas frequentes
P: Posso usar UFW com outras ferramentas de firewall?
R: Não, o UFW gere o iptables diretamente. Usar com firewalld pode causar conflitos.
P: O UFW funciona no CentOS/RHEL?
R: O UFW é pensado para Debian/Ubuntu. No CentOS/RHEL, use firewalld.
P: Como ver que portas estão abertas?
R: sudo ufw status verbose