Cómo iniciar sesión en su escritorio Linux con Google Authenticator

Para mayor seguridad, puede requerir un token de autenticación basado en el tiempo, así como una contraseña para iniciar sesión en su PC con Linux. Esta solución utiliza Google Authenticator y otras aplicaciones TOTP.

Para mayor seguridad, puede requerir un token de autenticación basado en el tiempo, así como una contraseña para iniciar sesión en su PC con Linux. Esta solución utiliza Google Authenticator y otras aplicaciones TOTP.

Este proceso se realizó en Ubuntu 14.04 con el escritorio estándar de Unity y el administrador de inicio de sesión LightDM, pero los principios son los mismos en la mayoría de las distribuciones y escritorios de Linux.

Anteriormente le mostramos cómo solicitar Google Authenticator para el acceso remoto a través de SSH, y este proceso es similar. Esto no requiere la aplicación Google Authenticator, pero funciona con cualquier aplicación compatible que implemente el esquema de autenticación TOTP, incluida Authy.

Instale el PAM de Google Authenticator

Al configurar esto para el acceso SSH, primero tendremos que instalar el software PAM («módulo de autenticación enchufable») apropiado. PAM es un sistema que nos permite conectar diferentes tipos de métodos de autenticación en un sistema Linux y requerirlos.

En Ubuntu, el siguiente comando instalará el Google Authenticator PAM. Abra una ventana de Terminal, escriba el siguiente comando, presione Entrar y proporcione su contraseña. El sistema descargará el PAM de los repositorios de software de su distribución de Linux y lo instalará:

sudo apt-get install libpam-google-authenticator

Con suerte, otras distribuciones de Linux también deberían tener este paquete disponible para una fácil instalación: abra los repositorios de software de su distribución de Linux y realice una búsqueda. En el peor de los casos, puede encontrar el código fuente del módulo PAM en GitHub y compilarlo usted mismo.

Como señalamos anteriormente, esta solución no depende de «llamar a casa» a los servidores de Google. Implementa el algoritmo TOTP estándar y puede usarse incluso cuando su computadora no tiene acceso a Internet.

Crea tus claves de autenticación

Ahora deberá crear una clave de autenticación secreta e ingresarla en la aplicación Google Authenticator (o una aplicación similar) en su teléfono. Primero, inicie sesión como su cuenta de usuario en su sistema Linux. Abra una ventana de terminal y ejecute el comando google-authenticator . Escriba y y siga las indicaciones aquí. Esto creará un archivo especial en el directorio de la cuenta de usuario actual con la información del Autenticador de Google.

También se le guiará por el proceso de obtener ese código de verificación de dos factores en un Google Authenticator o una aplicación TOTP similar en su teléfono inteligente. Su sistema puede generar un código QR que puede escanear, o puede escribirlo manualmente.

Asegúrese de anotar sus códigos de emergencia de scratch, que puede usar para iniciar sesión si pierde su teléfono.

Realice este proceso para cada cuenta de usuario que use su computadora. Por ejemplo, si usted es la única persona que usa su computadora, puede hacerlo una vez en su cuenta de usuario normal. Si tiene otra persona que usa su computadora, deseará que inicie sesión en su propia cuenta y genere un código de dos factores apropiado para su propia cuenta para que pueda iniciar sesión.

Activar autenticación

Aquí es donde las cosas se ponen un poco complicadas. Cuando explicamos cómo habilitar dos factores para los inicios de sesión SSH, solo lo requerimos para los inicios de sesión SSH. Esto aseguró que aún podría iniciar sesión localmente si perdió su aplicación de autenticación o si algo salió mal.

Dado que habilitaremos la autenticación de dos factores para los inicios de sesión locales, aquí hay problemas potenciales. Si algo sale mal, es posible que no pueda iniciar sesión. Teniendo esto en cuenta, lo guiaremos para habilitarlo solo para inicios de sesión gráficos. Esto le proporciona una escotilla de escape si la necesita.

Habilitar Google Authenticator para inicios de sesión gráficos en Ubuntu

Siempre puede habilitar la autenticación de dos pasos solo para inicios de sesión gráficos, omitiendo el requisito cuando inicie sesión desde el mensaje de texto. Esto significa que podría cambiar fácilmente a un terminal virtual, iniciar sesión allí y revertir sus cambios para que no se requiera el Gogole Authenciator si tiene algún problema.

Claro, esto abre un agujero en su sistema de autenticación, pero un atacante con acceso físico a su sistema ya puede explotarlo de todos modos. Es por eso que la autenticación de dos factores es particularmente efectiva para inicios de sesión remotos a través de SSH.

Aquí le mostramos cómo hacer esto para Ubuntu, que utiliza el administrador de inicio de sesión LightDM. Abra el archivo LightDM para editarlo con un comando como el siguiente:

sudo gedit /etc/pam.d/lightdm

(Recuerde, estos pasos específicos solo funcionarán si su distribución y escritorio de Linux usan el administrador de inicio de sesión de LightDM).

Agregue la siguiente línea al final del archivo y guárdela:

se requiere autenticación pam_google_authenticator.so nullok

El bit «nullok» al final le dice al sistema que permita que un usuario inicie sesión incluso si no ha ejecutado el comando google-authenticator para configurar la autenticación de dos factores. Si lo han configurado, deberán ingresar un código de tiempo reducido; de lo contrario, no lo harán. Elimine el «nullok» y las cuentas de usuario que no hayan configurado un código de Autenticador de Google simplemente no podrán iniciar sesión gráficamente.

La próxima vez que un usuario inicie sesión gráficamente, se le pedirá su contraseña y luego se le solicitará el código de verificación actual que se muestra en su teléfono. Si no ingresan el código de verificación, no se les permitirá iniciar sesión.

El proceso debería ser bastante similar para otras distribuciones y escritorios de Linux, ya que los administradores de sesión de escritorio de Linux más comunes usan PAM. Probablemente solo tendrá que editar un archivo diferente con algo similar para activar el módulo PAM apropiado.

Si utiliza el cifrado del directorio principal

Las versiones anteriores de Ubuntu ofrecían una opción fácil de «encriptación de la carpeta de inicio» que encriptaba todo su directorio de inicio hasta que ingresara su contraseña. Específicamente, esto usa ecryptfs. Sin embargo, debido a que el software PAM depende de un archivo de Google Authenticator almacenado en su directorio de inicio de manera predeterminada, el cifrado interfiere con la lectura de PAM del archivo a menos que se asegure de que esté disponible en el sistema sin cifrar antes de iniciar sesión. Consulte el archivo README para obtener más información. información sobre cómo evitar este problema si todavía está utilizando las opciones de encriptación del directorio de inicio en desuso.

Las versiones modernas de Ubuntu ofrecen cifrado de disco completo, que funcionará bien con las opciones anteriores. No tienes que hacer nada especial

Ayuda, se rompió!

Debido a que acabamos de habilitar esto para inicios de sesión gráficos, debería ser fácil deshabilitarlo si causa un problema. Presione una combinación de teclas como Ctrl + Alt + F2 para acceder a un terminal virtual e inicie sesión allí con su nombre de usuario y contraseña. Luego puede usar un comando como sudo nano /etc/pam.d/lightdm para abrir el archivo y editarlo en un editor de texto de terminal. Utilice nuestra guía de Nano para eliminar la línea y guardar el archivo, y podrá iniciar sesión normalmente de nuevo.

También puede obligar a que se requiera Google Authenticator para otros tipos de inicios de sesión, posiblemente incluso todos los inicios de sesión del sistema, al agregar la línea «auth required pam_google_authenticator.so» a otros archivos de configuración de PAM. Ten cuidado si haces esto. Y recuerde, es posible que desee agregar «nullok» para que los usuarios que no hayan pasado por el proceso de configuración aún puedan iniciar sesión.

Puede encontrar más documentación sobre cómo usar y configurar este módulo PAM en el archivo README del software en GitHub.

Rate article
labsfabs.com
Add a comment