Neste tutorial, exploraremos como configurar a autenticação de dois fatores (2FA) em um servidor Debian Linux usando o aplicativo Microsoft Authenticator. A autenticação de dois fatores é uma camada adicional de segurança que ajuda a proteger suas contas contra acessos não autorizados, exigindo não apenas uma senha, mas também um código gerado por um aplicativo autenticador instalado em um dispositivo móvel.
O Microsoft Authenticator é um aplicativo de autenticação amplamente utilizado e compatível com vários serviços e sistemas. Ao seguir este guia passo a passo, você aprenderá como habilitar o 2FA para usuários em seu servidor Debian Linux e como vincular suas contas ao aplicativo Microsoft Authenticator para garantir uma autenticação segura e protegida.
Para configurar a autenticação de dois fatores (2FA) em um servidor Debian Linux e usar o Microsoft Authenticator como aplicativo de autenticação, siga estas etapas:
Atualize os pacotes e instale os pacotes necessários:
sudo apt update
sudo apt upgrade
sudo apt install libpam-google-authenticator
Configure o Google Authenticator para cada usuário que deseja habilitar 2FA:
Faça login como o usuário que deseja configurar o 2FA e execute o comando “google-authenticator
“. Siga as instruções na tela e anote o código QR, as chaves de recuperação e o código secreto.
google-authenticator
Você será guiado por uma série de perguntas. Recomenda-se responder y
para todas elas para maximizar a segurança. Isso gerará um código QR que você pode escanear com o aplicativo Google Authenticator no seu smartphone.
Dicas:
- Backup dos Códigos: Guarde os códigos de recuperação em um local seguro.
- Tempo de Sincronização: Certifique-se de que o relógio do servidor esteja sincronizado com um servidor NTP para evitar problemas com a geração de códigos.
Adicione a conta no aplicativo Microsoft Authenticator:
Abra o aplicativo Microsoft Authenticator em seu dispositivo móvel e siga as etapas para adicionar uma nova conta. Selecione a opção “Outra conta (Google, Facebook, etc.)” e escaneie o código QR ou insira manualmente o código secreto fornecido na etapa anterior.
Configure PAM (Pluggable Authentication Modules) para usar o Google Authenticator:
Edite o arquivo PAM de autenticação SSH. Neste exemplo, usaremos o “nano
” como editor de texto, mas você pode usar o editor de sua preferência.
sudo nano /etc/pam.d/sshd
Adicione a seguinte linha ao arquivo, logo abaixo da linha “@include common-auth
:“
auth required pam_google_authenticator.so
Salve e feche o arquivo.
Para Versões Mais atuais como o Ubuntu 24.04 LTS adicione a linha assim:
auth required pam_google_authenticator.so nullok
Configure o SSH para solicitar a autenticação 2FA:
Edite o arquivo de configuração do SSH:
sudo nano /etc/ssh/sshd_config
Procure a linha “ChallengeResponseAuthentication
” e altere seu valor para “yes
“. Se a linha estiver comentada (iniciando com um “#
“), remova o comentário. Se a linha não existir, adicione-a ao arquivo:
ChallengeResponseAuthentication yes
Salve e feche o arquivo.
Para Versões Atuais como o Ubuntu 24.04 LTS mudou a estrutura e não existe mais o ChallengeResponseAuthentication yes, Certifique-se de que as seguintes diretivas estejam configuradas corretamente:
# Habilitar o uso do PAM
UsePAM yes
# Garantir o KbdInteractiveAuthentication
KbdInteractiveAuthentication yes
# Desabilitar a autenticação por senha se desejar forçar o uso de chaves SSH
PasswordAuthentication no
# Desabilitar a autenticação challenge-response (se presente)
# ChallengeResponseAuthentication no
Detalhes Importantes:
- UsePAM yes: Assegura que o SSH utiliza o PAM para autenticação.
- AuthenticationMethods publickey,keyboard-interactive: Exige que o usuário se autentique usando uma chave SSH e 2FA. Se você deseja permitir autenticação por senha + 2FA, ajuste conforme necessário.
- PasswordAuthentication no: (Opcional) Desabilita a autenticação por senha para aumentar a segurança. Use apenas se estiver usando chaves SSH.
- ChallengeResponseAuthentication: Nas versões mais recentes do OpenSSH, essa opção pode estar substituída ou já integrada em
keyboard-interactive
. Portanto, se a configuração padrão não a exibir, não se preocupe. Evite adicionarChallengeResponseAuthentication
se não estiver presente por padrão, pois pode não ser suportada da mesma maneira.
Reinicie o serviço SSH para aplicar as alterações:
sudo systemctl restart ssh
Teste a autenticação 2FA:
Tente fazer login no servidor via SSH. Você deverá ser solicitado a fornecer sua senha e o código de verificação gerado pelo Microsoft Authenticator.
Lembre-se de que a autenticação 2FA agora está habilitada para os usuários configurados e que a perda do dispositivo com o aplicativo Microsoft Authenticator pode bloquear o acesso à conta. Portanto, guarde as chaves de recuperação geradas na etapa 2 em um local seguro.
Amante por tecnologia Especialista em Cibersegurança e Big Data, Formado em Administração de Infraestrutura de Redes, Pós-Graduado em Ciências de Dados e Big Data Analytics e Machine Learning, Com MBA em Segurança da Informação, Escritor do livro ” Cibersegurança: Protegendo a sua Reputação Digital”.