Se você administra um servidor linux e já se deparou com portas expostas sem necessidade ou serviços que deveriam estar protegidos, então precisa configurar um firewall.
Em computadores que tem o ubuntu ou debian instalado é possível usar o firewall ufw para controlar o acesso.
Neste guia, você vai aprender o que é o UFW, como instalá-lo, saber como usa-lo e aplicar regras que podem ser utilizadas para filtrar o trafego que chega ao desktop ou servidor linux ubuntu.
IMPORTANTE
Para executar todos os comandos deste artigo é necessário ter privilégios administrativos, ou seja, você deve usar o usuário root ou o comando sudo, e a distribuição linux instalada no servidor ou desktop é o debian ou ubuntu.
O que é ufw firewall
O UFW (Uncomplicated Firewall) é uma ferramenta desenvolvida para simplificar a gestão de regras de filtragem de pacotes no kernel linux.
Ele funciona como uma interface amigável para o iptables (ou nftables), permitindo que administradores configurem regras de firewall sem a necessidade de memorizar sintaxes complexas.
Por padrão, ele já vem pré-instalado no ubuntu, mas também pode ser facilmente instalado no debian e em outras distribuições linux derivadas.
Caso não esteja instalado no ubuntu ou debian, você pode instala-lo com os seguintes comandos:
apt update
apt install ufw -yUtilizando o firewall ufw no ubuntu
O Primeiro passo para usar o firewall ufw é aprender sua sintaxe básica, que é extremamente intuitiva e segue a estrutura:
ufw [ação] [direção] [porta/serviço]Explicação:
ufw – comando usado para gerenciar as regras de firewall.
ação – Define o que o firewall ufw deve fazer com o tráfego: allow (permite), deny (bloqueia) ou reject (bloqueia e informa a rejeição).
direção – Define a direção do tráfego à qual a regra se aplica: in (entrada do trafego) e out (saída do trafego).
porta/serviço – Especifica a porta ou o nome do serviço em que a ação e direção será aplicada.
Abaixo, confira a tabela com os principais comandos internos do utilitário ufw, suas descrições e exemplos práticos de utilização:
| Comandos | Descrição | Exemplos de Uso |
|---|---|---|
| enable | Ativa a proteção do firewall e aplica as regras configuradas na inicialização. | ufw enable |
| disable | Desativa todas as regras de filtragem do firewall sem apagá-las. | ufw disable |
| status | Exibe o estado atual (ativo/inativo) e a lista de regras aplicadas. | ufw status |
| allow | Permite o tráfego de rede para uma porta, serviço ou endereço IP especifico. | ufw allow 143/tcp |
| deny | Bloqueia silenciosamente a conexão em uma porta ou origem informada. | ufw deny 23 |
| delete | Remove uma regra criada anteriormente na tabela do firewall. | ufw delete allow 22 |
Para aprender mair a seguir será abordado exemplos práticos de uso do firewall ufw no ubuntu.
Habilitar e verificar o status do firewall ufw
Em ambientes de produção, verificar se o firewall está ativo ou inativo é o primeiro passo. Para checar o status atual execute os comandos abaixo:
ufw status
Se a saída exibir o valor “inactive”, significa que está desativado. Você pode ativar a proteção do firewall ufw assim:
ufw enableAo ativar o serviço, as regras definidas entram em vigor imediatamente e o serviço passa a rodar automaticamente junto com o sistema operacional.
Definir políticas padrão de acesso (Default Policies)
Uma boa prática de segurança em infraestrutura de TI é bloquear todo o tráfego de entrada e permitir somente o tráfego de entrada e saída necessário.
Por exemplo, execute o comando a seguir para definir que o trafego de entrada por padrão será bloqueado, assim somente o trafego que você autorizar será permitido:
ufw default deny incomingPara autorizar todo o trafego de saída execute o comando:
ufw default allow outgoingCom esses comandos, qualquer tentativa de conexão externa não autorizada será negada por padrão, enquanto o servidor continuará acessando a internet normalmente para atualizações de pacotes.
Para verificar o status e também as políticas padrões de acesso execute:
ufw status verbose
Liberação de portas específicas
Na infraestrutura de empresas, as regras devem ser inclusas antes de executar “ufw enable”, caso contrário uma conexão existente poderá ser interrompida ou novos acessos poderão ser bloqueados.
Para garantir que você continue gerenciando o servidor via SSH após ativar o firewall, a liberação da porta de administração (SSH) deve ser realizada imediatamente.
ufw allow sshO firewall UFW fará a resolução do nome com base no arquivo “/etc/services”, o que nem sempre vai coincidir com a porta atualmente configurada.
Caso o SSH utilize uma porta personalizada (como a 2222), basta especificar a porta desejada.
ufw allow 2222/tcpExemplo 2: Você administra um servidor ubuntu e precisa garantir que o acesso SMTP do serviço de e-mail postfix continue funcionando depois da ativação do firewall, adicione uma regra:
ufw allow smtpExemplo 3: Em um servidor que hospeda um site com Apache ou Nginx, normalmente é necessário permitir as portas 80 e 443:
ufw allow http/tcp
ufw allow https/tcpA porta 80 atende por HTTP e a 443 atende por HTTPS. Essa configuração é comum em servidores web.
Permitir conexões de um endereço IP específico
Em empresas que possuem endereços IP estáticos no escritório, é recomendável restringir acessos a sistemas como, bancos de dados ou painéis administrativos apenas para alguns computadores da organização.
A regra a seguir autoriza conexões para o servidor MySQL ou MariaDB exclusivamente ao IP “192.168.213.3”:
ufw allow from 192.168.213.3 to any port 3306
Se o IP informado tentar acessar a porta 3306 (TCP ou UDP), a conexão será aceita, mas qualquer outro endereço tentando acessar a mesma porta será bloqueado.
Permitir acesso a partir de uma sub-rede
Quando uma aplicação precisa se comunicar com uma rede de origem conectada através de uma VPN, especificar IP por IP torna-se inviável.
Nesses casos, liberar o endereço da sub-rede é mais recomendado. No exemplo a seguir é liberado o acesso a partir da rede “10.10.30.0/24” para uma aplicação que recebe conexões na porta 8080 TCP:
ufw allow from 10.10.30.0/24 to any port 8080 proto tcp
Dessa forma, todos os hosts no intervalo de “10.10.30.1” até “10.10.30.254” terão acesso garantido à aplicação na porta “8080” TCP.
Liberação de perfis de aplicação
O UFW possui integração nativa com o gerenciador de pacotes do sistema. Quando você instala serviços como: postfix, openssh, Nginx ou Apache, eles registram perfis de aplicação contendo as portas padrão necessárias para funcionamento.
Para listar os perfis existentes no linux execute:
ufw app list
E para autorizar acesso as portas que a aplicação usa, por exemplo, permitir acesso as portas do perfil “Postfix”, execute:
ufw allow 'Postfix'Permitir conexões em uma interface de rede específica
Servidores normalmente possuem mais de uma placa de rede (física ou virtual), como eth0 para a internet e eth1 para a rede privada do servidor. E você pode atrelar regras diretamente à interface desejada.
Essa abordagem garante que serviços de gerenciamento fiquem expostos apenas na interface privada e inacessíveis pela rede externa. Por exemplo, para aceitar conexões pela placa de rede enp0s3 na porta 123, execute:
ufw allow in on enp0s3 to any port 123
Essa regra autoriza o tráfego NTP entrando pela interface de rede “enp0s3“, mantendo a porta fechada para solicitações vindas de outras placas de rede.
Deletar regras existentes
Com o passar do tempo, você pode precisar remover regras existentes que já não são mais úteis. A forma mais segura de fazer isso é primeiro listar as regras existentes numerado-as.
ufw status numbered
O firewall ufw exibe um número ao lado de cada regra. Em seguida, basta executar “ufw delete” seguido do número da regra que será apagada.
ufw delete 7

Será aberto um prompt, perguntando se quer proceder com a operação, ou seja, se deseja apagar digite “y” e tecle ENTER, caso não queira apagar digite “n” e tecle ENTER em seguida.
Ativar o log do firewall ufw
Em um ambiente profissional, manter registros do trafego (bloqueios ou autorizações) pode ajudar na análise de problemas de conectividade e na investigação de tentativas de acesso.
O firewall ufw suporta vários níveis de logs (low, medium, high e full), “low” é o nível mais baixo e registra todos os pacotes bloqueados que não correspondem à política definida, bem como os pacotes que correspondem às regras registradas.
O gerenciador de logs (syslog ou rsyslog) armazena os logs em “/var/log/ufw.log”, após ativar os logs no ufw com o comando:
ufw logging on low
Depois, você pode consultar o estado do firewall ufw:
ufw status verboseCaso precise de mais registros pode utilizar outro nível (medium, high ou full), mas o logging do ufw deve ser utilizado com precaução, principalmente em servidores que recebem grande volume de tráfego, pois podem gerar bastante informação nos logs do sistema, ocupando muito espaço de armazenamento.
Reiniciar e redefinir as configurações do ufw
Após testes e mais testes você pode precisar desfazer todas as mudanças restaurando o estado inicial do sistema. O comando “reset” do firewall ufw remove todas as regras criadas e desativa-o.
Mas antes é recomendado fazer um backup de todas as regras com o comando tar:
tar -cf ufw-backup.tar /etc/ufw/Após concluir o backup, você pode resetar a configuração do ufw:
ufw reset
O comando ufw abre um prompt perguntando se deseja proceder resetando todas as regras para o padrão, se quer “resetar” digite “y” e tecle ENTER, caso não queira digite “n” e tecle ENTER.
AVISO
Lembre-se de ter acesso ao console do sistema ao executar essa operação para evitar ficar trancado fora do servidor.
Para restaurar toda a configuração, execute os comandos a seguir na sequência apresentada:
ufw enable # habilita o ufw
systemctl stop ufw # para o serviço ufw
tar -xf ufw-backup.tar -C / # restaura a configuração do ufw
systemctl start ufw # inicia o serviço ufwPara aprender mais sobre o comando tar acesse nosso artigo completo que ensina várias operações utilizando o tar no linux.
Conclusão
Configurar o firewall ufw é uma das formas mais práticas de proteger servidores ubuntu ou debian de conexões não autorizadas. Com os comandos apresentados neste artigo, você consegue gerenciar acesso as portas, IPs e perfis de aplicações.
Para aprofundar seus estudos, consulte a documentação oficial do UFW. É recomendado manter sempre suas regras atualizadas e aplique o princípio de acesso mínimo para garantir um ambiente protegido.
Ficou com alguma dúvida sobre o firewall ufw ou tem alguma sugestão de comando ? Deixe seu comentário abaixo para podermos trocar ideias e melhorar a segurança do linux nos servidores!
Perguntas frequentes (FAQ) sobre firewall ufw
O UFW já vem ativado por padrão no Ubuntu ?
Não. Embora a ferramenta venha pré-instalada na maioria das versões do Ubuntu, o serviço permanece desativado por padrão. É necessário configurar as regras iniciais e ativá-lo manualmente com o comando: sudo ufw enable
Posso perder a conexão SSH ao ativar o Firewall UFW ?
Sim, caso você ative o firewall sem antes liberar explicitamente a porta do serviço SSH (porta 22 por padrão). Recomenda-se sempre executar “ufw allow ssh” antes de habilitar o ufw para evitar o bloqueio do seu próprio acesso.
Qual é a diferença entre os comandos deny e reject do firewall ufw ?
O comando “deny” descarta silenciosamente o pacote de conexão sem avisar a origem. Já o comando “reject” bloqueia o tráfego, mas envia uma mensagem de resposta ICMP informando ao remetente que a conexão foi recusada.
Como liberar um intervalo específico de portas ?
Para liberar um intervalo de portas (como de 8080 a 8081), você deve informar o intervalo seguido do protocolo TCP ou UDP, Exemplo: ufw allow 8080:8081/tcp

