Marcio Cunha

Como configurar regras de firewall com UFW no Ubuntu

Aprenda passo a passo como configurar o UFW no Ubuntu para bloquear portas abertas, proteger seu servidor e liberar tráfego de aplicações de backend.

Marcio Cunha•6 min
Também disponível em:EnglishEspañol
Resumo
  • O UFW simplifica o gerenciamento de regras de filtragem de pacotes ao encapsular a complexidade do iptables em comandos amigáveis.
  • A estratégia padrão de bloqueio de entrada e liberação de saída garante uma postura inicial de segurança robusta para qualquer servidor.
  • A liberação seletiva de portas para aplicações de backend como Node.js ou bancos de dados evita exposição desnecessária na rede.
  • O uso de perfis baseados em subredes específicas protege serviços internos de acessos públicos indesejados.
  • A verificação constante do status e o registro de auditoria permitem identificar tentativas de invasão em tempo real.

Por que o UFW é indispensável para a segurança do seu Ubuntu

Quando colocamos um servidor Linux na internet, ele se torna instantaneamente visível para milhares de varreduras automatizadas e robôs maliciosos à procura de portas abertas. Para evitar invasões, utilizamos um firewall, que funciona como um porteiro rigoroso na entrada da nossa rede, decidindo quem entra e quem fica de fora. No Ubuntu, a ferramenta padrão para essa tarefa é o UFW, sigla para Uncomplicated Firewall, criado justamente para simplificar a vida de quem precisa proteger o sistema sem decifrar regras complexas de redes.

Antes do UFW, configurar a segurança exigia lidar diretamente com o iptables, um sistema nativo do núcleo do Linux conhecido por sua sintaxe extremamente densa e difícil de memorizar. Na prática, isso significa que uma única vírgula errada no iptables podia derrubar sua conexão SSH ou deixar o servidor totalmente vulnerável. O UFW atua como uma camada amigável por cima desse sistema, permitindo que você proteja portas e serviços com comandos simples e diretos, economizando tempo e evitando erros críticos de configuração.

Como instalar e ativar o UFW no Ubuntu com segurança

Na maioria das instalações modernas do Ubuntu, o UFW já vem pré-instalado, mas por padrão ele permanece desativado para evitar que o usuário perca o acesso remoto logo no primeiro boot. O primeiro passo prático antes de ativar qualquer regra de bloqueio é garantir que você não vai se trancar para fora do servidor, especialmente se estiver acessando a máquina via SSH, que é o protocolo de conexão remota criptografada. Se você fechar a porta 22 antes de permitir o acesso remoto, perderá o controle da máquina instantaneamente.

Para verificar se o utilitário está presente e qual é o seu estado atual, execute o comando abaixo no terminal do seu servidor. Caso ele não esteja instalado por algum motivo, a instalação via gerenciador de pacotes é imediata:

sudo apt update && sudo apt install ufw -y
sudo ufw status verbose

Com a ferramenta pronta, a primeira regra obrigatória é liberar a porta padrão de conexões remotas para evitar o isolamento. Em seguida, definimos a política padrão para rejeitar todo o tráfego de entrada e permitir todo o tráfego de saída, criando a base ideal de segurança. Para aprofundar sua estratégia de mitigação de riscos na infraestrutura, vale a pena conferir o guia sobre como liberar portas bloqueadas no firewall UFW do Linux e entender os reflexos operacionais dessas mudanças.

Configurando políticas padrão e liberando o acesso SSH

Definir políticas padrão significa estabelecer o comportamento básico do firewall quando nenhum outro critério específico for atendido. A prática recomendada de segurança em servidores de backend é adotar uma postura estrita de negação na entrada, o que significa que absolutamente nada consegue alcançar seus serviços internos a menos que você dê uma autorização expressa. Para o tráfego de saída, costuma-se permitir tudo para que as aplicações possam baixar atualizações e se comunicar com APIs externas.

Para aplicar essa base conceitual e garantir o acesso remoto sem riscos, execute a sequência de comandos a seguir no seu terminal:

  1. Definir a política de bloqueio total para conexões que tentam entrar no servidor:
    sudo ufw default deny incoming
  2. Definir a política de liberação total para requisições que saem da sua máquina:
    sudo ufw default allow outgoing
  3. Liberar explicitamente a porta padrão de acesso remoto SSH antes de ligar o firewall:
    sudo ufw allow 22/tcp

Depois de executar esses passos, o sistema está preparado para receber a ativação definitiva sem sustos. Caso sua infraestrutura utilize uma porta SSH personalizada por motivos de segurança, substitua o número 22 pelo valor correto que você configurou no arquivo de configuração do servidor SSH.

Ativando o firewall e validando as regras iniciais

Com as regras fundamentais aplicadas, chegou o momento de ligar oficialmente o sistema de proteção e verificar se tudo continua funcionando conforme o esperado. Para ativar a ferramenta, usamos o comando de habilitação, que solicitará uma confirmação rápida para garantir que você não está correndo o risco de perder a sessão atual de terminal. Para gerenciar cenários mais avançados de tráfego pesado e balanceamento de conexões junto ao firewall, você também pode consultar o material técnico sobre como configurar balanceamento de carga no HAProxy para alta concorrência.

Execute os comandos abaixo para ligar o serviço e inspecionar o painel de status detalhado:

sudo ufw enable
sudo ufw status numbered

Na listagem gerada, você verá números associados a cada regra, o que facilita muito a remoção ou inserção de novas permissões no futuro. Se em algum momento você precisar desativar tudo para realizar testes profundos de rede, basta rodar o comando de desativação, embora isso deva ser evitado em ambientes de produção expostos à internet pública.

Liberando tráfego específico para aplicações de backend

Servidores de backend modernos costumam rodar em portas específicas, como a porta 3000 para aplicações em Node.js, a porta 8080 para serviços Java ou a porta 5432 para bancos de dados relacionais PostgreSQL. Deixar essas portas totalmente abertas para o mundo exterior é um convite aberto para ataques de negação de serviço e tentativas de intrusão direta nos seus bancos de dados. A regra de ouro é expor ao público apenas o servidor web reverso (como Nginx ou Caddy) e manter o backend isolado.

Se você precisa liberar o acesso a uma porta de backend para um endereço IP específico da sua equipe de desenvolvimento ou para um servidor parceiro, especifique a origem no comando. Veja como liberar uma porta restrita:

sudo ufw allow from 192.168.1.50 to any port 3000 proto tcp

Essa abordagem garante que apenas a máquina confiável consiga alcançar o serviço na porta 3000, enquanto o restante da internet recebe um silêncio absoluto do firewall. Caso a aplicação precise ser acessada publicamente por navegadores, como uma API aberta, você libera a porta de forma geral, mas sempre avaliando os riscos de exposição de dados sensíveis. Para aprofundar esses conceitos na prática em produção, confira também nossa análise técnica sobre Como testar o conector USB-C em curto com multímetro.

Conclusão e boas práticas na gestão contínua do UFW

Configurar regras de firewall com o UFW no Ubuntu é um dos passos mais importantes para transformar um servidor cru em um ambiente de produção seguro e resiliente. Ao fechar todas as portas desnecessárias por padrão e liberar apenas o estritamente essencial para o funcionamento do seu backend, você reduz drasticamente a superfície de ataque explorável por agentes maliciosos na rede. Manter esse hábito de auditoria e revisar periodicamente as regras ativas garante a integridade da sua infraestrutura a longo prazo.

Lembre-se de que a segurança da informação não é um evento único, mas sim um processo contínuo de monitoramento e ajustes. Sempre que adicionar novos microsserviços ou alterar a topologia da sua aplicação, reserve um momento para reavaliar quais portas realmente precisam de exposição externa. Com o domínio do UFW e o suporte de ferramentas complementares de rede, seu ambiente Linux estará preparado para operar com estabilidade e confiança.