Segurança Imbatível: Ative a Autenticação de Dois Fatores no seu Linux!

O Linux é conhecido pela sua exigência de senha para operações críticas no sistema, o que leva muitos a considerá-lo mais seguro que outros sistemas operacionais, embora não seja totalmente imune a ameaças. Uma senha robusta e uma política de ‘sudoer’ adequada são cruciais, mas não são suficientes. Por isso, a autenticação de dois fatores (2FA) tem ganhado adeptos na área de segurança no Linux.

Este artigo abordará como implementar a autenticação de dois fatores no Linux com o Google Authenticator.

Instalando o Google Authenticator

A funcionalidade do Google Authenticator no Linux é viabilizada por um plugin pam. Este plugin pode ser integrado ao GDM e a outros gerenciadores de desktop compatíveis. Abaixo, explicamos como instalá-lo no seu sistema Linux.

Importante: Antes de começar, instale o Google Authenticator no seu celular pela Google Play Store (Android) ou pela Apple App Store (iOS), pois ele será essencial para este guia.

Ubuntu

sudo apt install libpam-google-authenticator

Debian

sudo apt-get install libpam-google-authenticator

Arch Linux

O Arch Linux não inclui o módulo de autenticação pam do Google por padrão. Os usuários devem obter e compilar o módulo através de um pacote AUR. Baixe o PKGBUILD mais recente ou use um auxiliar AUR para realizar a instalação.

Fedora

sudo dnf install google-authenticator

OpenSUSE

sudo zypper install google-authenticator-libpam

Outras Distribuições Linux

O código-fonte para a versão Linux do Google Authenticator e o plugin libpam estão disponíveis no Github. Se você usa uma distribuição Linux não convencional, visite esta página e siga as instruções para compilar o programa.

Configurando o Google Authenticator no Linux

Antes de o pam funcionar com o plugin do Google Authentication, um arquivo de configuração precisa ser modificado. Para isso, abra um terminal e execute:

sudo nano /etc/pam.d/common-auth

O arquivo ‘common-auth’ contém diversas informações sobre como o sistema deve tratar a autenticação. Ignore os comentários e role até a seção “# aqui estão os módulos por pacote (o bloco “Primário”)”. Vá para a linha abaixo e adicione:

auth required pam_google_authenticator.so

Salve as mudanças (CTRL + O) e feche o editor (CTRL + X).

Em seguida, no terminal, execute “google-authenticator”. O sistema fará algumas perguntas.

A primeira questão é: “Você deseja que os tokens de autenticação sejam baseados em tempo?”. Responda “sim” pressionando ‘y’.

Após responder, o sistema exibirá uma chave secreta e alguns códigos de emergência. Anote-os, pois são cruciais.

Responda “sim” às três próximas perguntas e “não” às duas últimas.

A última questão refere-se à limitação de taxa, que restringe a 3 o número de tentativas de autenticação a cada 30 segundos. É recomendado aceitar esta opção por segurança.

Configurando o Aplicativo Google Authenticator

A parte do Linux está pronta. Agora, configure o aplicativo Google Authenticator. Abra o aplicativo e selecione a opção “digitar uma chave fornecida”.

Preencha o nome do PC e a chave secreta que você anotou anteriormente. O Google Authenticator está configurado.

Fazendo Login

Com o Google Authenticator configurado no Linux e no celular, faça login selecionando o usuário no GDM (ou LightDM). Imediatamente após a seleção, o sistema pedirá um código de autenticação. Abra o aplicativo e insira o código exibido no gerenciador de login.

Se o código for válido, você poderá inserir a senha do usuário.

Observação: A configuração do Google Authenticator não afeta apenas o gerenciador de login. Sempre que um usuário tentar obter acesso root, privilégios sudo ou qualquer ação que exija senha, um código de autenticação será solicitado.

Conclusão

A autenticação de dois fatores diretamente no desktop Linux adiciona uma camada de segurança fundamental. Com ela ativada, o acesso não autorizado ao sistema se torna muito mais difícil.

Embora a autenticação de dois fatores possa ser um pouco incômoda, ela é uma adição bem-vinda para fortalecer a segurança de qualquer desktop Linux.