Skip to main content

UFW | Linux

  • UFW | Linux

📖 Documentação Completa do UFW (Uncomplicated Firewall)

O UFW (Uncomplicated Firewall) é uma interface simplificada para gerenciar as regras do firewall iptables no Linux. Ele facilita a configuração de regras de segurança sem precisar lidar diretamente com o iptables.


🔥 Comandos Básicos

Iniciar, Parar e Reiniciar o UFW

sudo ufw enable       # Ativa o firewall
sudo ufw disable # Desativa o firewall
sudo ufw reload # Recarrega as regras do firewall
sudo ufw reset # Reseta todas as regras para o padrão

Verificar o Status do Firewall

sudo ufw status              # Mostra se o UFW está ativo e suas regras
sudo ufw status verbose # Exibe detalhes das regras
sudo ufw status numbered # Exibe as regras numeradas para facilitar a remoção
sudo ufw show raw # Mostra as regras diretamente no formato iptables

Nota: O comando ufw status numbered é útil para visualizar as regras com um número de índice, o que facilita a remoção de regras específicas.


🔑 Gerenciamento de Regras

Permitir Conexões

sudo ufw allow <porta>       # Permite uma porta específica (ex: 80, 443)
sudo ufw allow <porta>/tcp # Permite uma porta específica para TCP
sudo ufw allow <porta>/udp # Permite uma porta específica para UDP
sudo ufw allow from <IP> # Permite todo o tráfego de um IP específico
sudo ufw allow from <IP> to any port <porta> # Permite tráfego de um IP para uma porta
sudo ufw allow <serviço> # Permite um serviço específico (ex: ssh, http, https)

Exemplos:

sudo ufw allow 22/tcp        # Permite conexões SSH
sudo ufw allow 80/tcp # Permite conexões HTTP
sudo ufw allow 443/tcp # Permite conexões HTTPS
sudo ufw allow from 192.168.1.100 to any port 3306 # Permite um IP acessar MySQL

Bloquear Conexões

sudo ufw deny <porta>        # Bloqueia uma porta específica
sudo ufw deny <porta>/tcp # Bloqueia uma porta específica para TCP
sudo ufw deny from <IP> # Bloqueia tráfego de um IP específico
sudo ufw deny from <IP> to any port <porta> # Bloqueia tráfego de um IP para uma porta
sudo ufw deny <serviço> # Bloqueia um serviço específico

Exemplos:

sudo ufw deny 23/tcp         # Bloqueia Telnet
sudo ufw deny from 203.0.113.100 # Bloqueia tráfego de um IP específico

Deletar Regras

sudo ufw delete allow <porta>   # Remove uma regra de permissão
sudo ufw delete deny <porta> # Remove uma regra de bloqueio
sudo ufw delete allow from <IP> # Remove uma regra específica
sudo ufw delete <número> # Remove a regra numerada (use `ufw status numbered` para ver os números)

Exemplo:

sudo ufw delete allow 22/tcp   # Remove a permissão de SSH
sudo ufw delete deny 23/tcp # Remove o bloqueio de Telnet
sudo ufw status numbered # Mostra regras numeradas
sudo ufw delete 3 # Remove a regra número 3

🔍 Gerenciamento de Perfis de Aplicação

O UFW permite regras predefinidas para aplicativos que possuem um perfil definido.

sudo ufw app list        # Lista os aplicativos com regras predefinidas
sudo ufw app info <app> # Mostra detalhes de um perfil de aplicativo
sudo ufw allow <app> # Permite conexões de um aplicativo específico
sudo ufw deny <app> # Bloqueia conexões de um aplicativo específico

Exemplo:

sudo ufw app list
sudo ufw app info OpenSSH
sudo ufw allow OpenSSH

📡 Regras Avançadas

Permitir ou Bloquear Conexões para Redes Internas

sudo ufw allow from 192.168.1.0/24   # Permite toda a rede 192.168.1.0/24
sudo ufw deny from 10.0.0.0/8 # Bloqueia a rede 10.0.0.0/8

Permitir Conexões em Intervalo de Portas

sudo ufw allow 1000:2000/tcp    # Permite conexões TCP entre as portas 1000 e 2000
sudo ufw allow 6000:7000/udp # Permite conexões UDP entre as portas 6000 e 7000

Redirecionamento de Portas (NAT)

sudo ufw route allow in on eth0 out on eth1 to 192.168.1.100 port 22

Definir Política Padrão

sudo ufw default allow outgoing  # Permitir conexões de saída
sudo ufw default deny incoming # Bloquear conexões de entrada por padrão
sudo ufw default deny outgoing # Bloquear conexões de saída por padrão

🔄 Gerenciamento de Logs

Ativar ou Desativar Logs

sudo ufw logging on     # Ativa logs
sudo ufw logging off # Desativa logs
sudo ufw logging high # Define o nível de log como "alto"
sudo ufw logging low # Define o nível de log como "baixo"

Visualizar Logs do UFW

sudo tail -f /var/log/ufw.log  # Exibe logs em tempo real

🛠️ Modo Avançado (Manipulação de Regras com iptables)

O UFW é apenas uma interface para iptables, então você pode ver suas regras diretamente:

sudo iptables -L          # Lista as regras do iptables
sudo iptables -L -v -n # Lista regras detalhadas

🔄 Desbloquear e Corrigir Problemas

Se você se bloqueou (por exemplo, ao bloquear o SSH sem permitir antes), pode reverter usando:

sudo ufw reset
sudo ufw allow OpenSSH
sudo ufw enable

🎯 Conclusão

O UFW é uma ferramenta poderosa para gerenciar firewall de forma simples. Ele permite criar regras de segurança eficientes para proteger seu servidor sem precisar lidar diretamente com o iptables.

Se precisar de um script personalizado para seu cenário, posso ajudar a gerar um baseado nas suas necessidades! 🚀