User Tools

Site Tools


wiki:linux:comandos:comando_ufw

Exemplos do comando ufw

Nível Básico

  • Verificar o status do `ufw`:
    1. sudo ufw status
    2. Exibe o status atual do firewall, incluindo se ele está ativo e as regras configuradas.
  • Ativar o `ufw`:
    1. sudo ufw enable
    2. Ativa o firewall `ufw`.
  • Desativar o `ufw`:
    1. sudo ufw disable
    2. Desativa o firewall `ufw`.
  • Permitir conexões SSH (porta 22):
    1. sudo ufw allow ssh
    2. Permite conexões na porta `22` para SSH.
  • Permitir conexões HTTP (porta 80):
    1. sudo ufw allow http
    2. Permite conexões na porta `80` para HTTP.
  • Permitir conexões HTTPS (porta 443):
    1. sudo ufw allow https
    2. Permite conexões na porta `443` para HTTPS.
  • Bloquear uma porta específica:
    1. sudo ufw deny 8080
    2. Bloqueia o tráfego na porta `8080`.
  • Listar todas as regras do `ufw`:
    1. sudo ufw status numbered
    2. Exibe todas as regras do `ufw` numeradas, permitindo remoções específicas.
  • Remover uma regra por número:
    1. sudo ufw delete 2
    2. Remove a segunda regra listada pelo comando `ufw status numbered`.

Nível Intermediário

  • Permitir tráfego em uma faixa de portas (por exemplo, 1000 a 2000):
    1. sudo ufw allow 1000:2000/tcp
    2. Permite conexões em todas as portas entre `1000` e `2000` via protocolo `TCP`.
  • Permitir tráfego de uma faixa de IPs:
    1. sudo ufw allow from 192.168.1.0/24
    2. Permite o tráfego de toda a rede `192.168.1.0/24`.
  • Bloquear um endereço IP específico:
    1. sudo ufw deny from 203.0.113.100
    2. Bloqueia todas as conexões do endereço IP `203.0.113.100`.
  • Permitir conexões de um IP específico a uma porta:
    1. sudo ufw allow from 192.168.1.100 to any port 22
    2. Permite conexões SSH (porta `22`) apenas do IP `192.168.1.100`.
  • Configurar regras por interface de rede:
    1. sudo ufw allow in on eth0 to any port 80
    2. Permite conexões HTTP (porta `80`) na interface de rede `eth0`.
  • Bloquear conexões de saída (outgoing):
    1. sudo ufw default deny outgoing
    2. Define a política padrão para bloquear todas as conexões de saída.
  • Permitir conexões de saída (outgoing):
    1. sudo ufw default allow outgoing
    2. Define a política padrão para permitir todas as conexões de saída.
  • Permitir conexões FTP (portas 20 e 21):
    1. sudo ufw allow ftp
    2. Permite conexões FTP via portas `20` e `21`.
  • Reiniciar as regras do firewall para o estado padrão:
    1. sudo ufw reset
    2. Restaura as configurações padrão do `ufw`, removendo todas as regras personalizadas.

Nível Avançado

  • Adicionar regras específicas para IPv6:
    1. sudo ufw allow from 2001:db8::/32 to any port 22 proto tcp
    2. Permite conexões SSH (porta `22`) de uma rede IPv6 (`2001:db8::/32`).
  • Permitir tráfego apenas em uma interface de rede específica:
    1. sudo ufw allow in on eth1 to any port 443 proto tcp
    2. Permite conexões HTTPS (porta `443`) apenas na interface de rede `eth1`.
  • Bloquear tráfego de uma rede inteira:
    1. sudo ufw deny from 203.0.113.0/24
    2. Bloqueia o tráfego de toda a rede `203.0.113.0/24`.
  • Permitir todos os serviços DNS (porta 53):
    1. sudo ufw allow 53
    2. Permite o tráfego na porta `53` para consultas DNS.
  • Configurar uma regra para um aplicativo específico (usando perfis de aplicativo):
    1. sudo ufw app list

      <br>

sudo ufw allow "Nginx Full"
  1. Exibe a lista de aplicativos disponíveis e permite todos os perfis de `Nginx` (HTTP e HTTPS).
  • Permitir conexões SNMP (porta 161) de uma rede específica:
    1. sudo ufw allow from 192.168.1.0/24 to any port 161
    2. Permite conexões SNMP na porta `161` da rede `192.168.1.0/24`.
  • Limitar conexões SSH para evitar ataques de força bruta:
    1. sudo ufw limit ssh
    2. Limita as tentativas de conexão SSH, permitindo apenas 6 tentativas por minuto de um IP.

Nível Especializado

  • Permitir tráfego para múltiplas portas com um único comando:
    1. sudo ufw allow 80,443/tcp
    2. Permite conexões nas portas `80` (HTTP) e `443` (HTTPS) via protocolo `TCP` com um único comando.
  • Bloquear pacotes ICMP (ping):
    1. sudo ufw deny proto icmp
    2. Bloqueia todos os pacotes ICMP, impedindo que a máquina responda a `ping`.
  • Criar regras complexas com múltiplos parâmetros:
    1. sudo ufw allow proto tcp from 203.0.113.100 to any port 22 comment "Acesso SSH para manutenção"
    2. Permite o tráfego TCP na porta `22` (SSH) apenas do IP `203.0.113.100`, com um comentário “Acesso SSH para manutenção”.
  • Permitir redirecionamento de porta (Port Forwarding):
    1. sudo ufw route allow proto tcp from any to any port 80
    2. Configura o firewall para permitir o redirecionamento de tráfego da porta `80` (HTTP).
  • Monitorar tentativas de conexão bloqueadas:
    1. sudo ufw logging on

      <br>

sudo tail -f /var/log/ufw.log
  1. Habilita o log de firewall e monitora tentativas de conexão bloqueadas em tempo real.
  • Desativar completamente o log do `ufw`:
    1. sudo ufw logging off
    2. Desativa o log de firewall para evitar sobrecarga do sistema.
  • Permitir conexões temporárias em uma porta específica:
    1. sudo ufw allow 3000/tcp comment "Acesso temporário" && sleep 3600 && sudo ufw delete allow 3000/tcp
    2. Permite conexões temporárias na porta `3000` por 1 hora, removendo a regra automaticamente após esse tempo.
  • Visualizar regras de firewall para IPv6 separadamente:
    1. sudo ufw status verbose | grep v6
    2. Exibe apenas as regras de firewall configuradas para IPv6.
  • Permitir tráfego para um serviço personalizado via arquivo de perfil:
    1. Criar o arquivo de perfil:<br>
sudo nano /etc/ufw/applications.d/meuservico

<br>

  1. Adicionar o seguinte conteúdo:<br>

```ini

    [MeuServico]
    title=Meu Serviço Personalizado
    description=Permite conexões TCP para Meu Serviço
    ports=12345/tcp
    ```
  - **Permitir o serviço com o perfil criado:**<br>
    <code>sudo ufw allow "MeuServico"</code>
  - Cria um perfil personalizado para um serviço na porta `12345` e permite o tráfego para ele.
wiki/linux/comandos/comando_ufw.txt · Last modified: by Wiki Administrator