A verificação em duas etapas (two-factors) é a tecnologia que nos permite adicionar uma camada de segurança no processo de autenticação convencional (usuário e senha). Predominantemente utilizado hoje em dia em vários serviços online, tais como: Facebook, Google, Twitter, … etc. Particularmente, eu uso em todos os serviços (quando disponível) e sugiro que você faça o mesmo. Então, que tal ativar esse recurso no seu sistema Ubuntu? Saiba como…
Em sua maioria, o modo de autenticação de duas etapas mais usado é o recebimento de mensagem SMS no telefone cadastrado. Contudo, cada serviço adota ou oferece recursos diversos. No nosso caso, será usado o Google Authenticator Authenticator – disponível no Google Play como verificador da segunda etapa após autenticação no sistema Ubuntu. Em outras palavras, logo após se autenticar no seu Ubuntu; você obterá um número gerado no Google Authenticator para realizar a inserção do código verificador!
REQUISITOS
COMO USAR ?!
É simples!
PASSO 1
Primeiro, você deve instalar o Google Authenticator no seu dispositivo Android. Depois de ter instalado o aplicativo você deve configurar uma conta – onde é dada duas opções: Scannear um código de barras ou Informar manualmente a chave fornecida – Usaremos a segunda opção!
PASSO 2
Com acesso ao seu sistema Ubuntu Linux, você precisará instalar o pacote do Google Authenticator para Linux. Abra o terminal, execute:
PASSO 3
Como vimos, o Google Authenticator no Android permite você configurar sua conta de duas maneiras, sendo a segunda opção a ser adota (chave de autenticação inserida manualmente). Sendo assim, é preciso criar a chave no sistema Ubuntu Linux.
Execute no terminal o comando abaixo, para iniciar o processo:
Algumas perguntas são feitas e você deve responder sim (y) em todas. Basicamente, são perguntados o modo de geração dos tokens (códigos verificadores) – padrão “time-based” onde tempo-em-tempo é gerado um novo token para você inserir, sem a necessidade de memorizá-lo. Desabilitar o uso do mesmo token e habilitar o modo de bloqueio em caso de tentativas superiores a 3.
Por fim, ele irá produzir um código de barras e uma chave secreta que deve ser usada no aplicativo Google Authenticator no Android. Além disso, também é gerado alguns códigos de segurança para que sejam usados caso não funcione o serviço. Recomendo que guarde esses códigos; pode ser necessário.
A chave gerada no meu caso foi: 3AMVHXZ3TPWWYRFM
PASSO 4
Agora, é preciso habilitar a autenticação em duas etapas no modo gráfico do Ubuntu – LightDM. Para isso, é necessário editar o arquivo /etc/pam.d/lightdm. Abra-o e insira no final o trecho a seguir:
Adicione a seguinte linha no final do arquivo:
O parâmetro “nullok” indica que outros usuários que não usam a verificação em duas etapas podem fazer login normalmente.
PASSO 5
Por fim, antes de usar a Verificação de duas Etapas, você deve ativar a chave de autenticação gerada na execução do comando google-authenticator. Para isso, acesse seu dispositivo Android, abra o Google Authenticator e adicione uma conta escolhendo a opção de “digitar chave fornecida”:
A chave gerada no meu caso foi: 3AMVHXZ3TPWWYRFM
PASSO FINAL
Volte ao sistema Ubuntu e faça logout! Pronto… faça login normal na sua conta (usuário e senha) e verá que o código de Verificação de duas Etapas será solicitado:
Para obter o código de verificação a cada momento que realizar o login, você deverá estar com seu dispositivo Android configurado próximo à você. Abra o Google Authenticator e obtenha o código naquele instante:
Possíveis problemas
Como o Google Authenticator trabalha com tempo, você pode não ser capaz de acessar seu sistema por conta da falta de sincronismo entre o dispositivo Android e seu computador.
Neste caso, você pode usar um dos códigos de segurança apresentados no momento da geração da chave de autenticação (PASSO 3).
Se eu não conseguir acessar meu sistema?
Caso não consiga, por algum motivo, você deve acessar o terminal virtual do Linux. Na tela de login, pressione ALT+CTRL+F2 e entre com seu usuário e senha normalmente. Agora, será preciso remover a linha adicionada no final do arquivo /etc/pam.d/lightdm. Entre no arquivo, executando o comando nano /etc/pam.d/lightdm. Procure o cursor na linha correspondente a alteração e pressione CTRL+K para removê-la. Por fim, pressione CTRL+O e ENTER e CTRL+X. Reinicie seu computador (comando reboot) e pronto!! Autentique-se normalmente.
Mais informações
Código-fonte do Google Authenticator How to Log In To Your Linux Desktop With Google Authenticator
Há alguma forma de fazer o ubuntu realizar captura – via webcam – no caso de login errado igual alguns apps do Android permitem?
Hilton, quando você roda o Google Authenticator ele vai exibir uma url longa em cima da sua new secret key. Devido a alguns caracteres que essa url pode ter, o terminal não vai conseguir criar um link corretamente para ela, logo você vai ter que a selecionar com o mouse, copiar pelo teclado (C) e colar em uma janela de um navegador. Fazendo isso, o navegador vai exibir o QRCode pra você fotografar.
Fala Luis. Acho que não consegui me expressar bem. Na verdade o que eu quis dizer é se existe alguma forma de fazer o Ubuntu realizar a captura da imagem da webcam quando alguém tenta fazer o login indevidademente. (Ex. Coloca o login e erra a senha). Nos telefones Android tem um app bacana que faz isso. Daí recebo a imagem via e-mail se alguém tenta destravar meu cel sem ter a senha. Seria bacana ter isso também no meu note.
Dá pra configurar, mas precisa dar uma boa mexida nas configurações do PAM.
Cuidado!! Veja na seção “Se eu não conseguir acessar meu sistema?” como é fácil “burlar” a solução. Se o uso do token não for integrado também ao console (PAM?), não há aumento efetivo da segurança do sistema.
um outro problema é que além do Google já saber os sites e horários que vc mais acessa na internet e saber de tudo que você pesquisa além do seu sistema operacional, agora eles vão saber também quando e quanto tempo vc acessa e fica logado no seu sistema. Estaríamos confiando a segurança local num modo de autenticação online que não sabemos onde nossos dados dicam armazenados e de que forma. Não tenho certeza se essa é a melhor solução.