Tempo de leitura: 3 minutos
Uma VPS Linux exposta na internet, sem firewall nenhum, responde a qualquer porta aberta por padrão — banco de dados, painéis de administração, serviços internos que nunca deveriam ser alcançáveis de fora. O UFW (Uncomplicated Firewall) é a forma mais simples de controlar isso: uma interface direta por cima do iptables, feita para configurar regras de firewall sem precisar decorar sintaxe complexa.
Este guia mostra como instalar o UFW, liberar só as portas que o servidor realmente precisa e ativar o firewall sem correr o risco de perder o próprio acesso SSH no processo.
O erro mais comum: ativar o firewall sem liberar o SSH antes
Isso merece destaque logo no início porque é o erro mais fácil de cometer: ativar o UFW sem ter liberado a porta do SSH primeiro tranca você para fora do próprio servidor — e, sem acesso, a única saída costuma ser o console de emergência do provedor. A ordem certa é sempre: liberar a porta do SSH, CONFERIR que a regra foi criada, e só depois ativar o firewall.
Como instalar o UFW
Em muitas distribuições baseadas em Debian/Ubuntu o UFW já vem instalado. Para garantir:
sudo apt update
sudo apt install ufw -y
Passo 1: liberar o SSH antes de qualquer coisa
Se o SSH usa a porta padrão (22):
sudo ufw allow OpenSSH
Se a porta foi trocada por segurança (prática comum combinada com Fail2ban), libere a porta certa em vez do atalho OpenSSH:
sudo ufw allow 2222/tcp
Troque 2222 pela porta real configurada no seu servidor.
Passo 2: liberar as outras portas que o servidor usa
Antes de ativar, libere tudo que o servidor precisa responder de fora. Exemplos comuns:
sudo ufw allow 80/tcp— HTTP, se o servidor hospeda um site.sudo ufw allow 443/tcp— HTTPS, essencial se o site tem SSL (veja como emitir um grátis com Let’s Encrypt e Certbot).- Portas de banco de dados (3306 para MySQL, 5432 para PostgreSQL) só devem ser liberadas se algo de FORA da VPS precisa se conectar — na maioria dos casos, a aplicação roda na mesma máquina e não precisa expor essa porta pra internet.
A regra geral: libere só o que precisa ser alcançado de fora. Cada porta aberta é uma porta a menos de segurança — e o UFW nem deixa nada passar por padrão além do que for explicitamente liberado.
Passo 3: conferir as regras antes de ativar
Antes do passo que não tem volta fácil, confira o que foi configurado:
sudo ufw show added
Confirme que a porta do SSH está na lista antes de continuar.
Passo 4: ativar o firewall
sudo ufw enable
O sistema avisa que isso pode interromper conexões SSH existentes — normal, é só um aviso padrão. Depois de confirmar, teste o acesso numa nova janela de terminal (sem fechar a sessão atual) antes de encerrar a conexão que já está aberta. Se algo der errado, ela continua disponível para corrigir.
Comandos do dia a dia
sudo ufw status verbose— mostra todas as regras ativas e o status geral.sudo ufw delete allow 80/tcp— remove uma regra que não é mais necessária.sudo ufw disable— desativa o firewall por completo (útil só para diagnóstico pontual, não deixe desativado).
UFW não resolve tudo sozinho
O UFW decide quais portas ficam acessíveis — ele não identifica tentativa de força bruta contra um serviço já liberado. Essa parte é do Fail2ban, que trabalha em conjunto: o UFW libera a porta do SSH, o Fail2ban bane quem abusa dela. Somando chave SSH em vez de senha, são três camadas diferentes cobrindo o mesmo ponto de entrada, cada uma resolvendo o que a outra não cobre.
O funcionamento do UFW segue o padrão descrito na documentação oficial do Ubuntu sobre o UFW, então vale consultar sempre que precisar de uma regra mais específica do que as listadas aqui.