Introdução
Se você gerencia um servidor VPS ou uma instância Cloud rodando Ubuntu 24.04 LTS, sabe que a segurança da infraestrutura é a prioridade número um. Deixar todas as portas do seu servidor abertas para a internet é um convite para ataques de força bruta, varreduras de portas (port scanning) e acessos não autorizados que podem comprometer seus bancos de dados e aplicações.
Para mitigar esses riscos, o uso de um firewall é indispensável. Neste tutorial, vamos focar no UFW (Uncomplicated Firewall). Como o próprio nome sugere, ele é uma interface simplificada para o iptables, projetada para ser fácil de configurar sem a complexidade extrema das regras brutas do kernel Linux. Ele é ideal para administradores de sistemas e desenvolvedores que precisam de uma camada robusta de proteção de forma rápida e eficiente.
Ao final deste guia, você será capaz de:
- Instalar e ativar o UFW no seu servidor Ubuntu.
- Configurar regras para permitir tráfego essencial, como SSH, HTTP e HTTPS.
- Bloquear acessos indesejados de IPs específicos.
- Gerenciar e auditar as regras ativas para garantir que sua aplicação permaneça acessível, mas segura.
Aviso importante: Configurar o firewall incorretamente pode causar o bloqueio do seu próprio acesso SSH, resultando na perda de controle do servidor. Siga os passos com atenção.
Pré-requisitos
Antes de iniciar a configuração do UFW (Uncomplicated Firewall) no seu servidor, é fundamental garantir que o ambiente esteja preparado para evitar o bloqueio acidental de conexões legítimas. Para este tutorial, você precisará atender aos seguintes requisitos:
- Acesso Root ou Privilégios de Sudo: Você deve possuir uma conta com permissões de superusuário para executar comandos de alteração no sistema e no kernel.
- Servidor Ubuntu 24.04 LTS: Embora o UFW funcione em outras distribuições baseadas em Debian, este guia foi validado especificamente para a versão 24.04 LTS.
- Conexão SSH Ativa: É indispensável ter um cliente SSH (como Terminal, PuTTY ou Termius) configurado para acessar sua VPS ou instância Cloud.
- Conhecimento de Portas de Serviço: Você deve saber quais portas seu servidor utiliza (ex: 22 para SSH, 80 para HTTP, 443 para HTTPS) para não perder o acesso remoto durante a ativação do firewall.
⚠️ AVISO DE SEGURANÇA: Configurar regras de firewall incorretamente pode resultar no lockout (bloqueio total) do seu servidor. Certifique-se de que a regra para a porta do seu serviço SSH foi definida antes de habilitar o UFW.
Instalação e Configuração
O UFW (Uncomplicated Firewall) já costuma vir pré-instalado no Ubuntu 24.04 LTS, mas é fundamental garantir que ele esteja atualizado e configurado corretamente antes de ativar o bloqueio de portas.
- Atualize os repositórios: Antes de iniciar, certifique-se de que o índice de pacotes do seu sistema está em dia.
sudo apt update - Instale o UFW: Caso o pacote não esteja presente, execute o comando de instalação:
sudo apt install ufw - Configuração de Políticas Padrão: A regra de ouro da segurança é: bloquear tudo o que entra e permitir tudo o que sai. Isso evita que conexas não solicitadas alcancem seu servidor.
sudo ufw default deny incoming sudo ufw default allow outgoing - LIBERE O SSH (CRÍTICO): Atenção: Se você estiver conectado via SSH (em uma VPS ou Cloud), nunca ative o firewall sem antes liberar a porta do SSH. Caso contrário, você perderá o acesso ao servidor permanentemente.
(Ou usesudo ufw allow sshsudo ufw allow 22/tcpse você utiliza uma porta personalizada). - Ative o Firewall: Com as regras de acesso garantidas, agora você pode ativar o serviço.
sudo ufw enable
Gerenciamento de Regras
O coração do UFW reside na sua capacidade de aplicar regras granulares para controlar o tráfego de entrada e saída. Após a configuração inicial, você precisará gerenciar as permissões conforme a necessidade do seu serviço (como Web, FTP ou SSH).
Abaixo, listamos os comandos mais comuns para o dia a dia de um administrador de sistemas:
- Liberar portas específicas: Para permitir tráfego em uma porta padrão (ex: HTTP na 80 ou HTTPS na 443):
sudo ufw allow 80/tcp sudo ufw allow 443/tcp - Liberar por nome de serviço: O UFW possui um mapeamento interno de serviços comuns:
sudo ufw allow ssh sudo ufw allow http - Restringir acesso por IP (Segurança Avançada): Essencial para permitir acesso SSH apenas do seu IP fixo ou de um IP de confiança da sua agência:
sudo ufw allow from 200.150.50.10 - Remover uma regra existente: Se você cometeu um erro ou não precisa mais de uma porta aberta, use o comando
deleteseguido da regra:sudo ufw delete allow 80/tcp - Bloquear um IP específico: Para mitigar ataques de força bruta ou IPs maliciosos detectados nos logs:
sudo ufw deny from 192.168.1.50
Dica de Segurança: Sempre teste a regra de permissão para o seu IP atual antes de ativar o firewall globalmente, evitando o lockout (perda de acesso) ao servidor VPS.
Verificação de Status
Após aplicar as regras, é fundamental validar se o firewall está operando conforme o esperado e se as políticas de entrada e saída foram aplicadas corretamente. O UFW oferece comandos simples para auditar o estado atual do serviço.
Para verificar se o UFW está ativo ou inativo, utilize o comando abaixo:
sudo ufw status
Ao executar este comando, você verá um dos dois cenários:
- Status: inactive: O firewall está instalado, mas não está filtrando nenhum tráfego.
- Status: active: O firewall está rodando e as regras listadas abaixo estão sendo aplicadas.
Se o status estiver active, o terminal exibirá uma tabela detalhando as portas, o protocolo (TCP/UDP) e a ação (ALLOW/DENY). Para uma visualização muito mais detalhada, incluindo as regras numeradas (útil para remoção rápida de regras), utilize o parâmetro verbose:
sudo ufw status verbose
Com o modo verbose, você também poderá confirmar as políticas padrão (Default) para tráfego de entrada (Incoming) e saída (Outgoing), garantindo que seu servidor não esteja permitindo conexões indesejadas por padrão.
Troubleshooting
Ao configurar o UFW, é comum encontrar situações onde o acesso ao servidor é interrompido ou serviços param de responder. Abaixo, listamos os problemas mais frequentes e como resolvê-los:
- Perda de acesso via SSH: Se você aplicou as regras e perdeu a conexão, o motivo mais provável é a ausência da regra de permissão para a porta 22 (ou a porta customizada que você utiliza).
Conclusão
Configurar o UFW (Uncomplicated Firewall) é um passo fundamental para garantir a integridade e a segurança do seu servidor Ubuntu 24.04 LTS. Ao implementar uma política de deny incoming (negar entrada) e permitir apenas as portas essenciais, como SSH, HTTP e HTTPS, você reduz drasticamente a superfície de ataque contra varreduras de portas e tentativas de invasão automatizadas.
Lembre-se que a segurança de uma infraestrutura é um processo contínuo. À medida que você instala novos serviços em sua VPS ou Cloud — como um servidor de banco de dados MySQL, um painel de controle ou um servidor de e-mail — é sua responsabilidade atualizar as regras do firewall para permitir o tráfego necessário.
Para manter seu servidor sempre protegido, siga estas boas práticas:
- Princípio do Privilégio Mínimo: Feche todas as portas e abra apenas o estritamente necessário.
- Auditoria Periódica: Utilize o comando
sudo ufw status verboseregularmente para revisar as regras ativas. - Backup de Configurações: Antes de realizar alterações drásticas em regras de rede, certifique-se de ter acesso via console (VNC) pelo painel da Toda Solução, prevenindo bloqueios acidentais de SSH.
Com o UFW configurado corretamente, sua infraestrutura estará muito mais resiliente e preparada para o ambiente de produção.