UFW (Uncomplicated Firewall) é um utilitário de firewall simples de usar com muitas opções para todos os tipos de usuários.
Na verdade, é uma interface para o iptables
, que é a ferramenta clássica de baixo nível (e mais difícil) para configurar regras para sua rede.
Por que você deve usar um Firewall?
Um firewall é uma maneira de regular o tráfego de entrada e saída em sua rede. Isso é crucial para os servidores, mas também torna o sistema de um usuário normal muito mais seguro, dando-lhe controle. Se você é uma daquelas pessoas que gostam de manter as coisas sob controle em um nível avançado, mesmo na área de trabalho, você pode considerar a configuração de um firewall.
Em suma, o firewall é algo obrigatório para os servidores. Em desktops, cabe a você se você deseja configurá-lo.
Configurando um firewall com UFW
É importante configurar corretamente o firewall. Uma configuração incorreta pode deixar o servidor inacessível se você estiver fazendo isso para um sistema Linux remoto, como um servidor em nuvem ou VPS. Por exemplo, você bloqueia todo o tráfego de entrada no servidor que está acessando via SSH. Agora você não poderá acessar o servidor via SSH.
Neste tutorial, analisaremos a configuração de um firewall que atenda às suas necessidades, dando uma visão geral do que pode ser feito usando esse utilitário simples. Isso deve ser adequado para ambos usuários de servidor Ubuntu e desktop.
Por favor, note que estaremos usando o método de linha de comando aqui. Existe um front-end GUI chamado Gufw para usuários de desktop, mas não vamos abordá-lo neste tutorial. Há um guia para Gufw dedicado se você quiser usar.
Instalando o UFW
Se você estiver usando o Ubuntu, UFW já deve estar instalado. Caso contrário, você pode instalá-lo usando o seguinte comando:
sudo apt install ufw
Para outras distribuições, use seu gerenciador de pacotes para instalar o UFW.
Para verificar se o UFW está instalado corretamente, rode:
ufw --version
Se ele estiver instalado, você deverá ver os detalhes da versão:
ufw 0.36.1
Copyright 2008-2021 Canonical Ltd.
Legal! Então você tem UFW em seu sistema. Vamos ver sobre como usá-lo agora.
Nota: Você precisa usar sudo
ou ser root para executar (quase) todos os comandos ufw
.
Verifique o status e as regras do UFW
O UFW funciona configurando regras para o tráfego de entrada e saída. Essas regras consistem em permitir e negar fontes e destinos específicos.
Você pode verificar as regras de firewall usando o seguinte comando:
sudo ufw status
Isso deve fornecer a seguinte saída neste estágio:
Estado: inativo
O comando acima teria mostrado as regras de firewall se o firewall estivesse habilitado. Por padrão, o UFW não está habilitado e não afeta sua rede. Cuidaremos disso na próxima seção.
Mas aqui está a coisa, você pode ver e modificar as regras de firewall, mesmo ufw
não estando habilitado.
sudo ufw show added
E no caso aqui, mostrou esse resultado:
Regras de usuário adicionadas (veja 'ufw status' para executar o firewall):
ufw allow 12345/tcp
ufw allow 12345
ufw allow 80/tcp
ufw deny 22
ufw deny 443/udp
ufw allow 90:100/tcp
Políticas padrão
Por padrão, o UFW nega toda a entrada e permite todo o tráfego de saída. Esse comportamento faz todo o sentido para o usuário médio de desktop, já que você deseja se conectar a vários serviços (como http/https para acessar páginas da Web) e não deseja que ninguém se conecte à sua máquina.
No entanto, se você estiver usando um servidor remoto, deverá permitir o tráfego na porta SSH para que você possa se conectar ao sistema remotamente.
Você pode permitir o tráfego na porta padrão SSH 22:
sudo ufw allow 22
Caso você esteja usando SSH em alguma outra porta, permita-o no nível de serviço:
sudo ufw allow ssh
Observe que o firewall ainda não está ativo. Isso é uma coisa boa. Você pode modificar regras antes de habilitar o ufw para que os serviços essenciais não sejam afetados.
Se você for usar o UFW como um servidor de produção, certifique-se de permitir portas por meio do UFW para os serviços em execução.
Por exemplo, os servidores web geralmente usam a porta 80, então use sudo ufw allow 80
. Você também pode fazê-lo no nível de serviço sudo ufw allow apache
.
Esse ônus está do seu lado e é sua responsabilidade garantir que seu servidor funcione corretamente.
Para usuários de desktop, você pode ir em frente com as políticas padrão.
sudo ufw default deny incoming
Ativando e desativando o UFW
Para que o UFW funcione, você precisa habilitá-lo:
sudo ufw enable
Isso iniciará o firewall e o agendará para iniciar toda vez que você inicializar. Você recebe a seguinte mensagem:
Firewall está ativo e habilitado na inicialização do sistema
Novamente: se você estiver conectado a uma máquina via ssh, certifique-se de que ssh é permitido antes de ativar ufw inserindo sudo ufw allow ssh
.
Se você quiser desativar o UFW, digite:
sudo ufw disable
Você receberá:
Firewall parado e desativado na inicialização do sistema
Recarregando firewall para novas regras
Se o UFW já estiver habilitado e você modificar as regras de firewall, será necessário recarregá-lo antes que as alterações entrem em vigor.
Você pode reiniciar o UFW desabilitando-o e habilitando-o novamente:
sudo ufw disable && sudo ufw enable
Ou recarregue as regras:
sudo ufw reload
Redefinindo para as regras de firewall padrão
Se, a qualquer momento, você estragar qualquer uma de suas regras e quiser retornar às regras padrão (ou seja, sem exceções para permitir o tráfego de entrada ou de saída), você pode iniciá-lo novamente com:
sudo ufw reset
Lembre-se de que isso excluirá todas as configurações do firewall.
Configurando o firewall com UFW (visualização mais detalhada)
Tudo bem! Então você aprendeu a maioria dos comandos básicos do ufw
. Nesta fase, talvez queira ir um pouco mais em detalhes sobre a configuração das regras de firewall.
Permitindo e negando por protocolo e portas
É assim que você adiciona novas exceções ao seu firewall; allow
permite que sua máquina receba dados do serviço especificado, enquanto deny
faz o oposto
Por padrão, esses comandos adicionarão regras para IP e IPv6. Se você quiser modificar esse comportamento, você terá que editar o arquivo de configuração /etc/default/ufw
. Mude
IPV6=yes
Para
IPV6=no
Dito isto, os comandos básicos são:
sudo ufw allow porta/opcional: protocolo
sudo ufw deny porta/opcional: protocolo
Se a regra foi adicionada com êxito, você receberá:
Regras atualizadas
Regras atualizadas (v6)
Por exemplo:
sudo ufw allow 80/tcp sudo ufw deny 22 sudo ufw deny 443/udp
Nota: se você não incluir um protocolo específico, a regra será aplicada para tcp
e udp
.
Se você habilitar (ou, se já estiver em execução, recarregar) o UFW e verificar seu status, poderá ver que as novas regras foram aplicadas com êxito.
Você também pode permitir/negar intervalos de portas. Para esse tipo de regra, você deve especificar o protocolo. Por exemplo:
sudo ufw allow 90:100/tcp
Permitirá todos os serviços nas portas 90 a 100 usando o protocolo TCP. Você pode recarregar e verificar o status:
Permitindo e negando por serviços
Para facilitar as coisas, você também pode adicionar regras usando o nome do serviço:
sudo ufw allow nome_do_serviço sudo ufw deny nome_do_serviço
Por exemplo, para permitir ssh e bloquear HTTP:
sudo ufw allow ssh sudo ufw deny http
Ao fazê-lo, UFW lerá os serviços de /etc/services
. Você mesmo pode conferir a lista:
less /etc/services
Adicionando regras para aplicativos
Alguns aplicativos fornecem serviços nomeados específicos para facilitar o uso e podem até utilizar portas diferentes. Um exemplo é ssh. Você pode ver uma lista desses aplicativos que estão presentes em sua máquina com o seguinte:
sudo ufw app list
No nosso caso, as aplicações disponíveis são Apache, CUPS (um sistema de impressão em rede), OpenSSH e Samba.
Para adicionar uma regra para um aplicativo, digite:
sudo ufw allow aplicação sudo ufw deny aplicação
Por exemplo:
sudo ufw allow OpenSSH
Recarregando e verificando o status, você deve ver que a regra foi adicionada:
Conclusão
Esta foi apenas a ponta do iceberg. Há muito mais nos firewalls no Linux que um livro pode ser escrito nele.
Se você achou complicado configurar um firewall com UFW, você deve tentar usar iptables ou nftables. Então você perceberá como o UFW descomplica a configuração do firewall.
Esperamos que tenham gostado deste guia para iniciantes do UFW. Deixe-nos saber se você tiver dúvidas ou sugestões.