Activar la verificación en dos pasos en Linux es una de las mejores formas de mejorar la seguridad, incluso robando nuestra contraseña nadie tendrá la capacidad de entrar a nuestro PC si no posee nuestro smartphone.
A estas alturas todos sabemos que usar la misma contraseña en multitud de sitios diferentes es un grave fallo de seguridad. Si dicha contraseña es robada, un atacante podría tener acceso a todo lo que hayamos protegido con esa clave. Sin embargo, llevar la cuenta de todas esas contraseñas distintas que hagamos puede ser realmente difícil, necesitando al final ayudas como programas que nos las organicen. Muchos de estos organizadores de claves a su vez, necesitan de una contraseña maestra, la cual, si es robada concede acceso a las demás claves.
Para proteger nuestras cuentas existen otros métodos que ofrecen un paso de seguridad extra, como por ejemplo la verificación en dos pasos. Este método es muy sencillo, pues solo se necesitan dos cosas diferentes. La primera es algo que sabemos, nuestra contraseña y lo segundo es algo que tenemos, nuestro smartphone. Con la verificación en dos pasos, para entrar a nuestra cuenta tendremos que usar un usuario y contraseña, pero después nos pedirá una clave de verificación aleatoria que conseguiremos de nuestro teléfono. Por lo tanto, para que alguien entre en una cuenta nuestra no le valdrá con saber la contraseña de la cuenta, porque también necesitará nuestro teléfono para ingresar una clave de verificación que además está constantemente en cambio.
En este artículo, vamos a usar el servicio de verificación en dos pasos que proporciona Google para fortalecer la seguridad de nuestro usuario en un sistema Linux. El resultado final será una cuenta a la que después de ingresar nuestro usuario y contraseña, nos pedirá una clave de verificación que se generará en nuestro smartphone y que cambiará cada treinta segundos.
Paso 1: Instalar las herramientas necesarias
Los pasos de está guía han sido realizados en la distribución Ubuntu 14.10, en un entorno Unity con el administrador de sesiones LightDM, pero los principios son aplicables para otras distribuciones.
En el PC: Google Authenticator PAM
Lo primero que debemos hacer es abrir una terminal y ejecutar el comando de instalación (para otras distros puede que tenga un nombre diferente):
$ sudo apt-get install libpam-google-authenticator
En el smartphone: Google Authenticator (u otra que haga una función similar)
Instalamos Google Authenticator desde Google Play si estamos en Android. También está disponible para iOS.
Paso 2: Configurar la verificación en dos pasos en Linux
En el ordenador:
Para conseguir mejorar la seguridad con la verificación en dos pasos en Linux, haremos una clave secreta, a partir de la cual nuestro smartphone creará las claves de verificación que nuestro PC pedirá al hacer login. Para ello, en una terminal ejecutaremos el siguiente comando:
$ google-authenticator
Nos pregunatará si queremos que las claves de verificación estén basadas en el tiempo, contestaremos que sí con y
. Lo que veremos ahora será un código QR que nuestro smartphone podrá reconocer vía Google Authenticator. También podemos introducir la clave secreta directamente en la aplicación, es la que pone your new secret is: clave
. En este punto, nos da una serie de códigos de emergencia por si no llevamos el móvil encima, que sería conveniente tenerlos a mano por si las moscas. También nos dará más opciones sobre las claves de identificación, a las que contestaremos con y
o n
dependiendo de nuestras preferencias personales. Ahora debemos abrir el archivo de configuración del administrador de sesiones LightDM:
sudo gedit /etc/pam.d/lightdm
Al final del archivo añadiremos la siguiente línea:
auth required pam_google_authenticator.so nullok
Guardamos el archivo y la próxima vez que iniciemos sesión comprobaremos que nos pide una clave de verificación. El nullok
es para que los usuarios que no hayan configurado la verificación puedan entrar normalmente a su sesión.
En el móvil:
Necesitamos el teléfono para que nos cree las claves de verificación. Una vez añadida a Google Authenticator la clave secreta creada en el paso anterior vía código QR o manualmente, le pondremos el nombre que queramos a esta nueva cuenta y seleccionaremos la opción «basada en el tiempo». Ahora en nuestro teléfono veremos como cada 30 segundos va cambiando la clave de verificación para nuestro PC.
Con esto la tenemos una verificación en dos pasos en Linux. Si un día queremos retirar esta verificación, solo tendremos que borrar la línea que añadimos al archivo /etc/pam.d/lightdm
.