Firewall com o UFW

A segurança das estações de trabalho e dos servidores está relacionada com uma boa configuração do Firewall. Neste artigo, irei apresentar os principais conceitos e comandos utilizados no UFW - Uncomplicated Firewall, que é instalado automaticamente no Ubuntu desde a versão 18.04.

[ Hits: 10.710 ]

Por: Diego Mendes Rodrigues em 13/04/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


Introdução



O UFW (Uncomplicated Firewall, ou Firewall Descomplicado) é conhecido pelos usuários do Ubuntu, embora nem sempre todos saibam como realizar a configuração dele. Acredito ser interessante apresentar como trabalhar com essa aplicação, que é instalada por padrão no Ubuntu desde a versão 18.04, auxiliando assim na segurança das estações e trabalho e dos servidores.

Como dito acima, o UFW é instalado no Ubuntu desde a versão 18.04, mas por padrão, ele está desabilitado. O UFW ainda possui uma interface gráfica chamada GUFW, que pode ser instalada caso você utilize um ambiente desktop.

Neste material, iremos aprender como habilitar e utilizar este Firewall através do terminal.

Configurar o Firewall com o UFW

Ao utilizar uma versão mais recente do Ubuntu, como a 19.10 ou a 20.04, você terá o UFW instalado, mas inativo.

Iremos inicialmente ativar o UFW:

sudo ufw enable

Caso queira desativar o UFW, utilizar o comando:

sudo ufw disable

Caso você recebe uma mensagem de erro, como "comando não encontrado", instale o UFW executando o comando:

sudo apt-get install ufw

Na sequência, podemos verificar o status do UFW utilizando:

sudo ufw status

Agora o UFW deve estar ativado no seu Ubuntu, apresentando uma mensagem como "Status: active".
Linux: Firewall com o UFW
Por padrão, o Firewall com o UFW nega qualquer conexão recebida e permite todas as conexões realizadas do seu computador. Para muitos usuários, isto já é suficiente para a proteção da estação de trabalho, mas para quem possui serviços online ou aplicações, em servidores, é preciso criar algumas regras no Firewall.

Definir Regras no Firewall

O primeiro passo é entender que uma regra de Firewall, é uma instrução, que define a maneira com que o Firewall irá se comportar, como por exemplo, quais conexões serão aceitas ou rejeitadas.

Abrir e Fechar as Portas do Firewall

Todas as ações realizadas são com o comando ufw.

Para abrir uma porta, utilizamos o comando:

sudo ufw allow

Os protocolos utilizados podem ser TCP ou UDP, dependendo da porta e do protocolo de uma aplicação. Um exemplo seria liberar o acesso ao nosso DNS, que está na porta 53, com o protocolo UDP:

sudo ufw allow 53/UDP

Podemos liberar a porta 80 no protocolo TCP, liberando o acesso a um servidor web através do protocolo HTTP:

sudo ufw allow 80/TCP

Com os dois comandos anteriores, liberamos que todas as aplicações externas que tentarem realizar a conexão com o nosso servidor DNS, e com o nosso servidor WEB, poderão realizar a conexão com a nossa máquina, pois estas conexões estão permitidas.

Cosa eu queira agora negar as conexões no servidor DNS, ou seja, porta 53 no protocolo UDP, utilizo o seguinte comando:

sudo ufw deny 53/UDP

Desta forma, qualquer tentativa de conexão na porta 53, pelo protocolo UDP, no seu servidor, será negada pelo Firewall.

Podemos também trabalhar com um intervalo de portas, de forma parecida com os comandos anteriores. A alteração é que ao invés de informar uma porta, informamos o intervalo:

sudo ufw allow/deny /protocolo

Para liberar, por exemplo, o intervalo de portas entre a 8000 e 9000 no protocolo TCP, da seguinte forma:

sudo ufw allow 8000:9000/TCP

Para negar o intervalo de portas entre a 8000 e 9000 no protocolo TCP, da seguinte forma:

sudo ufw deny 8000:9000/TCP

Abrir e Fechar as Portas do Firewall pelos Serviços

Existem serviços que utilizam portas já determinadas, como por exemplo o HTTP utilizar a 80 e o HTTPS utiliza a 443. Podemos então liberar ou negar as conexões pelo nome dos serviços, não sendo necessário definir o protocolo:

sudo ufw allow http
sudo ufw allow https

Abrir e Fechar as Portas do Firewall pelos Softwares

Outro ponto interessante é podermos utilizar os nomes dos softwares para abrir, ou fechar, as portas utilizadas.

Para liberar as portas utilizadas pelo Nginx (HTTP e HTTPS), você pode utilizar:

sudo ufw allow 'Nginx Full'

Para liberar as portas do SSH, utilizar:

sudo ufw allow OpenSSH

Abrir e Fechar as Portas do Firewall para IPs ou Sub-redes

Em alguns momentos precisamos ajustar o Firewall para determinados IPs, como por exemplo, liberar o SSH para a rede interna e negar para a rede externa.

Para liberar, ou negar, toda as conexões de um determinado IP, utilizamos:

sudo ufw allow/deny from

Para liberar, ou negar, as conexões de um determinado IP em uma determinada porta, utilizamos:

sudo ufw allow/deny from to any port

Como exemplo, irei liberar todas as conexões para o IP 200.210.184.30:

sudo ufw allow from 200.210.184.30

Agora, irei liberar o acesso ao serviço SSH, na porta 22, para o IP 192.168.0.50:

sudo ufw allow from 192.168.0.50 to any port 22

Caso eu queira liberar o acesso ao serviço SSH, na porta 22, para toda a sub-rede 192.168.0.x, devo utilizar o seguinte comando:

sudo ufw allow from 192.168.0.0/24 to any port 22

Posso também negar a conexão na porta 80 (HTTP), para toda a sub-rede 192.168.0.x, devo utilizar o seguinte comando:

sudo ufw deny from 192.168.0.0/24 to any port 80

Deletar as Regas do Firewall

Para deletarmos as regras do Firewall, precisamos listar as existentes de forma numerada. Para essa listagem, devemos executar: Conclusão

sudo ufw status numbered
Linux: Firewall com o UFW
Após saber o número da regra do Firewall que será excluída, utilizamos o comando:

sudo ufw delete

Para apagar a regra relativa à porta 443 no protocolo TCP, que possui o número 2, utilizo:

sudo ufw delete 2
Linux: Firewall com o UFW

Conclusão

Foram apresentados os principais comandos do UFW, para o gerenciamento do Firewall no Ubuntu.

Caso você queira buscar mais informações, o manual do UFW pode ser acessado com:

sudo ufw -help

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Usando o cURL - Client URL

Raspberry Pi 4B Como Servidor Linux de Baixo Custo

Habilitar o HTTP/2 no Apache do Ubuntu 16.04/20.04

Instalar o Ubuntu Server

Atualizar para o Ubuntu 20.04 LTS

Leitura recomendada

Como Funcionam as Cores em Hexadecimal

ISPconfig - Uma alternativa ao CPanel

Implementando um servidor DHCP

Fontes com filtros LCD no Arch Linux

Configurando um servidor de FTP no OpenBSD

  
Comentários
[1] Comentário enviado por StanislausK em 13/04/2020 - 17:43h

Ola,

Por falar em GUFW... Já voltou a funcionar no Debian 10? Ano passado ainda estava com problema! Veja exemplo:

Gufw doesn't launch on debian 10
https://bugs.launchpad.net/gui-ufw/+bug/1742719

No Linux Mint e Lubuntu funciona... Seria legal se houvesse um tutorial completo sobre o firewall-config (não lembro ter visto no VOL)!

[2] Comentário enviado por diegolinkk em 14/04/2020 - 11:15h

Parabéns pelo artigo, ficou simples e direto.

[3] Comentário enviado por diegomrodrigues em 19/05/2020 - 08:37h


[1] Comentário enviado por StanislausK em 13/04/2020 - 17:43h

Ola,

Por falar em GUFW... Já voltou a funcionar no Debian 10? Ano passado ainda estava com problema! Veja exemplo:

Gufw doesn't launch on debian 10
https://bugs.launchpad.net/gui-ufw/+bug/1742719

No Linux Mint e Lubuntu funciona... Seria legal se houvesse um tutorial completo sobre o firewall-config (não lembro ter visto no VOL)!


O GUFW funciona bem no Ubuntu 20.04. Embora eu não tenha testado no Debian 10, acredito que deve funcionar também.

[4] Comentário enviado por diegomrodrigues em 19/05/2020 - 08:37h


[2] Comentário enviado por diegolinkk em 14/04/2020 - 11:15h

Parabéns pelo artigo, ficou simples e direto.


Obrigado!

[5] Comentário enviado por n3g4_1 em 30/12/2020 - 10:28h

Excelente artigo!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts