Pesquisa de site

Usando o Firewall UFW no Ubuntu Linux [Guia do Iniciante]


Aprenda os fundamentos do uso do firewall UFW para proteger seu sistema Linux neste guia para iniciantes.

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 iptables, que é a ferramenta clássica de baixo nível (e com a qual é mais difícil se acostumar) para configurar regras para sua rede.

Por que você deve usar um Firewall?

Um firewall é uma forma de regular o tráfego de entrada e saída em sua rede. Isso é crucial para servidores, mas também torna o sistema de um usuário comum muito mais seguro, dando a você controle. Se você é uma daquelas pessoas que gosta de manter as coisas sob controle em um nível avançado, mesmo no desktop, considere configurar um firewall.

Resumindo, o firewall é obrigatório para servidores. Em desktops, cabe a você decidir se deseja configurá-lo.

Configurando um firewall com UFW

É importante configurar firewalls corretamente. Uma configuração incorreta pode deixar o servidor inacessível se você estiver fazendo isso para um sistema Linux remoto, como uma nuvem ou servidor 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, abordarei a configuração de um firewall que atenda às suas necessidades, dando uma visão geral do que pode ser feito usando este utilitário simples. Isso deve ser adequado para usuários de servidores Ubuntu e desktops.

Observe que usarei o método de linha de comando aqui. Existe uma interface GUI chamada Gufw para usuários de desktop, mas não irei abordá-la neste tutorial.

Existe um guia dedicado ao Gufw se você quiser usá-lo.

Instale o UFW

Se você estiver usando Ubuntu, o 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, digite:

ufw --version

Se estiver instalado, você deverá ver os detalhes da versão:

abhishek@linux-console:~$ ufw --version
ufw 0.36.1
Copyright 2008-2021 Canonical Ltd.

Ótimo! Então você tem UFW em seu sistema. Vamos ver como usá-lo agora.

Você precisa usar sudo ou ser root para executar (quase) todos os comandos do ufw.

Verifique o status e as regras do ufw

O UFW funciona estabelecendo 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 do firewall usando o seguinte comando:

sudo ufw status

Isso deve fornecer a seguinte saída neste estágio:

Status: inactive

O comando acima teria mostrado as regras do 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 o problema é o seguinte: você pode ver e modificar as regras do firewall mesmo que o ufw não esteja habilitado.

sudo ufw show added

E no meu caso, mostrou este resultado:

abhishek@linux-console:~$ sudo ufw show added
Added user rules (see 'ufw status' for running firewall):
ufw allow 22/tcp
abhishek@linux-console:~$

Agora não me lembro se adicionei essa regra manualmente ou não. Não é um sistema novo.

Políticas padrão

Por padrão, o UFW nega todo o tráfego de 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 quer que ninguém se conecte à sua máquina.

No entanto, se estiver usando um servidor remoto, você deverá permitir o tráfego na porta SSH para poder 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. Isto é uma coisa boa. Você pode modificar as regras antes de ativar o ufw para que os serviços essenciais não sejam afetados.

Se você for usar o UFW em um servidor de produção, certifique-se de permitir portas através do UFW para os serviços em execução, para os quais o artigo a seguir o ajudará.

Por exemplo, servidores web geralmente usam a porta 80, então use sudo ufw permitir 80. Você também pode fazer isso no nível de serviço por sudo ufw permitir apache.

Essa responsabilidade recai sobre você e é sua responsabilidade garantir que seu servidor funcione corretamente.

Para usuários de desktop, você pode prosseguir com as políticas padrão.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Habilitar e desabilitar UFW

Para que o UFW funcione, você deve habilitá-lo:

sudo ufw enable

Fazer isso iniciará o firewall e o programará para iniciar sempre que você inicializar. Você recebe a seguinte mensagem:

Firewall is active and enabled on system startup.

Novamente: se você estiver conectado a uma máquina via ssh, certifique-se de que o ssh seja permitido antes de ativar o ufw digitando sudo ufw permitir ssh.

Se você deseja desligar o UFW, digite:

sudo ufw disable

Você receberá de volta:

Firewall stopped and disabled on system startup

Recarregue o firewall para novas regras

Se o UFW já estiver ativado e você modificar as regras do firewall, será necessário recarregá-lo antes que as alterações entrem em vigor.

Você pode reiniciar o UFW desativando-o e ativando-o novamente:

sudo ufw disable && sudo ufw enable

Ou recarregue as regras:

sudo ufw reload

Redefinir para regras de firewall padrão

Se a qualquer momento você estragar alguma de suas regras e quiser retornar às regras padrão (ou seja, sem exceções para permitir tráfego de entrada ou negar tráfego de saída), você pode iniciá-lo novamente com:

sudo ufw reset

Lembre-se de que isso excluirá todas as configurações do seu firewall.

Configurando firewall com UFW (visão mais detalhada)

Tudo bem! Então você aprendeu a maioria dos comandos básicos do ufw. Neste estágio, eu preferiria detalhar um pouco mais a configuração das regras de firewall.

Permitir e negar 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 quiser modificar esse comportamento, você terá que editar /etc/default/ufw. Mudar

IPV6=yes

para

IPV6=no

Dito isto, os comandos básicos são:

sudo ufw allow <port>/<optional: protocol>
sudo ufw deny <port>/<optional: protocol>

Se a regra foi adicionada com sucesso, você receberá de volta:

Rules updated
Rules updated (v6)

Por exemplo:

sudo ufw allow 80/tcp
sudo ufw deny 22
sudo ufw deny 443/udp

Observação: se você não incluir um protocolo específico, a regra será aplicada tanto para TCP quanto para UDP .

Se você ativar (ou, se já estiver em execução, recarregar) o UFW e verificar seu status, poderá ver que as novas regras foram aplicadas com sucesso.

Você também pode permitir/negarintervalos de portas. Para este 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:

Permitir e negar por serviços

Para facilitar as coisas, você também pode adicionar regras usando o nome do serviço:

sudo ufw allow <service name>
sudo ufw deny <service name>

Por exemplo, para permitir ssh de entrada e bloquear serviços HTTP de entrada:

sudo ufw allow ssh
sudo ufw deny http

Ao fazer isso, o UFW lerá os serviços de /etc/services. Você mesmo pode conferir a lista:

less /etc/services

Adicione regras para aplicativos

Alguns aplicativos fornecem serviços nomeados específicos para facilidade de 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 meu caso, os aplicativos disponíveis são CUPS (um sistema de impressão em rede) e OpenSSH.

Para adicionar uma regra para um aplicativo, digite:

sudo ufw allow <application>
sudo ufw deny <application>

Por exemplo:

sudo ufw allow OpenSSH

Recarregando e verificando o status, você verá que a regra foi adicionada:

Conclusão

Esta foi apenas a ponta do iceberg firewall. Há muito mais sobre firewalls no Linux que um livro pode ser escrito sobre isso. Na verdade, já existe um excelente livro Linux Firewalls de Steve Suehring.

Se você pensa em configurar um firewall com UFW, tente usar iptables ou nftables. Então você perceberá como o UFW descomplica a configuração do firewall.

Espero que você tenha gostado deste guia para iniciantes da UFW. Deixe-me saber se você tiver dúvidas ou sugestões.

Artigos relacionados: