Configurar o firewall do Ubuntu com o UFW (Uncomplicated Firewall) ajuda a proteger seu VPS, permitindo conexões essenciais e bloqueando o tráfego de entrada desnecessário. A configuração exige apenas alguns comandos, mas a ordem deles importa: libere o SSH antes de ativar o firewall para não perder o acesso remoto.
Este tutorial mostra como instalar o UFW, configurar políticas padrão seguras, abrir as portas do site, ativar o firewall e gerenciar as regras depois.
Principais pontos
- O UFW oferece uma maneira simples de gerenciar o firewall do Ubuntu pela linha de comando.
- Libere a porta SSH que você realmente usa antes de ativar o UFW em um VPS remoto.
- Bloqueie por padrão o tráfego de entrada não solicitado e abra apenas as portas necessárias para seus serviços.
- Verifique o acesso por meio de uma segunda conexão e revise as regras sempre que adicionar ou remover aplicativos.
O que é o UFW no Ubuntu?
O UFW é uma ferramenta de configuração de firewall que gerencia as regras do sistema de filtragem de pacotes do kernel Linux. Em vez de escrever regras de baixo nível, você pode permitir ou bloquear conexões com comandos como ufw allow e ufw delete.
Em um VPS típico de hospedagem de sites, você liberará o SSH para administração e as portas 80 e 443 para os visitantes. As portas de bancos de dados e de aplicativos internos geralmente devem permanecer inacessíveis pela internet pública.
Antes de configurar o firewall do Ubuntu
Você precisará de um VPS Ubuntu com acesso sudo e uma conexão SSH funcionando. Se você está começando a administrar servidores remotamente, consulte o guia da ZYNOO sobre comandos SSH para iniciantes.
Mantenha sua sessão SSH atual aberta. Verifique se o console web ou de recuperação do provedor do seu VPS funciona. Os firewalls de rede do provedor são separados do UFW e também podem precisar de regras adequadas.
Estas instruções pressupõem uma configuração nova ou inativa do UFW. Se o UFW já estiver ativo, examine suas regras e os requisitos dos serviços antes de alterar a política padrão.

Etapa 1: Verifique e instale o UFW
Verifique se o UFW está disponível:
sudo ufw status
Status: inactive significa que ele está instalado, mas não está aplicando regras. Se o comando não for encontrado, instale o UFW:
sudo apt update
sudo apt install ufw
Ainda não ative o firewall.
Etapa 2: Libere o SSH antes de ativar o UFW
Descubra em qual porta TCP o SSH está aceitando conexões:
sudo ss -ltnp
Compare a saída com a porta usada pelo seu cliente SSH. A porta 22 é comum, mas as configurações de VPS podem usar outra porta.
Se o SSH usar a porta 22, execute:
sudo ufw allow 22/tcp
Se o SSH usar uma porta personalizada, como a 2222, libere essa porta em vez da 22:
sudo ufw allow 2222/tcp
A porta 2222 é apenas um exemplo, não uma porta adicional que todos devem abrir. Revise as regras que ainda serão aplicadas:
sudo ufw show added
Etapa 3: Defina as regras padrão e verifique o IPv6
Use uma política padrão que bloqueie conexões de entrada e permita que o VPS inicie conexões de saída:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Se o seu VPS tiver conectividade IPv6 pública, confirme se o UFW oferece suporte a ela:
grep '^IPV6=' /etc/default/ufw
A configuração esperada é IPV6=yes. Se o IPv6 estiver em uso, mas essa opção estiver definida como no, edite /etc/default/ufw para ativar o suporte a IPv6 antes de ativar o firewall.
Etapa 4: Abra as portas necessárias para seu site
Se o VPS hospedar um site público, libere HTTP e HTTPS antes de ativar o UFW:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
As portas comuns em um VPS Ubuntu são:
| Serviço | Porta | Protocolo |
|---|---|---|
| SSH | 22 (ou sua porta personalizada) | TCP |
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
Para um aplicativo público em outra porta TCP, a sintaxe do UFW para liberar a porta é:
sudo ufw allow 8080/tcp
Execute esse exemplo apenas se o seu serviço precisar de acesso externo pela porta 8080. Para um serviço UDP, especifique /udp em vez disso, como em sudo ufw allow 51820/udp para um endpoint WireGuard configurado nessa porta.
Você também pode verificar os perfis de aplicativos disponíveis:
sudo ufw app list
Se Nginx Full aparecer na lista, examine suas portas com sudo ufw app info 'Nginx Full'. O comando sudo ufw allow 'Nginx Full' pode substituir as duas regras de portas do site mostradas acima; não é necessário usar as duas abordagens. Aplicativos atrás de um proxy reverso Nginx local geralmente não devem expor publicamente a porta do serviço de backend.
Etapa 5: Ative o UFW e verifique o firewall
Depois de liberar o SSH e todas as portas necessárias para seus serviços, ative o UFW:
sudo ufw enable
Um aviso poderá informar que a operação pode afetar o SSH. Prossiga somente depois de confirmar a regra de SSH e o acesso ao console de recuperação. Confira as regras em vigor:
sudo ufw status verbose
Você deverá ver Status: active, as políticas padrão e as portas liberadas. O UFW também passa a ser iniciado automaticamente na inicialização do sistema.
Antes de fechar sua sessão SSH original, conecte-se novamente por um segundo terminal. No seu computador, use ssh -p 22 username@server-ip, substituindo o nome de usuário, o endereço e a porta conforme necessário. Teste seu site de uma rede externa se você abriu as portas 80 e 443. Uma regra ALLOW, por si só, não comprova que o serviço está acessível.
Etapa 6: Gerencie, restrinja e exclua regras do UFW
Para listar as regras do firewall com seus números:
sudo ufw status numbered
Para excluir uma regra de liberação desatualizada, por exemplo, para a porta TCP 8080:
sudo ufw delete allow 8080/tcp
Você também pode excluir uma regra pelo número (sudo ufw delete 3), mas confira a lista atual primeiro: a numeração pode mudar, e a exclusão pelo número pode remover apenas uma das regras correspondentes de um par IPv4/IPv6.
Opcional: restrinja o SSH ao seu IP
Se o IP usado para administração for estável, você pode restringir o SSH a esse endereço. Por exemplo:
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
Substitua o IP do exemplo pelo seu IP público real. Teste um novo acesso a partir desse endereço e depois remova a regra antiga que libera o acesso geral com sudo ufw delete allow 22/tcp. Se a regra de acesso geral continuar ativa, qualquer pessoa ainda poderá se conectar. Mantenha a sessão original aberta e o console de recuperação disponível durante todo o processo.
Opcional: limite a frequência das tentativas de conexão SSH
Como alternativa, se você precisar acessar o SSH a partir de IPs que mudam, substitua a regra de acesso geral por um limite na frequência das conexões:
sudo ufw limit 22/tcp
sudo ufw delete allow 22/tcp
sudo ufw status numbered
Faça isso somente depois de confirmar que a conexão SSH e o acesso ao console de recuperação estão funcionando; se a sua porta SSH não for a 22, use a porta correta. Depois, teste um novo acesso. Essa é uma alternativa à restrição de acesso por IP, não uma medida para combinar com ela. O limite na frequência das conexões não substitui a autenticação por chave SSH.
Etapa 7: Verifique os logs e resolva problemas de acesso
Ative o registro básico em log quando precisar investigar tráfego bloqueado:
sudo ufw logging on
sudo ufw status verbose
Os logs do UFW podem estar disponíveis no journal do sistema ou em /var/log/ufw.log, dependendo da sua configuração de logs.
Se o SSH ficar inacessível, use o console de recuperação do seu provedor para examinar as regras ativas. Como medida temporária de emergência, sudo ufw disable interrompe a aplicação das regras; corrija a regra de SSH e ative o UFW novamente.
Se o seu site não carregar, verifique os serviços que estão aceitando conexões com sudo ss -ltnp, as regras do UFW e qualquer firewall do provedor. Abrir uma porta não inicia o serviço associado a ela.
Perguntas frequentes
Sim. Depois que você executa sudo ufw enable, o UFW permanece ativado nas próximas inicializações. Verifique a configuração com sudo ufw status verbose.
Não. As regras adicionadas ou removidas pelo UFW entram em vigor sem reiniciar o VPS. Você pode consultar a configuração atual imediatamente.
Não necessariamente. As portas publicadas pelo Docker podem contornar as regras comuns de entrada do UFW porque o Docker configura suas próprias regras de rede. Consulte a documentação do Docker sobre firewalls antes de confiar no UFW para restringir o acesso aos contêineres.
Conclusão
Uma configuração segura do firewall do Ubuntu com o UFW começa pela liberação do SSH, pela aplicação de uma política padrão que bloqueia conexões de entrada e pela abertura apenas das portas necessárias para seus aplicativos. Depois de ativar o UFW, verifique o acesso por uma conexão separada e remova as regras obsoletas conforme as necessidades do seu VPS mudarem.
O UFW controla o acesso à rede, não o uso abusivo dos aplicativos. Para sites públicos com Nginx, limitar a frequência das requisições é uma medida de proteção adicional útil.