Como fazer login no seu desktop Linux com o Google Authenticator

Índice:

Como fazer login no seu desktop Linux com o Google Authenticator
Como fazer login no seu desktop Linux com o Google Authenticator

Vídeo: Como fazer login no seu desktop Linux com o Google Authenticator

Vídeo: Como fazer login no seu desktop Linux com o Google Authenticator
Vídeo: How To Get a Linux Desktop On Your Chromebook - YouTube 2024, Maio
Anonim
Para segurança adicional, você pode exigir um token de autenticação baseado em tempo, bem como uma senha para efetuar login no seu PC com Linux. Esta solução usa o Google Authenticator e outros aplicativos TOTP.
Para segurança adicional, você pode exigir um token de autenticação baseado em tempo, bem como uma senha para efetuar login no seu PC com Linux. Esta solução usa o Google Authenticator e outros aplicativos TOTP.

Este processo foi executado no Ubuntu 14.04 com o desktop Unity padrão e o gerenciador de login LightDM, mas os princípios são os mesmos na maioria das distribuições e desktops Linux.

Anteriormente, mostramos a você como exigir o Google Authenticator para acesso remoto via SSH, e esse processo é semelhante. Isso não exige o aplicativo Google Authenticator, mas funciona com qualquer aplicativo compatível que implemente o esquema de autenticação TOTP, incluindo o Authy.

Instalar o Google Authenticator PAM

Ao configurar isso para acesso SSH, primeiro precisamos instalar o software PAM ("módulo de autenticação conectável") apropriado. O PAM é um sistema que nos permite conectar diferentes tipos de métodos de autenticação em um sistema Linux e requerê-los.

No Ubuntu, o comando a seguir instalará o Google Authenticator PAM. Abra uma janela do Terminal, digite o seguinte comando, pressione Enter e forneça sua senha. O sistema baixará o PAM dos repositórios de software da sua distribuição Linux e o instalará:

sudo apt-get install libpam-google-authenticator

Outras distribuições Linux também devem ter esse pacote disponível para instalação fácil - abra os repositórios de software da sua distribuição Linux e faça uma pesquisa por ele. Na pior das hipóteses, você pode encontrar o código fonte para o módulo PAM no GitHub e compilá-lo você mesmo.
Outras distribuições Linux também devem ter esse pacote disponível para instalação fácil - abra os repositórios de software da sua distribuição Linux e faça uma pesquisa por ele. Na pior das hipóteses, você pode encontrar o código fonte para o módulo PAM no GitHub e compilá-lo você mesmo.

Como apontamos anteriormente, essa solução não depende de "telefonar para casa" para os servidores do Google. Ele implementa o algoritmo TOTP padrão e pode ser usado mesmo quando seu computador não tem acesso à Internet.

Crie suas chaves de autenticação

Agora você precisa criar uma chave de autenticação secreta e inseri-la no aplicativo Google Authenticator (ou similar) no seu telefone. Primeiro, faça o login como sua conta de usuário no seu sistema Linux. Abra uma janela de terminal e execute o autenticador do google comando. Tipo y e siga as instruções aqui. Isso criará um arquivo especial no diretório da conta do usuário atual com as informações do Google Authenticator.

Você também passará pelo processo de obter o código de verificação de dois fatores em um Google Authenticator ou em um aplicativo TOTP semelhante em seu smartphone. Seu sistema pode gerar um código QR que você pode digitalizar, ou você pode digitá-lo manualmente.
Você também passará pelo processo de obter o código de verificação de dois fatores em um Google Authenticator ou em um aplicativo TOTP semelhante em seu smartphone. Seu sistema pode gerar um código QR que você pode digitalizar, ou você pode digitá-lo manualmente.

Certifique-se de anotar seus códigos de emergência, que você pode usar para fazer o login se perder seu telefone.

Passar por este processo para cada conta de usuário que usa seu computador. Por exemplo, se você for a única pessoa que usa seu computador, basta fazer isso uma vez em sua conta de usuário normal. Se você usa outra pessoa que usa seu computador, convém que ele faça login em sua própria conta e gere um código de dois fatores apropriado para a própria conta, para que ele possa fazer login.
Passar por este processo para cada conta de usuário que usa seu computador. Por exemplo, se você for a única pessoa que usa seu computador, basta fazer isso uma vez em sua conta de usuário normal. Se você usa outra pessoa que usa seu computador, convém que ele faça login em sua própria conta e gere um código de dois fatores apropriado para a própria conta, para que ele possa fazer login.
Image
Image

Ativar Autenticação

Aqui é onde as coisas ficam um pouco mais difíceis. Quando explicamos como habilitar dois fatores para logins SSH, exigimos apenas para logins SSH. Isso garantiu que você ainda pudesse fazer login localmente se perdesse o aplicativo de autenticação ou se algo desse errado.

Como ativaremos a autenticação de dois fatores para logins locais, há possíveis problemas aqui. Se algo der errado, você pode não conseguir fazer login. Tendo isso em mente, orientaremos você para isso apenas para logins gráficos. Isso lhe dará uma saída de emergência se você precisar.

Ativar o Google Authenticator para logins gráficos no Ubuntu

Você sempre pode habilitar a autenticação em duas etapas apenas para logins gráficos, ignorando o requisito ao efetuar login a partir do prompt de texto. Isso significa que você pode alternar facilmente para um terminal virtual, fazer login e reverter suas alterações para que o Gogole Authenciator não seja necessário se você tiver um problema.

Claro, isso abre um buraco no seu sistema de autenticação, mas um invasor com acesso físico ao seu sistema já pode explorá-lo de qualquer maneira. É por isso que a autenticação de dois fatores é particularmente eficaz para logins remotos via SSH.

Veja como fazer isso para o Ubuntu, que usa o gerenciador de login do LightDM. Abra o arquivo LightDM para edição com um comando como o seguinte:

sudo gedit /etc/pam.d/lightdm

(Lembre-se, essas etapas específicas só funcionarão se sua distribuição Linux e desktop usarem o gerenciador de login do LightDM.)

Adicione a seguinte linha ao final do arquivo e salve-a:
Adicione a seguinte linha ao final do arquivo e salve-a:

auth required pam_google_authenticator.so nullok

O bit "nullok" no final diz ao sistema para permitir que um usuário faça o login mesmo que não tenha executado o comando google-authenticator para configurar a autenticação de dois fatores. Se eles configurarem, precisarão inserir um código de tempo de duração. Caso contrário, eles não precisarão. Remova o "nullok" e as contas de usuário que não tiverem configurado um código do Google Authenticator não conseguirão fazer login graficamente.

Na próxima vez em que um usuário fizer login graficamente, será solicitada sua senha e, em seguida, será solicitado o código de verificação atual exibido em seu telefone. Se eles não inserirem o código de verificação, eles não poderão fazer login.
Na próxima vez em que um usuário fizer login graficamente, será solicitada sua senha e, em seguida, será solicitado o código de verificação atual exibido em seu telefone. Se eles não inserirem o código de verificação, eles não poderão fazer login.
O processo deve ser bastante semelhante para outras distribuições e desktops do Linux, já que os gerenciadores de sessão de desktop mais comuns do Linux usam o PAM. Você provavelmente terá que editar um arquivo diferente com algo semelhante para ativar o módulo PAM apropriado.
O processo deve ser bastante semelhante para outras distribuições e desktops do Linux, já que os gerenciadores de sessão de desktop mais comuns do Linux usam o PAM. Você provavelmente terá que editar um arquivo diferente com algo semelhante para ativar o módulo PAM apropriado.

Se você usar criptografia de diretório base

Versões mais antigas do Ubuntu ofereciam uma opção fácil de “criptografia de pastas domésticas” que criptografava todo o seu diretório pessoal até você digitar sua senha. Especificamente, isso usa o ecryptfs. No entanto, como o software PAM depende de um arquivo do Google Authenticator armazenado em seu diretório pessoal por padrão, a criptografia interfere com o PAM ao ler o arquivo, a menos que você garanta que ele esteja disponível em formato não criptografado antes de efetuar login. informações sobre como evitar esse problema se você ainda estiver usando as opções de criptografia de diretório inicial descontinuadas.

As versões modernas do Ubuntu oferecem criptografia de disco completo, o que funcionará bem com as opções acima. Você não precisa fazer nada de especial

Ajuda, quebrou!

Como acabamos de ativá-lo para logins gráficos, deve ser fácil desativá-lo se causar algum problema. Pressione uma combinação de teclas como Ctrl + Alt + F2 para acessar um terminal virtual e faça o login com seu nome de usuário e senha. Você pode então usar um comando como sudo nano /etc/pam.d/lightdm para abrir o arquivo para edição em um editor de texto do terminal. Use nosso guia para Nano para remover a linha e salvar o arquivo, e você poderá fazer login novamente normalmente.

Você também pode forçar o Google Authenticator a ser necessário para outros tipos de logins - potencialmente até mesmo todos os logons do sistema - adicionando a linha "auth required pam google authenticator.so" a outros arquivos de configuração do PAM. Tenha cuidado se você fizer isso. E lembre-se de adicionar "nullok" para que os usuários que não passaram pelo processo de configuração ainda possam fazer login.
Você também pode forçar o Google Authenticator a ser necessário para outros tipos de logins - potencialmente até mesmo todos os logons do sistema - adicionando a linha "auth required pam google authenticator.so" a outros arquivos de configuração do PAM. Tenha cuidado se você fizer isso. E lembre-se de adicionar "nullok" para que os usuários que não passaram pelo processo de configuração ainda possam fazer login.

Mais documentação sobre como usar e configurar este módulo PAM pode ser encontrada no arquivo README do software no GitHub.

Recomendado: