Um firewall adequadamente configurado é a primeira linha de defesa para qualquer servidor exposto à internet. O Ubuntu inclui o UFW (Uncomplicated Firewall) como sua ferramenta padrão de gerenciamento de firewall, fornecendo uma interface simples sobre o poderoso mas complexo framework iptables. Este guia cobre tudo o que você precisa saber para configurar o UFW em servidores Ubuntu de produção.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Ubuntu Server 20.04, 22.04 ou 24.04
  • Acesso ao terminal com privilégios sudo
  • Acesso SSH ao servidor (se configurando remotamente)
  • Compreensão básica de portas TCP/UDP e conceitos de rede

O que é UFW?

UFW significa Uncomplicated Firewall. Foi criado pela equipe do Ubuntu para simplificar o processo de configuração do iptables. O UFW envolve o iptables com uma interface de comandos legível.

Características principais:

  • Firewall com estado — rastreia estados de conexão e permite automaticamente tráfego de retorno
  • Perfis de aplicação — conjuntos de regras pré-configurados para serviços comuns
  • Suporte IPv4 e IPv6 — pilha dupla por padrão
  • Logging — níveis de log configuráveis para monitoramento de segurança
  • Limitação de taxa — proteção integrada contra ataques de força bruta

Instalar o UFW

sudo apt update
sudo apt install ufw
sudo ufw status

Importante: Não habilite o UFW até que tenha configurado sua regra de acesso SSH.

Definir Políticas Padrão

sudo ufw default deny incoming
sudo ufw default allow outgoing

Permitir SSH Antes de Habilitar o UFW

Sempre permita SSH primeiro:

sudo ufw allow ssh

Para uma porta SSH não padrão (por exemplo, 2222):

sudo ufw allow 2222/tcp

Habilitar o UFW

sudo ufw enable
sudo ufw status verbose

Regras Comuns de Firewall

Permitir uma Porta Específica

sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS
sudo ufw allow 8080/tcp    # Personalizado
sudo ufw allow 51820/udp   # WireGuard VPN

Permitir de um Endereço IP Específico

sudo ufw allow from 203.0.113.50
sudo ufw allow from 203.0.113.50 to any port 22
sudo ufw allow from 10.0.1.20 to any port 3306

Permitir uma Sub-rede

sudo ufw allow from 10.0.1.0/24
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

Excluir Regras

sudo ufw status numbered
sudo ufw delete 3
sudo ufw delete allow 80/tcp

Perfis de Aplicação

sudo ufw app list
sudo ufw allow 'Nginx Full'
sudo ufw app info 'Nginx Full'

Criar Perfis Personalizados

Crie um arquivo em /etc/ufw/applications.d/:

[MyApp]
title=Minha Aplicação Node.js
description=Aplicação web Express.js
ports=3000/tcp

Limitação de Taxa

sudo ufw limit ssh

Isso limita conexões SSH de entrada a 6 conexões em 30 segundos de um único endereço IP.

Configurar Logging

sudo ufw logging on
sudo ufw logging medium
sudo tail -50 /var/log/ufw.log
sudo grep '\[UFW BLOCK\]' /var/log/ufw.log | tail -20

Configurações Práticas de Servidor

Servidor Web

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Servidor de Banco de Dados

sudo ufw allow ssh
sudo ufw allow from 10.0.1.20 to any port 3306
sudo ufw allow from 10.0.1.20 to any port 5432
sudo ufw enable

Servidor VPN (WireGuard)

sudo ufw allow ssh
sudo ufw allow 51820/udp

Solução de Problemas

Não Consigo Conectar Após Habilitar o UFW

  1. Acesse o servidor através de um console
  2. Desabilite o UFW: sudo ufw disable
  3. Revise suas regras: sudo ufw status numbered
  4. Corrija a configuração e reabilite

Redefinir Tudo

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

Referência de Comandos UFW

ComandoDescrição
sudo ufw enableHabilitar o firewall
sudo ufw disableDesabilitar o firewall
sudo ufw statusMostrar regras atuais
sudo ufw status verboseMostrar regras com detalhes
sudo ufw status numberedMostrar regras numeradas
sudo ufw reloadRecarregar regras sem reiniciar
sudo ufw resetRedefinir para padrões
sudo ufw allow <porta>Permitir tráfego de entrada
sudo ufw deny <porta>Negar tráfego de entrada
sudo ufw limit <porta>Limitar conexões
sudo ufw delete <regra>Excluir uma regra

Resumo

O UFW fornece uma maneira simples de gerenciar regras de firewall em servidores Ubuntu. Seguindo o princípio do menor privilégio — negar todo o tráfego de entrada por padrão e permitir apenas o que é explicitamente necessário — você estabelece uma base de segurança sólida.

Para hardening adicional, combine o UFW com outras medidas de segurança. Consulte nossos guias sobre Hardening SSH e Configuração VPN WireGuard.