Como Configurar e Utilizar o Firewall do Ubuntu com UFW

Quando pensamos em segurança de servidores Linux, o firewall é uma das primeiras linhas de defesa que devemos considerar. No Ubuntu, essa tarefa se torna simples graças ao UFW (Uncomplicated Firewall), uma ferramenta criada para facilitar a configuração das regras de firewall utilizando o sistema tradicional iptables.

Neste artigo, você vai aprender como utilizar o UFW para proteger seu servidor Ubuntu, explorando desde os comandos básicos até configurações mais avançadas, como liberação por IP de origem, serviços e protocolos específicos.

O que é o UFW?

O UFW é um frontend para o iptables, projetado para facilitar o gerenciamento de regras de firewall, tanto para iniciantes quanto para administradores experientes. Ele já vem pré-instalado na maioria das versões do Ubuntu, e seu principal objetivo é simplificar a configuração de um firewall seguro sem necessidade de escrever longas e complexas linhas de comando do iptables.

Habilitando e desabilitando o firewall

Antes de mais nada, é importante verificar se o UFW está ativo no seu sistema. Para isso, você pode utilizar os seguintes comandos:

Ativar o UFW

sudo ufw enable

Esse comando ativa o firewall imediatamente, aplicando as regras já configuradas. Se for a primeira vez que você o ativa, todas as conexões de entrada serão bloqueadas por padrão, enquanto todas as saídas serão permitidas.

Desativar o UFW

sudo ufw disable

Esse comando desativa o firewall, removendo as regras aplicadas até então. Use com cautela, principalmente em servidores em produção.

Verificar o status

sudo ufw status verbose

Com o parâmetro verbose, você obtém informações detalhadas sobre as regras aplicadas e o status atual do firewall.

Gerenciamento do UFW com systemctl

Embora o UFW atue como uma camada acima do iptables, ele também funciona como um serviço do sistema e pode ser controlado via systemctl.

Ativar ou desativar o UFW na inicialização do sistema

sudo systemctl enable ufw
sudo systemctl disable ufw

Esses comandos controlam se o UFW será iniciado automaticamente com o sistema.

Iniciar ou parar manualmente o serviço

sudo systemctl start ufw
sudo systemctl stop ufw

Verificar o status do serviço

sudo systemctl status ufw

Configuração de regras de firewall

Agora que entendemos como controlar o serviço, vamos às regras que definem o que entra ou sai do seu servidor.

Permitir tráfego em portas e protocolos específicos

Porta e protocolo explícito

sudo ufw allow 53/udp
sudo ufw allow 53/tcp

Porta em ambos os protocolos (TCP e UDP)

sudo ufw allow 53

Bloquear uma porta

Para bloquear uma porta específica:

sudo ufw deny 21

Excluindo regras

Você pode remover uma regra de duas formas: informando diretamente ou utilizando a numeração das regras.

Excluir uma regra diretamente

sudo ufw delete allow 53/tcp

Verificar regras numeradas

sudo ufw status numbered

Excluir uma regra por número

sudo ufw delete 3

Trabalhando com IPs e faixas de rede

O UFW também permite regras baseadas em IPs de origem ou sub-redes.

Permitir acesso de um IP específico

sudo ufw allow from 192.168.0.15

Permitir acesso de uma faixa de IPs (CIDR)

sudo ufw allow from 10.0.0.0/8

Permitir acesso a uma porta específica de um IP

sudo ufw allow from 192.168.0.15 to any port 53

Combinando IP, porta e protocolo

sudo ufw allow from 10.0.0.0/8 to any port 22 proto tcp

Para bloquear acessos da mesma forma, basta substituir o allow por deny.

Utilizando nomes de serviços

O UFW também permite utilizar nomes de serviços reconhecidos no arquivo /etc/services. Por exemplo:

sudo ufw allow ssh

Esse comando permite conexões na porta padrão do SSH (22/tcp).

Controle de logs

Para habilitar ou desabilitar os logs do UFW, use:

sudo ufw logging on
sudo ufw logging off

Os logs ajudam a monitorar atividades e identificar possíveis tentativas de acesso indevido.

Controlando o tráfego ICMP (ping)

Por padrão, o UFW permite respostas a pacotes ICMP (como o comando ping). Caso queira bloquear pings, é necessário editar o arquivo /etc/ufw/before.rules:

Procure as seguintes linhas:

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

E altere para:

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Depois disso, reinicie o serviço do UFW:

sudo systemctl restart ufw

Considerações finais

O UFW é uma ferramenta extremamente útil e poderosa para a administração de firewalls no Ubuntu. Mesmo com uma curva de aprendizado baixa, ele oferece controle preciso sobre o tráfego de rede e ajuda a proteger seu servidor contra acessos indevidos.

Se você administra servidores Ubuntu ou mesmo estações de trabalho, aprender a usar o UFW é um passo essencial para garantir a segurança do seu ambiente.

Referências

Caso tenha alguma dúvida a respeito deste tópico sinta-se à vontade para entrar em contato

Rolar para cima