Gerenciando Firewall com UFW

UFW é um programa que gerencia o firewall Netfilter.   UFW serve como interface entre o usuário e o firewall  e tem como objetivo  facilitar.

Certamente você já ouviu falar do iptables. Iptables  é um programa que de firewall que serve para definir grupo de regras. Iptables foi substituído pelo nftables. Iptables era desenvolvido pelo time da netfilter mas recebia melhorias da comunidade.

Mas voltando ao assunto, UFW tem funcionalidade semelhante na sua essência: alterar o firewall netfilter de facilitadamente.

 

Exemplos de Utilização do UFW

 

UFW: Iniciando, Parando, Resetando e Vendo Status

 

  1. Vendo o Status do UFW com “sudo ufw status”
    elder@ubuntu:~$ sudo ufw status
    Estado: inativo
  2. Ativando e Fazendo o UFW iniciar durante o boot com  “sudo ufw enable”. Digite “s” quando solicitado.
    elder@ubuntu:~$ sudo ufw enable 
    O comando pode romper conexões ssh existentes. Proceder com a operação (s|n)? s
    Firewall está ativo e habilitado na inicialização do sistema
  3. Vendo o status novamente
    elder@ubuntu:~$ sudo ufw status
    Estado: ativo
    
  4. Desabilitando o firewall e fazendo com que ele não inicie durante o boot com “sudo ufw disable”
    elder@ubuntu:~$ sudo ufw disable
    Firewall parado e desativado na inicialização do sistema
  5. Reativando e vendo a versão
    elder@ubuntu:~$ sudo ufw enable
    O comando pode romper conexões ssh existentes. Proceder com a operação (s|n)? s
    Firewall está ativo e habilitado na inicialização do sistema
    elder@ubuntu:~$ sudo ufw --version
    ufw 0.35
    Copyright 2008-2015 Canonical Ltd.
  6. Se quiséssemos resetar o UFW usaríamos “ufw reset”. Digite s quando solicitado.
    elder@ubuntu:~$ sudo ufw reset
    Reconfigurando todas as regras para os padrões instalados. Isso pode romper
    conexões ssh existentes. Proceder com operação (s|n)? s
    Salvando 'user.rules' para '/etc/ufw/user.rules.20210527_173409'
    Salvando 'before.rules' para '/etc/ufw/before.rules.20210527_173409'
    Salvando 'after.rules' para '/etc/ufw/after.rules.20210527_173409'
    Salvando 'user6.rules' para '/etc/ufw/user6.rules.20210527_173409'
    Salvando 'before6.rules' para '/etc/ufw/before6.rules.20210527_173409'
    Salvando 'after6.rules' para '/etc/ufw/after6.rules.20210527_173409'
    

    O Firewall ficará inativo, Ative-o novamente.

    elder@ubuntu:~$ sudo ufw enable

UFW: Permitindo e Negando Acesso

 

  1. Permitindo conexão na porta 22.
    elder@ubuntu:~$ sudo ufw allow 22
    Regra adicionada
    Regra adicionada (v6)
    

    Poderíamos também acrescentar o protocolo(tcp, udp)

    elder@ubuntu:~$ sudo ufw allow 22/tcp
    
  2. Desabilitando a porta 80
    elder@ubuntu:~$ sudo ufw deny   80
    Regra adicionada
    Regra adicionada (v6)
  3.  Liberando apenas entrada de dados na porta 443. Aqui, “in” significa entrada
    elder@ubuntu:~$ sudo ufw allow in 443
  4. Negando saída de dados para smtp. Aqui “out” quer dizer saída. Podemos usar o nome do protoclo(smtp, pop) ou a porta referente, como 587 ou 465 para smtp. Usarei  o nome do protocolo.
    elder@ubuntu:~$ sudo ufw deny out smtp
  5. Veja o status novamente e olhe as regras que configuramos.
    elder@ubuntu:~$ sudo ufw status
    Estado: ativo
    
    Para                       Ação        De
    ----                       ----        --
    22                         ALLOW       Anywhere                  
    22/tcp                     ALLOW       Anywhere                  
    80                         DENY        Anywhere                  
    443                        ALLOW       Anywhere                  
    22 (v6)                    ALLOW       Anywhere (v6)             
    22/tcp (v6)                ALLOW       Anywhere (v6)             
    80 (v6)                    DENY        Anywhere (v6)             
    443 (v6)                   ALLOW       Anywhere (v6)             
    
    25/tcp                     DENY OUT    Anywhere                  
    25/tcp (v6)                DENY OUT    Anywhere (v6)
  6. Podemos usar uma forma mais completa ainda. Abaixo negamos acesso usando protocolo tcp à porta 80 para qualquer(to any)  endereço.
    elder@ubuntu:~$ sudo ufw deny proto tcp to any port 80
  7. Outro exemplo mais complexo. Abaixo nenhum endereço de rede classe A  terá acesso  à porta 25 com endereço ip 192.168.0.1
    elder@ubuntu:~$ sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25

 

 

