Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Firewall do Ubuntu: como configurar o UFW em um VPS

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.

Configuração do firewall de um VPS Ubuntu com o UFW

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çoPortaProtocolo
SSH22 (ou sua porta personalizada)TCP
HTTP80TCP
HTTPS443TCP

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

O firewall do Ubuntu inicia automaticamente após uma reinicialização?

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.

Preciso reiniciar o Ubuntu depois de alterar as regras do UFW?

Não. As regras adicionadas ou removidas pelo UFW entram em vigor sem reiniciar o VPS. Você pode consultar a configuração atual imediatamente.

O firewall UFW protege os contêineres Docker?

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.

Table of Content

A limitação da taxa de requisições do Nginx é um recurso integrado que controla quantas

Um proxy reverso Nginx recebe solicitações dos visitantes de um site e as encaminha para

Um erro 502 Bad Gateway no Nginx geralmente significa que o Nginx não conseguiu receber

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Rolar para cima