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.