Deletando Regras

Vamos excluir algumas das regras abaixo? Antes exiba o status com numeração(numbered)

elder@ubuntu:~$ sudo ufw status numbered
Estado: ativo

     Para                       Ação        De
     ----                       ----        --
[ 1] 22                         ALLOW IN    Anywhere                  
[ 2] 22/tcp                     ALLOW IN    Anywhere                  
[ 3] 80                         DENY IN     Anywhere                  
[ 4] 443                        ALLOW IN    Anywhere                  
[ 5] 25/tcp                     DENY OUT    Anywhere                   (out)
[ 6] 80/tcp                     DENY IN     Anywhere                  
[ 7] 192.168.0.1 25/tcp         DENY IN     10.0.0.0/8                
[ 8] 22 (v6)                    ALLOW IN    Anywhere (v6)             
[ 9] 22/tcp (v6)                ALLOW IN    Anywhere (v6)             
[10] 80 (v6)                    DENY IN     Anywhere (v6)             
[11] 443 (v6)                   ALLOW IN    Anywhere (v6)             
[12] 25/tcp (v6)                DENY OUT    Anywhere (v6)              (out)
[13] 80/tcp (v6)                DENY IN     Anywhere (v6)

Para excluir basta epenas digitarmos a regra acrescentando “delete”.

Vamos deletar a regra “192.168.0.1       25/tcp          DENY       10.0.0.0/8” que é representada pelo número 7.

elder@ubuntu:~$ sudo ufw delete 7

Outras opções para apagar uma regra o mesmo texto que digitamos ao criar  regra:

ufw delete deny 80/tcp

 

UFW com mais de Uma Interface de Rede

Quando houver mais de uma interface de rede, por exemplo, eth0 e eth1, podemos usar “in on” ou “out on”

  • in on: significa entrada em
  • out on: saída em

Exemplos retirados do manual de UFW

Abaixo, permitimos para eth0 toda entrada de na porta 80(http) e usando protocolo tcp

ufw allow in on eth0 to any port 80 proto tcp

 

Redirecionamento de Portas Usando UFW

Não existe nenhuma regra no UFW para redirecionamento de portas. Redirecionamento de portas é conhecido também como port forward.

Para redirecionar devemos configurar o arquivo /etc/ufw/before.rules

Vamos supor que queiramos redirecionar toda entrada na porta 8080 para porta 80.

  1. Libere a porta 8080
    elder@ubuntu:~$ sudo ufw allow 8080
    
  2. Abra o arquivo “/etc/ufw/before.rules” e adicione o texto abaixo na parte de cima
    *nat
    :PREROUTING ACCEPT [0:0]
    -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    COMMIT

 

Liberando um Intervalo de Portas

Abaixo liberei todas as portas tcp dentro do intervalo de 6000 à 6500.

elder@ubuntu:~$ sudo ufw allow 6000:65000/tcp

Conclusão

A ferramenta UFW é bem simples, fácil de manusear; porém carece da opção para redirecionamento de portas.

Para mais informações sobre a ferramenta UFW consulte o seu manual.

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

4 Comments to “Gerenciando Firewall com UFW”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *