como configurar autenticação de dois fatores no Ubuntu para usuários do Ubuntu usando o Google authenticator?

11

Como configurar a autenticação de dois fatores no Ubuntu para usuários do Ubuntu usando o Google authenticator (também pode ser configurado para outras contas do Google)?

    
por Hrish 14.04.2015 / 12:44

1 resposta

15

Observação: Depois de ativar a autenticação de dois fatores para um usuário e não definir o mesmo para o root, você nunca poderá fazer login como root diretamente. Nesse caso, uma forma de contornar é usar qualquer outro usuário sudo para o qual tenhamos configurado e, em seguida, usar sudo su - para alternar para o usuário raiz.

Use os passos abaixo para configurá-lo.

  1. Instale o pacote abaixo indicado para instalar o Google authenticator, que usaremos como um complemento com autenticação PAM:

    sudo apt-get install libpam-google-authenticator
    
  2. Agora edite /etc/pam.d/sshd este arquivo e adicione o Google Authenticator conforme abaixo:

    *sudo vim /etc/pam.d/sshd
    

    insira abaixo no topo deste arquivo -

    auth required pam_google_authenticator.so
    
  3. Aqui temos que fazer alterações em /etc/ssh/sshd_config para garantir que o ssh use o Google Authenticator, assim garantimos que o ssh esteja usando a autenticação de dois fatores.

    vim /etc/ssh/sshd_config
    

    Neste arquivo, temos que encontrar ChallengeResponseAuthentication e descomentar e / ou modificá-lo para parecer com o seguinte (em suma, defina-o para sim: P):

    ChallengeResponseAuthentication yes
    

    Autenticação extra de fator 2 ou GUI 2 pule esta e vá para a etapa 4: Para habilitá-lo para login da GUI, edite /etc/pam.d/common-auth :

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

    e adicione esse auth required pam_google_authenticator.so acima da linha auth [success=1 default=ignore] pam_unix.so nullok_secure e salve o arquivo.

  4. Agora mude para uma conta na qual você deseja configurá-lo.
    ( Nota: eu sugiro criar pelo menos duas contas de super usuário no sistema além da conta root e configurá-lo pelo menos, para um deles primeiro, mas não o conta root.)

    sudo su - testuser1
    
  5. Agora vamos usar o comando abaixo para configurar a autenticação de dois fatores para este testuser1 :

    google-authenticator
    
  6. A execução desse comando fará a pergunta abaixo. (resposta recomendada é sim)

      

    Você deseja que os tokens de autenticação sejam baseados em tempo (y / n) y

  7. Depois disso, ele mostrará o código QR e os códigos de emergência e alguns outros detalhes. A saída deve ser semelhante à imagem abaixo:

  8. Agora, você precisa usar seu telefone Android / Apple / Blackberry para fazer o download do & amp; instale o Google Authenticator Aplicativo dos respectivos locais de mercado, por exemplo, Google Play Store. , o que gerará código para você fazer login.

    Abaixo estão as imagens do aplicativo Ícone e aplicativo retirados do aplicativo Android phone.

  9. Inicie o aplicativo em seu telefone e escaneie o QR Code ou use a chave secreta e o código de verificação abaixo do código QR no sistema, que você também pode ver na primeira tela acima.

  10. Uma vez que tudo isso é feito, é muito importante anotar e salvar seus códigos temporários de emergência em um local seguro , como esses são os códigos que podem ajudá-lo caso você seja bloqueado de alguma forma.

  11. Neste ponto, você deve dar uma olhada na parte inferior da tela, onde está fazendo uma pergunta abaixo. (resposta recomendada é sim):

      

    Você quer que eu atualize seu arquivo "/home/testuser1/.google_authenticator" (y / n) y

  12. Novamente, você fará mais uma pergunta e a resposta recomendada para a pergunta abaixo também é Sim:

      

    Deseja impedir vários usos da mesma autenticação   símbolo? Isso restringe você a um login a cada 30s, mas aumenta   suas chances de perceber ou até mesmo impedir ataques man-in-the-middle (y / n) y

  13. A próxima pergunta seria a seguinte e a resposta recomendada é Não:

      

    Por padrão, os tokens são bons por 30 segundos e, para compensar possíveis distorções de tempo entre o cliente e o servidor, permitimos um token extra antes e depois do horário atual. Se você tiver problemas com sincronização de horário ruim, poderá aumentar a janela do tamanho padrão de 1: 30min para cerca de 4min. Você quer fazer isso (s / n) n

  14. E a última pergunta seria a seguinte e a resposta recomendada é Sim:

      

    Se o computador em que você está efetuando login não estiver protegido contra tentativas de login de força bruta, será possível ativar a limitação de taxa para o módulo de autenticação. Por padrão, isso limita os invasores a não mais que 3 tentativas de login a cada 30 s. Você quer habilitar o limite de taxa (y / n) y

  15. Agora, mude a saída dessa conta para voltar para a conta raiz:

    exit
    
  16. Agora reinicie o serviço ssh

    service ssh restart
    

Agora, basta fazer uma sessão ssh para o usuário para o qual você a configurou e, em primeiro lugar, solicitará um código de verificação que você poderá inserir em seu celular e solicitará uma senha de usuário.

Isso é tudo o que é necessário para configurar a autenticação de dois fatores. Por favor, sinta-se livre para melhorar a resposta quando necessário e, por favor, desculpe-me pela linguagem não tão boa.

    
por Hrish 14.04.2015 / 12:44