Ubuntu

Instalação e configuração do UFW no Ubuntu 20.04 LTS

Instalação e configuração do UFW no Ubuntu 20.04 LTS
UFW, ou Uncomplicated Firewall, é um front-end amigável para Linux iptables. UFW é escrito em Python (suporta Python 3.5 e acima) e é o atual utilitário de gerenciamento de firewall de fato em sistemas Ubuntu. Este utilitário é muito amigável e atua como um ótimo firewall baseado em host.

Este artigo mostra como instalar e usar o UFW em seu Ubuntu 20.04 sistema LTS.

Instalação

UFW vem pré-instalado na maioria dos sistemas Ubuntu. Se sua compilação ainda não tiver este programa instalado, você pode instalá-lo usando o snap ou os gerenciadores de pacotes apt.$ sudo snap install ufw

$ sudo apt install ufw

Eu pessoalmente prefiro usar o gerenciador de pacotes apt para fazer isso porque o snap é menos popular e eu não quero ter essa complexidade extra. No momento da redação deste artigo, a versão publicada para UFW é 0.36 para os 20.04 lançamento.

Entrada vs. Tráfego de saída

Se você é um iniciante no mundo das redes, a primeira coisa que precisa esclarecer é a diferença entre o tráfego de entrada e de saída.

Quando você instala atualizações usando apt-get, navega na internet ou verifica seu e-mail, o que você está fazendo é enviar solicitações de “saída” para servidores, como Ubuntu, Google, etc. Para acessar esses serviços, você nem precisa de um IP público. Normalmente, um único endereço IP público é alocado para, digamos, uma conexão de banda larga doméstica, e cada dispositivo obtém seu próprio IP privado. O roteador então lida com o tráfego usando algo conhecido como NAT ou Network Address Translation.

Os detalhes do NAT e dos endereços IP privados estão além do escopo deste artigo, mas o vídeo com link acima é um excelente ponto de partida. Voltando ao UFW, por padrão, o UFW permitirá todo o tráfego regular de saída da web. Seus navegadores, gerenciadores de pacotes e outros programas escolhem um número de porta aleatório - geralmente um número acima de 3000 - e é assim que cada aplicativo pode rastrear suas conexões.

Quando você está executando servidores na nuvem, eles geralmente vêm com um endereço IP público e as regras acima para permitir o tráfego de saída ainda se mantêm. Como você ainda usará utilitários, como gerenciadores de pacotes, que falam com o resto do mundo como um 'cliente', o UFW permite isso por padrão.

A diversão começa com o tráfego de entrada. Aplicativos, como o servidor OpenSSH que você usa para fazer login em sua VM, ouvem em portas específicas (como 22) para entrada solicitações, assim como outros aplicativos. Os servidores da web precisam de acesso às portas 80 e 443.

É parte do trabalho de um firewall permitir que aplicativos específicos escutem certo tráfego de entrada enquanto bloqueia todos os desnecessários. Você pode ter um servidor de banco de dados instalado em sua VM, mas geralmente não precisa ouvir as solicitações de entrada na interface com um IP público. Normalmente, ele apenas escuta na interface de loopback para solicitações.

Existem muitos bots na Web, que bombardeiam constantemente os servidores com solicitações falsas para entrar com força bruta ou para fazer um simples ataque de negação de serviço. Um firewall bem configurado deve ser capaz de bloquear a maioria dessas travessuras com a ajuda de plug-ins de terceiros como o Fail2ban.

Mas, por agora, vamos nos concentrar em uma configuração muito básica.

Uso Básico

Agora que você tem o UFW instalado em seu sistema, veremos alguns usos básicos para este programa. Uma vez que as regras de firewall são aplicadas em todo o sistema, os comandos abaixo são executados como o usuário root. Se preferir, você pode usar o sudo com os privilégios adequados para este procedimento.

# ufw status
Status: inativo

Por padrão, o UFW está em um estado inativo, o que é bom. Você não deseja bloquear todo o tráfego de entrada na porta 22, que é a porta SSH padrão. Se você estiver conectado a um servidor remoto via SSH e bloquear a porta 22, o acesso ao servidor será bloqueado.

UFW torna mais fácil para nós abrir uma brecha apenas para OpenSSH. Execute o comando abaixo:

[email protegido]: ~ # lista de aplicativos ufw
Aplicativos disponíveis:
OpenSSH

Observe que ainda não habilitei o firewall. Agora vamos adicionar OpenSSH à nossa lista de aplicativos permitidos e, em seguida, habilitar o firewall. Para fazer isso, digite os seguintes comandos:

# ufw permite OpenSSH
Regras atualizadas
Regras atualizadas (v6)
# ufw enable

O comando pode interromper as conexões SSH existentes. Prossiga com a operação (y | n)? y.

O firewall agora está ativo e habilitado na inicialização do sistema.

Parabéns, o UFW agora está ativo e funcionando. O UFW agora permite que apenas o OpenSSH ouça as solicitações de entrada na porta 22. Para verificar o status do seu firewall a qualquer momento, execute o seguinte código:

# ufw status
Status: ativo
Para ação de
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

Como você pode ver, o OpenSSH agora pode receber solicitações de qualquer lugar da Internet, desde que chegue na porta 22. A linha v6 indica que as regras também se aplicam ao IPv6.

Você pode, é claro, banir determinados intervalos de IP ou permitir apenas um determinado intervalo de IPs, dependendo das restrições de segurança com as quais está trabalhando.

Adicionar aplicativos

Para os aplicativos mais populares, o comando ufw app list atualiza automaticamente sua lista de políticas durante a instalação. Por exemplo, após a instalação do servidor da web Nginx, você verá as seguintes novas opções aparecerem:

# apt install nginx
# lista de aplicativos ufw
Aplicativos disponíveis:
Nginx Full
HTTP Nginx
HTTPS Nginx
OpenSSH

Vá em frente e experimente essas regras. Observe que você pode simplesmente permitir números de porta, em vez de esperar que o perfil de um aplicativo apareça. Por exemplo, para permitir a porta 443 para tráfego HTTPS, basta usar o seguinte comando:

# ufw allow 443
# ufw status
Status: ativo
Para ação de
-- ------ ----
OpenSSH ALLOW Anywhere
443 PERMITIR em qualquer lugar
OpenSSH (v6) ALLOW Anywhere (v6)
443 (v6) PERMITIR em qualquer lugar (v6)

Conclusão

Agora que você tem o básico do UFW classificado, pode explorar outros recursos de firewall poderosos, começando por permitir e bloquear intervalos de IP. Ter políticas de firewall claras e seguras manterá seus sistemas seguros e protegidos.

Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...
Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...