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
- Documentação oficial do UFW – Ubuntu
- Página do manual do UFW (
man ufw
) - Guia de segurança do Ubuntu
/etc/services
– Arquivo de serviços padrão do sistema Linux
Caso tenha alguma dúvida a respeito deste tópico sinta-se à vontade para entrar em contato