Aprende cómo habilitar la autenticación de dos factores en Linux para iniciar sesión utilizando Google Authenticator en tu PC/laptop y en tu smartphone.
Tener una contraseña segura y una buena política de sudoers es excelente, pero no es infalible, y algunas veces no es suficiente para protegerte. Es por eso que muchos en el campo de la seguridad han recurrido al uso de la autenticación de dos factores en Linux.
En este artículo, veremos cómo habilitar la autenticación de dos factores en Linux utilizando Google Authenticator.
1. Instalación de Google Authenticator
Usar Google Authenticator es posible, gracias a un plugin de pam. Use este complemento con GDM (y otros administradores de escritorio que lo admitan). Aquí le mostramos cómo instalarlo en su PC con Linux.
1.1. Google Authenticator en Linux
- Para sistemas basados en Ubuntu
sudo apt install libpam-google-authenticator
- Para sistemas basados en Debian
sudo apt-get install libpam-google-authenticator
- Arch Linux
Arch Linux no es compatible con el módulo de autenticación de Google pam de forma predeterminada. Los usuarios necesitarán agarrar y compilar el módulo a través de un paquete AUR. Descargue la última versión del PKGBUILD o diríjalo a su ayudante AUR favorita para que funcione.
- Fedora
sudo dnf install google-authenticator
- OpenSUSE
sudo zypper install google-authenticator-libpam
Otros Linux
El código fuente para la versión Linux de Google Authenticator, así como el plugin libpam utilizado en esta guía, está disponible en Github. Si está utilizando una distribución de Linux no tradicional, dirígete aquí y sigue las instrucciones de la página. Las instrucciones pueden ayudarte a compilarlo desde la fuente.
https://github.com/google/google-authenticator-libpam
2. Configurar Google Authenticator en Linux
Un archivo de configuración necesita edición antes de que pam funcione con el complemento de Autenticación de Google (Google Authenticator). Para modificar este archivo de configuración, abra una ventana de terminal. Dentro de la terminal y ejecute:
sudo nano /etc/pam.d/common-auth
Dentro del archivo common-auth, hay mucho que mirar. Muchos comentarios y notas sobre cómo el sistema debe usar la configuración de autenticación entre servicios en Linux. Ignore todo esto en el archivo y desplácese hasta “# here are the per-package modules (the “Primary” block)“. Mueva el cursor debajo de él con la tecla de flecha hacia abajo (↓), y presione la tecla Intro para hacer una nueva línea. Entonces escribe esto:
auth required pam_google_authenticator.so
Después de escribir esta nueva línea, presione CTRL + O para guardar la edición. A continuación, presione CTRL + X para salir de Nano.
A continuación, regrese a la terminal y escriba “google-authenticator“. Luego se te pedirá que respondas algunas preguntas.
La primera pregunta que hace Google Authenticator es “Do you want authentication tokens to be time-based” (¿Desea que los tokens de autenticación se basen en el tiempo?). Responda “Sí” presionando “y” en el teclado.
Después de responder esta pregunta, la herramienta imprimirá una nueva clave secreta (secret key), junto con algunos códigos de emergencia. Guarde estos códigos, ya que es importante.
Continúa y responde las siguientes tres preguntas con “yes
“, seguidas de “no
” y “no
“.
3. Configurando Google Authenticator en el smartphone
Del lado de Linux de las cosas está funcionando. Ahora es el momento de configurar la aplicación Google Authenticator para que funcione con la nueva configuración. Para comenzar, abra la aplicación y seleccione la opción “Enter a provide Key” (Ingresar una clave provista). Esto muestra un área de “enter account details” (ingresar detalles de la cuenta). *También puede hacerlo automáticamente con la opción “Scan a barcode”*
En esta área, hay dos cosas que completar: el nombre de la PC (el hostname) con la que está utilizando el autenticador, así como la clave secreta que anotó anteriormente. Complete ambos y Google Authenticator estará operativo.
4. Iniciar sesión en Linux con código de verificación
Ha configurado Google Authenticator en Linux, así como su dispositivo móvil y todo funciona en conjunto como debería. Para iniciar sesión, seleccione el usuario. Inmediatamente después de seleccionar al usuario, su sistema operativo le pedirá un código de autenticación. Abra su dispositivo móvil, vaya a Google Authenticator e ingrese el código que aparece en el administrador de inicio de sesión.
Si el código es exitoso, entonces podrá ingresar el código de acceso del usuario.
5. Conclusión
Tener la autenticación de dos factores conectada directamente al escritorio de Linux agrega una capa adicional de seguridad que debería estar allí por defecto. Con esto habilitado, es mucho más difícil obtener acceso al sistema de alguien.
Dos factores pueden ser dudosos a veces (como si fuera demasiado lento para el autenticador), pero en general es una adición bienvenida a cualquier administrador de escritorio de Linux. ¡No esperes para probarlo! 🙂