Ir para o conteúdo
Ajuda

Como liberar portas com o firewall UFW na VPS via SSH

No terminal da VPS, libere primeiro a porta do SSH com ufw allow 22/tcp, depois as portas que precisar (como 80 e 443) e só então ative com ufw enable. O UFW é uma camada a mais, separada do firewall do painel.

4 min de leitura

O UFW (Uncomplicated Firewall) é o firewall mais simples do Ubuntu e do Debian. Antes de ativar, libere a porta do SSH com ufw allow 22/tcp; depois, libere as portas que o seu serviço usa e ative com ufw enable. Ele funciona dentro da VPS e é uma camada separada do firewall do painel.

Antes de começar

  • Acesse a VPS por SSH. Se ainda não sabe como, veja "Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)".
  • Os comandos funcionam no Ubuntu e no Debian, os sistemas das VPS da StayCloud.
  • Os exemplos supõem que você entrou como root. Com outro usuário, coloque sudo na frente de cada comando.
  • Saiba quais portas o seu serviço usa. As mais comuns: 22 (SSH), 80 (HTTP, site sem cadeado) e 443 (HTTPS, site com cadeado).
  • Deixe o Console SSH do painel à mão: se você se trancar para fora, é por ele que se entra. Veja "Como acessar sua VPS pelo Console SSH do painel".

O UFW e o firewall do painel

São duas camadas diferentes, uma na frente da outra:

  • O firewall do painel filtra o tráfego antes de ele chegar na VPS. Veja "Como criar uma regra de firewall na sua VPS".
  • O UFW filtra dentro da VPS, no próprio sistema.

Para uma porta funcionar, ela precisa estar liberada nas duas camadas que estiverem ativas. Se você liberou no UFW e a porta continua fechada, confira o firewall do painel, e vice-versa. Você pode usar só uma das duas; usar as duas dá uma proteção extra.

Instalar o UFW, se precisar

No Ubuntu, o UFW já vem instalado, mas desativado. No Debian, instale antes.

  1. Instale:
    apt update && apt install -y ufw
    
    Resultado: o UFW é instalado, ou aparece que ele já está na versão mais nova.
  2. Veja o estado:
    ufw status
    
    Resultado: aparece Status: inactive se ele ainda não foi ativado.

Liberar as portas e ativar

Siga esta ordem. Ativar o UFW sem liberar o SSH antes derruba a sua conexão.

  1. Libere a porta do SSH:
    ufw allow 22/tcp
    
    Resultado: aparece Rules updated (e Rules updated (v6)). Se o seu SSH usa outra porta, troque o 22 por ela.
  2. Libere as portas do site, se a VPS tiver um:
    ufw allow 80/tcp
    ufw allow 443/tcp
    
    Resultado: aparece Rules updated para cada uma.
  3. Ative o UFW:
    ufw enable
    
    Resultado: o UFW avisa Command may disrupt existing ssh connections. Proceed with operation (y|n)?.
  4. Confira que a porta 22 está liberada no passo 1, digite y e aperte Enter.Resultado: aparece Firewall is active and enabled on system startup. A partir daqui, tudo o que não foi liberado fica bloqueado para quem vem de fora.

Para liberar uma porta só para um endereço, como o IP do seu escritório, use:

ufw allow from <SEU_IP> to any port 3306 proto tcp

Assim, só o <SEU_IP> acessa a porta 3306 (do MySQL), e o resto da internet não.

Ver e remover regras

  1. Veja as regras com número:
    ufw status numbered
    
    Resultado: aparece a lista das regras, cada uma com um número entre colchetes, como [ 2].
  2. Remova a regra pelo número:
    ufw delete 2
    
    Resultado: o UFW mostra a regra e pede confirmação. Digite y e aperte Enter.

Os números mudam depois de cada remoção. Rode ufw status numbered de novo antes de remover outra. Nunca remova a regra da porta do SSH.

Para desligar o UFW de vez, use ufw disable. As regras ficam guardadas para quando você ativar de novo.

Como saber se deu certo

  1. Rode:
    ufw status verbose
    
    Resultado: aparece Status: active e a lista das portas liberadas, com ALLOW IN.
  2. Sem fechar a sessão atual, abra outro terminal no seu computador e conecte de novo na VPS por SSH.Resultado: a conexão nova funciona. Se não funcionar, a sessão antiga continua aberta para você corrigir as regras.

Se algo der errado

Perdi o acesso SSH depois de ativar o UFW

Causa: a porta do SSH não foi liberada antes do ufw enable. Solução: entre pelo Console SSH do painel e rode ufw allow 22/tcp (ou ufw disable para desligar o UFW).

Liberei a porta no UFW e ela continua fechada

Causa: o firewall do painel está bloqueando, ou o serviço não está rodando nessa porta. Solução: confira as regras do firewall do painel e veja se o serviço está ativo com systemctl status.

A porta de um contêiner Docker ficou aberta mesmo bloqueada no UFW

Causa: o Docker cria as próprias regras de firewall e as portas publicadas pelos contêineres passam por fora do UFW. Solução: publique a porta só no endereço local quando ela não precisar ser pública (por exemplo, -p 127.0.0.1:8080:80) e use o firewall do painel para bloquear o acesso de fora.

"ufw: command not found"

Causa: o UFW não está instalado (comum no Debian). Solução: instale com apt install ufw.

Relacionados

  • Como criar uma regra de firewall na sua VPS
  • Como acessar sua VPS pelo Console SSH do painel
  • Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)
  • Como instalar o Docker na VPS via SSH
  • Como ver e gerenciar serviços na VPS via SSH
Este artigo ajudou?

Viu algo errado ou desatualizado?