Como configurar a autenticação de dois fatores (2FA) para SSH no Debian 9 Usando o Google Authenticator

Você está aqui:
Tempo estimado de leitura: 2 min

Existem várias maneiras de efetuar login em um servidor por meio do SSH. Os métodos incluem login por senha, login baseado em chave e autenticação de dois fatores.

A autenticação de dois fatores é um tipo muito melhor de proteção. Caso o computador seja comprometido, o invasor ainda precisará de um código de acesso para efetuar login.

Neste tutorial, você aprenderá a configurar a autenticação de dois fatores no Debian 9 usando o Google Authenticator e o SSH.

Pré-requisitos

  • Um servidor Debian 9 (ou mais recente).
  • Um usuário não-root com acesso sudo.
  • Um smartphone (Android ou iOS) com o Google Authenticator App instalado. Você também pode usar o Authy ou qualquer outro aplicativo que suporte logins de senha única com base no tempo (TOTP).

Etapa 1: instalar a biblioteca do Google Authenticator

Precisamos instalar o módulo Biblioteca do Google Authenticator disponível para o Debian, o que permitirá que o servidor leia e valide códigos.

sudo apt update
sudo apt install libpam-google-authenticator -y

Etapa 2: configurar o Google Authenticator para cada usuário

Configure o módulo.

google-authenticator

Depois de executar o comando, você será perguntado algumas questões. A primeira pergunta seráDo you want authentication tokens to be time-based (y/n)

Pressione Ye você receberá um código QR, uma chave secreta, um código de verificação e códigos de backup de emergência.

Pegue o seu telefone e abra o aplicativo Google Authenticator. Você pode digitalizar o código QR ou adicionar a chave secreta para adicionar uma nova entrada. Depois de ter feito isso, anote os códigos de backup e mantenha-os em segurança em algum lugar. Caso seu telefone seja perdido ou danificado, você pode usar esses códigos para fazer o login.

Para as perguntas restantes, pressione Yquando solicitado a atualizar o .google_authenticatorarquivo, Ypara não permitir vários usos do mesmo token, Npara aumentar a janela de tempo e Yativar a limitação de taxa.

Você terá que repetir essa etapa para todos os usuários em sua máquina, caso contrário, eles não conseguirão fazer login assim que você concluir este tutorial.

Etapa 3: configurar o SSH para usar o Google Authenticator

Agora que todos os usuários da sua máquina configuraram o aplicativo do autenticador do Google, é hora de configurar o SSH para usar esse método de autenticação sobre o atual.

Digite o seguinte comando para editar o sshdarquivo.

sudo nano /etc/pam.d/sshd

Encontre a linha @include common-authe comente, como mostrado abaixo.

# Standard Un*x authentication.
#@include common-auth

Adicione a seguinte linha ao final deste arquivo.

auth required pam_google_authenticator.so

Pressione CTRLXpara salvar e sair.

Em seguida, digite o seguinte comando para editar o sshd_configarquivo.

sudo nano /etc/ssh/sshd_config

Encontre o termo ChallengeResponseAuthenticatione defina seu valor para yes. Encontre também o termo PasswordAuthentication, descomente-o e altere seu valor para no.

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

O próximo passo é adicionar a seguinte linha ao final do arquivo.

AuthenticationMethods publickey,keyboard-interactive

Salve e feche o arquivo pressionando CTRLX. Agora que configuramos o servidor SSH para usar o Google Authenticator, é hora de reiniciá-lo.

sudo service ssh restart

Tente fazer login novamente no servidor. Dessa vez, você será solicitado a usar seu código do Autenticador.

ssh [email protected]

Authenticated with partial success.
Verification code:

Digite o código que seu aplicativo gera e você será logado com sucesso.

Nota

No caso de você perder seu telefone, use os códigos de backup da Etapa 2. Se você perdeu seus códigos de backup, sempre poderá encontrá-los no .google_authenticatorarquivo no diretório inicial do usuário depois de efetuar login por meio do console da Vultr.

Conclusão

A autenticação de dois fatores melhora bastante a segurança do seu servidor e permite ajudar a impedir ataques comuns de força bruta.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 241

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?