O UFW em servidores Linux simplifica as complexas regras do iptables, tornando o gerenciamento de firewall para SSH, HTTP, HTTPS e portas específicas rápido e seguro. Especialmente em servidores baseados em Ubuntu e Debian, você pode facilmente bloquear o tráfego padrão, abrir os serviços necessários, permitir endereços IP específicos e limitar tentativas falhas. A abordagem recomendada para um início seguro é a seguinte: garanta o acesso SSH, rejeite o tráfego de entrada padrão, permita o tráfego de saída, abra apenas as portas dos serviços utilizados e verifique regularmente o status do UFW.
Assim que um servidor web é exposto à internet, ele se depara com escaneamentos de bots, tentativas de senha, scanners de vulnerabilidades e consultas desnecessárias de portas. Por isso, o firewall é uma das primeiras camadas de segurança em servidores Linux. O UFW é uma ferramenta prática preferida pelas equipes técnicas em suas operações diárias; pois possui comandos legíveis, a adição e remoção de regras é rápida, oferece registro e reduz o risco de configurações incorretas em comparação com os comandos do iptables. Neste guia, abordaremos passo a passo a instalação do UFW, comandos básicos, prevenção de bloqueio SSH, portas do servidor web, permissões baseadas em IP, controle de logs, IPv6, casos especiais como Docker e práticas de segurança de acordo com os padrões de 2026.
O que é UFW e para que Serve?
UFW é a abreviação de Uncomplicated Firewall. Pode ser traduzido como firewall simples. Ele utiliza a infraestrutura de filtragem de pacotes do núcleo Linux em segundo plano; no entanto, oferece comandos mais compreensíveis para o administrador do sistema. Por exemplo, em vez de escrever diretamente regras do iptables ou nftables, você pode permitir o tráfego HTTPS com o comando sudo ufw allow 443/tcp.
O UFW é especialmente útil nos seguintes cenários:
- Proteger rapidamente a segurança básica da rede em um VPS ou servidor dedicado recém-instalado.
- Manter apenas as portas 80 e 443 abertas em um servidor web.
- Limitar o acesso SSH apenas a endereços IP específicos.
- Gerenciar conexões SSH com limites para reduzir tentativas de força bruta.
- Não deixar totalmente expostos os ambientes de teste, staging e painéis administrativos.
- Acompanhar conexões suspeitas através de logs.
O UFW não resolve todos os problemas de segurança por si só; no entanto, reduz a superfície de ataque. Quando utilizado em conjunto com senhas fortes, acesso por chave SSH, atualizações regulares, configuração SSL/TLS e segurança de aplicativos, ele cria uma camada fundamental muito eficaz. Se você estiver hospedando um site em seu servidor, não deve negligenciar o uso de certificados SSL junto com o firewall certificados SSL.
Comparação entre UFW, iptables e firewalld
Existem diferentes ferramentas para gerenciamento de firewall no ecossistema Linux. O UFW, o iptables e o firewalld muitas vezes atendem às mesmas necessidades; no entanto, a facilidade de uso, o suporte à distribuição e a abordagem de gerenciamento são diferentes. A tabela abaixo pode ajudá-lo a tomar uma decisão.
| Ferramenta | Ponto de Destaque | Para Quem é Adequado? | O que Observar |
|---|---|---|---|
| UFW | Comandos simples, instalação rápida, compatibilidade com Ubuntu/Debian | Usuários de VPS, desenvolvedores web, pequenas e médias equipes | Pode ser limitado para segmentação de rede complexa |
| iptables | Controle de regras muito detalhado | Administradores de sistema avançados | Regras incorretas podem causar interrupção de acesso |
| firewalld | Gerenciamento de regras dinâmicas, estrutura de zonas | Ambientes CentOS, AlmaLinux, Rocky Linux | Não é tão simples quanto o UFW; é necessário aprender a estrutura de zonas |
Se você está gerenciando um servidor web baseado em Ubuntu, o UFW é suficiente para a maioria das necessidades. Em grandes redes corporativas ou arquiteturas de segurança em camadas, o UFW deve ser considerado junto com grupos de segurança na nuvem, WAF, IDS/IPS e soluções de registro centralizado.
Instalação do UFW e Primeiras Verificações
O UFW geralmente vem pré-instalado no Ubuntu. No entanto, verificar se ele está instalado é um bom começo. O comando é: sudo ufw status. Se você receber uma mensagem como command not found, precisará instalá-lo.
Instalação em Ubuntu e Debian
Primeiro, atualize a lista de pacotes: sudo apt update. Em seguida, instale o UFW: sudo apt install ufw -y. Após a instalação, verifique o status do serviço: sudo systemctl status ufw. Mesmo que ele não apareça como ativo na saída, isso pode ser normal; o UFW pode permanecer inativo até que as regras sejam ativadas.
A primeira regra na administração de servidores é não ter pressa. Se você estiver trabalhando em um VPS remoto, certifique-se de permitir o acesso à porta SSH antes de ativar o UFW. Caso contrário, você pode perder o acesso ao seu próprio servidor. Se você estiver usando um VPS através da Hostragons, é uma boa prática anotar as opções de acesso ao painel e console antes de fazer a primeira configuração de segurança servidor VPS.
Visualizando o Status Atual
Para ver o status do UFW, você pode usar o comando sudo ufw status verbose. Para uma lista de regras mais detalhada e numerada, o comando sudo ufw status numbered é importante. Ao excluir regras, a lista numerada facilita muito. Por exemplo, para remover uma porta que você abriu por engano, primeiro você vê seu número e, em seguida, poderá removê-la com um comando como sudo ufw delete 3.
Começo Seguro: Regras Padrão
Em um novo servidor Linux, o modelo de início mais seguro geralmente é: rejeitar conexões de entrada por padrão, permitir conexões de saída, abrir apenas as portas necessárias. Esta abordagem está em conformidade com o princípio do menor privilégio.
Os comandos básicos a serem aplicados são:
- sudo ufw default deny incoming
- sudo ufw default allow outgoing
- sudo ufw allow OpenSSH ou sudo ufw allow 22/tcp
- sudo ufw enable
- sudo ufw status verbose
Aqui, o ponto crítico é o acesso SSH. Se o SSH estiver funcionando em uma porta diferente, como a 2222, não ative o UFW sem executar o comando sudo ufw allow 2222/tcp. Alterar a porta padrão 22 por si só não garante segurança; no entanto, pode reduzir tentativas automáticas de bots. Mais importante ainda, é fechar o acesso por senha para SSH e utilizar acesso baseado em chave.
Tornando o Acesso SSH Seguro
SSH é a porta de gerenciamento do seu servidor. Portanto, é o serviço que deve ser tratado com mais cuidado na configuração do UFW. Se o acesso SSH estiver aberto para todos os endereços IP, bots automatizados na internet podem rapidamente começar a tentar acessar seu servidor.
Permitindo Acesso à Porta SSH
Se a porta padrão estiver sendo usada, o comando é simples: sudo ufw allow 22/tcp. Se houver um perfil de aplicativo disponível no Ubuntu, sudo ufw allow OpenSSH também pode ser utilizado. Se você estiver usando uma porta diferente, como 2222, precisará do comando sudo ufw allow 2222/tcp.
Limitando o Acesso SSH a um IP Específico
Uma das maneiras mais seguras é abrir o acesso SSH apenas para endereços IP de administradores fixos. Por exemplo, se seu IP do escritório for 203.0.113.10, você pode usar o seguinte comando: sudo ufw allow from 203.0.113.10 to any port 22 proto tcp. Assim, a porta SSH não ficará aberta para a internet de forma geral.
Se houver mais de um administrador, adicione uma regra separada para cada IP. Se você estiver usando um IP dinâmico, avalie essa abordagem com cuidado; sua conexão pode ser interrompida quando o IP mudar. Nesses casos, gerenciar via VPN, usar um bastion host ou ter acesso de console de emergência através do painel do provedor é uma solução mais profissional.
Uso de Limites para Tentativas de Força Bruta
O UFW oferece um comando de limite para reduzir tentativas de conexão frequentes. O comando é: sudo ufw limit 22/tcp. Essa regra ajuda a limitar muitas tentativas de conexão em um determinado intervalo. No entanto, não substitui completamente ferramentas como o fail2ban. Em ambientes de produção, a segurança do SSH deve usar UFW limit, fail2ban, acesso baseado em chave e políticas de usuário robustas em conjunto.
Abertura de Portas do Servidor Web: HTTP e HTTPS
Para publicar um site, geralmente são necessárias as portas 80/tcp e 443/tcp. A porta 80 é para tráfego HTTP e a 443 é para tráfego HTTPS. Atualmente, HTTPS é o padrão em SEO moderno, segurança do navegador e confiança do usuário. Sites sem certificado SSL enfrentam avisos de segurança e podem experimentar perda nas taxas de conversão certificados SSL.
Regras Básicas para Nginx ou Apache
Para HTTP, o comando é: sudo ufw allow 80/tcp. Para HTTPS, o comando é: sudo ufw allow 443/tcp. Para abrir ambos, a maioria dos administradores prefere escrever os comandos separadamente, em vez de usar sudo ufw allow 80,443/tcp, pois é mais legível.
Os perfis de aplicativo do UFW também podem ser utilizados. Para o Nginx, você pode ver os perfis com o comando sudo ufw app list. Por exemplo, o perfil Nginx Full permite acesso tanto HTTP quanto HTTPS. Comando: sudo ufw allow Nginx Full. Da mesma forma, no Apache, o perfil Apache Full pode ser utilizado.
É Suficiente Usar Apenas HTTPS?
Tecnologicamente, seu site pode ser publicado apenas através de HTTPS; no entanto, para processos de renovação de certificados como o Let's Encrypt e redirecionamentos de HTTP para HTTPS, a porta 80 deve estar aberta na maioria dos cenários. Por isso, gerenciar as portas 80 e 443 em servidores web é mais prático. O redirecionamento de todas as solicitações HTTP para HTTPS com um 301 é a abordagem mais correta.
Portas Específicas, Bancos de Dados e Painéis de Gerenciamento
É fácil abrir qualquer porta; a verdadeira especialização está em saber quais portas não devem ser abertas. Portas como 3306 para MySQL, 5432 para PostgreSQL, 6379 para Redis e 9200 para Elasticsearch podem representar sérios riscos de segurança quando deixadas abertas para a internet. Esses serviços devem, se possível, ouvir apenas em localhost ou ser acessíveis apenas através de uma rede privada.
Abertura de Porta Específica para um IP
Por exemplo, se você deseja que apenas o servidor de aplicativos acesse o servidor de banco de dados, deve usar uma regra baseada em IP. Comando: sudo ufw allow from 198.51.100.25 to any port 5432 proto tcp. Essa regra abre o acesso ao PostgreSQL apenas para o IP especificado.
Um exemplo incorreto seria usar o comando sudo ufw allow 5432/tcp de forma pública em um banco de dados de produção. Isso cria uma superfície de ataque desnecessária. Para servidores de banco de dados, painéis administrativos e serviços internos, sempre deve-se considerar a limitação do IP de origem.
Cuidados com cPanel, Plesk e Painéis de Gerenciamento
Painéis de controle de hospedagem podem usar várias portas. Se você estiver usando Plesk, cPanel ou um painel de gerenciamento personalizado, não ative o UFW sem verificar a lista de portas oficiais. Caso contrário, o acesso a e-mail, DNS, FTP ou ao painel pode ser interrompido. Para usuários que preferem hospedagem gerenciada, esse tipo de complexidade é geralmente tratado pelo provedor Hospedagem Web.
Exclusão, Edição e Lógica de Ordem de Regras
O gerenciamento de regras com o UFW é simples; no entanto, é importante manter um registro ao fazer alterações em um ambiente de produção. Primeiro, visualize as regras existentes numeradas: sudo ufw status numbered. Encontre o número da regra que deseja excluir e use um comando como sudo ufw delete 5 para removê-la.
Excluir diretamente uma expressão de regra também é possível. Por exemplo, o comando sudo ufw delete allow 8080/tcp remove a regra de permissão para a porta 8080. No entanto, para regras complexas baseadas em IP, a exclusão numerada é mais segura.
A ordem das regras é especialmente importante quando as regras allow e deny são usadas juntas. Se você quiser adicionar uma regra de negação específica antes de uma regra de permissão geral, pode considerar o comando insert. Por exemplo, para negar um IP específico no topo, você pode usar sudo ufw insert 1 deny from 203.0.113.55. Essa abordagem é útil para bloquear rapidamente endereços IP de atacantes ou abusadores.
Monitoramento de Tráfego com Logs do UFW
Um firewall não serve apenas para abrir e fechar portas, mas também é valioso para entender o comportamento da rede. Para ativar os logs do UFW, use o comando sudo ufw logging on. O nível de log pode ser ajustado para low, medium, high ou full, se necessário. Para a maioria dos servidores, low é suficiente como ponto de partida.
Você pode verificar os logs no arquivo /var/log/ufw.log. Um exemplo de comando é: sudo tail -f /var/log/ufw.log. Aqui, você pode ver conexões rejeitadas, endereços IP de origem, portas de destino e informações de protocolo. Por exemplo, se você está recebendo tentativas de conexão na porta 22 de centenas de IPs diferentes em um curto período, é necessário apertar as medidas de segurança SSH.
Manter os logs em um nível elevado continuamente pode aumentar o uso do disco. Portanto, em servidores com tráfego intenso, deve-se considerar rotação de logs, registro centralizado e mecanismos de alerta. Em projetos corporativos, não é apenas importante manter os registros de segurança, mas também monitorá-los de maneira significativa.
Configurações de UFW e IPv6
A partir de 2026, o suporte a IPv6 se tornou padrão em muitos data centers. No entanto, alguns administradores podem deixar uma vulnerabilidade ao considerar apenas regras IPv4. Se o seu servidor receber um endereço IPv6, você deve garantir que o UFW também gerencia o tráfego IPv6.
Para verificar, deve haver a linha IPV6=yes no arquivo /etc/default/ufw. Após fazer alterações, o UFW pode ser reiniciado com: sudo ufw disable e, em seguida, sudo ufw enable. Se você vir regras com a indicação v6 na saída do status do UFW, isso significa que o lado IPv6 também está sendo gerenciado.
Se você não estiver usando IPv6, em vez de desativá-lo completamente, verifique primeiro os requisitos do provedor e da aplicação. Uma configuração incorreta do IPv6 pode permitir que um serviço que você fechou no lado IPv4 permaneça acessível via IPv6. Esse é um erro de segurança comum, mas frequentemente negligenciado.
Por que o UFW Pode Comportar-se Diferente ao Usar Docker?
O Docker pode alterar diretamente as regras do iptables ao expor portas de contêiner. Isso pode ser surpreendente para administradores que usam UFW; pois uma porta que parece estar fechada no UFW pode se tornar acessível externamente devido à configuração de publicação do Docker. Por exemplo, o comando docker run -p 8080:80 publica a porta 80 dentro do contêiner como 8080 no host.
Em servidores que utilizam Docker, as seguintes verificações devem ser feitas:
- Verifique quais portas estão abertas na saída do docker ps.
- Remova definições desnecessárias de -p ou ports.
- Considere publicar serviços apenas em 127.0.0.1.
- Verifique as regras do UFW juntamente com os grupos de segurança na nuvem.
- Em ambientes de produção, faça publicações controladas através de um reverse proxy.
A segurança em arquiteturas de contêiner não se resume apenas aos comandos do UFW. Redes Docker, segurança de imagens, gerenciamento de segredos e estratégias de atualização devem ser planejadas em conjunto. A escolha do servidor certo para aplicações com alto tráfego é tão crítica quanto segurança e desempenho Servidor Dedicado.
Lista de Verificação de Segurança Aplicável para UFW
A lista de verificação abaixo pode ser usada como um padrão prático de início em um novo servidor Linux. Especialmente antes de publicar um projeto web, API, site de comércio eletrônico ou painel de clientes, revisar esses itens ajuda a reduzir riscos de interrupção e segurança.
- Atualize o servidor: sudo apt update && sudo apt upgrade -y.
- Teste o acesso SSH e, se possível, mantenha uma segunda sessão de terminal aberta.
- Rejeite o tráfego de entrada padrão: sudo ufw default deny incoming.
- Permita tráfego de saída padrão: sudo ufw default allow outgoing.
- Permita o acesso à porta SSH ou aplique limitação baseada em IP.
- Abra apenas as portas 80 e 443 para o servidor web.
- Não abra as portas do banco de dados para a internet em geral.
- Ative o UFW: sudo ufw enable.
- Verifique as regras: sudo ufw status verbose e sudo ufw status numbered.
- Ative os logs e monitore o tráfego suspeito nas primeiras 24 horas.
- Revise as regras do IPv6.
- Se você estiver usando Docker ou um painel de controle, teste os efeitos de portas adicionais.
Exemplo Prático: Configuração do UFW para um Servidor WordPress
Vamos supor que um único site WordPress esteja funcionando em Ubuntu com Nginx, PHP-FPM e MySQL. O MySQL escuta apenas em localhost, o site é publicado via HTTPS e o acesso SSH será feito a partir de um IP de administrador. Neste cenário, a configuração do UFW pode ser:
- sudo ufw default deny incoming
- sudo ufw default allow outgoing
- sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
- sudo ufw allow 80/tcp
- sudo ufw allow 443/tcp
- sudo ufw logging on
- sudo ufw enable
- sudo ufw status verbose
Nesta configuração, o SSH não está aberto para acesso público, as duas portas necessárias para o tráfego web estão abertas e o banco de dados está fechado para o exterior. No lado do WordPress, o uso de plugins de segurança, senhas fortes para administradores, temas e plugins atualizados, backups regulares e SSL resultam em uma base bastante sólida. O gerenciamento do domínio e a configuração correta dos registros DNS também são importantes para a acessibilidade Consulta de domínio.
Erros Comuns e Sugestões de Solução
Perdi a Conexão SSH ao Ativar o UFW
Isso geralmente acontece quando o UFW é ativado sem permitir a porta SSH. Se você tiver acesso ao console pelo painel do provedor, conecte-se e adicione a permissão com sudo ufw allow 22/tcp ou para a porta SSH específica que você está usando. Se não houver console, você pode precisar entrar em contato com a equipe de suporte. Portanto, sempre deve-se adicionar a regra SSH antes de ativar o UFW.
O Site Não Está Abrindo
Mesmo que o Nginx ou Apache esteja funcionando, se as portas 80 e 443 estiverem fechadas, o site não poderá ser acessado. Verifique as portas com sudo ufw status verbose. Além disso, confirme a porta que o servidor web está escutando com o comando ss -tulpn. Certifique-se também de que os registros DNS estão corretamente direcionados gerenciamento de DNS.
Serviços de Email Não Estão Funcionando
Servidores de e-mail usam várias portas para SMTP, IMAP, POP3 e suas variações seguras. Portas como 25, 465, 587, 993, 995 podem ser necessárias dependendo do cenário. Se você estiver usando um serviço de hospedagem de e-mail, pode não ser necessário abrir essas portas em seu servidor hosting de e-mail corporativo.
Adicionei uma Regra, mas Não Teve Efeito
Protocolos incorretos, portas erradas, efeitos do Docker, grupos de segurança na nuvem ou a aplicação escutando em uma porta diferente podem causar isso. A regra do UFW gerencia o filtro na camada de rede; se a aplicação não estiver funcionando, mesmo que a porta esteja aberta, não fornecerá serviço. Portanto, o firewall, o status do serviço e as regras do provedor de rede devem ser verificados em conjunto.
Melhores Práticas de Segurança do UFW para 2026
A segurança atual do servidor é mais abrangente do que apenas fechar algumas portas. Uma boa configuração do UFW em 2026 deve ser apoiada pelos seguintes princípios:
- Menor privilégio: abra apenas as portas realmente necessárias.
- Segurança de autenticação: utilize acesso baseado em chave para SSH.
- Limitação de IP: mantenha portas de gerenciamento atrás de IPs fixos ou VPN.
- Observabilidade: monitore regularmente os logs do UFW e os logs do sistema.
- Plano de contingência: tenha acesso ao console ou um procedimento de recuperação para regras de firewall incorretas.
- Segurança em camadas: use o UFW em conjunto com WAF, SSL, atualizações, backups e segurança de aplicativos.
- Documentação: mantenha registro do motivo de cada regra ser adicionada dentro da equipe.
Um firewall bem configurado é uma parte complementar de uma infraestrutura de hospedagem confiável e performática. À medida que o tráfego do seu projeto cresce, não apenas as regras de porta, mas também o uso de recursos, backups, CDN, SSL e soluções de monitoramento devem ser planejados Pacotes de hosting.
Perguntas Frequentes
Ativar o UFW torna meu servidor completamente seguro?
Não. O UFW reduz a superfície de ataque e fornece uma camada de segurança importante ao fechar portas desnecessárias; no entanto, não é suficiente por si só. Deve ser usado em conjunto com atualizações, chave SSH, senhas fortes, SSL, backups e segurança de aplicativos.
É suficiente abrir as portas 80 e 443 com o UFW?
Para um site, geralmente as portas 80 e 443 são suficientes. No entanto, você também precisa abrir a porta 22 ou uma porta SSH específica de forma segura para gerenciamento. As portas de banco de dados e do painel de gerenciamento devem, se possível, ser limitadas por IP.
Mudar a porta SSH aumenta a segurança?
Mudar a porta SSH pode reduzir tentativas automáticas de bots; no entanto, não deve ser vista como uma medida de segurança real. Abordagens mais robustas incluem o uso de chave SSH, desativar o acesso por senha, aplicar limitação de IP e utilizar o UFW limit ou fail2ban.
As regras do UFW também controlam contêineres Docker?
Nem sempre da maneira que você espera. O Docker pode alterar diretamente as regras do iptables ao publicar portas. Portanto, em servidores que usam Docker, a saída docker ps, portas publicadas e regras do UFW devem ser verificadas em conjunto.
Devo verificar as configurações do IPv6 ao usar o UFW?
Sim. Se o seu servidor receber um endereço IPv6, você deve garantir que o UFW também gerencie o tráfego IPv6. A configuração IPV6=yes deve ser verificada no arquivo /etc/default/ufw e as regras do UFW status devem ser confirmadas.
Resumindo, o gerenciamento de firewall com UFW em servidores Linux pode ser feito de maneira rápida, legível e eficaz. Com as regras de início corretas, segurança SSH, abertura controlada de portas web e monitoramento de logs, você pode reduzir significativamente a superfície de ataque do seu servidor. Se você estiver lançando um novo projeto, planejar uma infraestrutura de hospedagem segura, SSL e etapas de manutenção regulares resultará em resultados mais saudáveis a longo prazo. Para selecionar a infraestrutura adequada às suas necessidades, você pode conferir as soluções da Hostragons e desenvolver sua configuração de segurança gradualmente conforme seus objetivos de crescimento.