En este tutorial, describiremos los pasos necesarios para configurar la autenticación de dos factores (2FA) usando el autenticador de Google en un Ubuntu 16.04 VPS. Esta aplicación incluye implementaciones de generadores de códigos de acceso de un solo uso para varias plataformas móviles. Este método agrega otra capa de protección a su servidor y agrega un paso adicional al procedimiento básico de inicio de sesión.
1. Iniciar sesión a través de SSH
Inicie sesión en su servidor a través de SSH como usuario root
ssh root@IP_Address
2. Actualice los paquetes del sistema
Actualice todos los paquetes instalados:
apt-get update && apt-get upgrade
3. Instalar el Autenticador de Google
Instala el Autenticador de Google paquete.
apt-get install libpam-google-authenticator
Una vez que el paquete esté instalado, ejecute el programa google-authenticator para crear una clave para el usuario con el que iniciará sesión. El programa puede generar dos tipos de tokens de autenticación:basados en el tiempo y tokens de un solo uso . Las contraseñas basadas en el tiempo cambiarán aleatoriamente en una cierta cantidad de tiempo, y las contraseñas de un solo uso son válidas para una única autenticación.
4. Ejecute el Autenticador de Google
En nuestro caso, utilizaremos contraseñas basadas en el tiempo. Ejecute el programa para crear las claves
google-authenticator
Se le preguntará si desea que la autenticación se base en el tiempo.
Do you want authentication tokens to be time-based (y/n) y
Se generará un gran código QR en su terminal. Puede escanear el código con la aplicación de autenticación en su teléfono o tableta Android/iOS/Windows o ingresar la clave secreta generada en la pantalla.
También se generarán códigos scratch de emergencia. Puede usar estos códigos para la autenticación en caso de que pierda su dispositivo móvil.
Your emergency scratch codes are: 80463533 68335920 89221348 12489672 11144603
Guarde la configuración de autenticación para el usuario root respondiendo SÍ a la siguiente pregunta
Do you want me to update your "/root/.google_authenticator" file (y/n) y
5. Configure el autenticador para generar contraseñas de un solo uso.
A continuación, puede configurar el autenticador para generar contraseñas de un solo uso. Como duran 30 segundos, todas las contraseñas generadas se pueden usar una vez.
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y
Puede usar la siguiente configuración si tiene problemas de sincronización de tiempo entre sus dispositivos, por lo que no usaremos esta opción
By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) n
La siguiente configuración evita los ataques de fuerza bruta. Solo tendrá tres oportunidades cada 30 segundos para ingresar la contraseña correcta.
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y
Ahora tenemos configurada la aplicación Google Authenticator y el siguiente paso es configurar los ajustes de autenticación en openSSH. Para hacerlo, abra el archivo “/etc/pam.d/sshd” y agregue la siguiente línea al final del archivo:
# vim /etc/pam.d/sshd auth required pam_google_authenticator.so
Guarde los cambios, abra el archivo "/etc/ssh/sshd_config" y habilite la autenticación de respuesta de desafío.
# vim /etc/ssh/sshd_config ChallengeResponseAuthentication yes
6. Reiniciar servidor SSH
Guarde el archivo y reinicie el servidor SSH para que los cambios surtan efecto.
systemctl restart ssh
Si siguió de cerca este tutorial, la autenticación de dos factores está habilitada en su servidor y cada vez que intente iniciar sesión en su Ubuntu VPS a través de SSH, deberá ingresar su contraseña de usuario y el código de verificación generado por la aplicación de autenticación de Google en su dispositivo móvil .
Por supuesto, no es necesario que proteja SSH mediante la autenticación de dos factores en Ubuntu 16.04, si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que protejan SSH mediante la autenticación de dos factores. en Ubuntu 16.04. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si le gustó esta publicación sobre cómo asegurar SSH usando la autenticación de dos factores en Ubuntu 16.04, compártala con sus amigos en las redes sociales usando los botones a continuación o deje una respuesta en la sección de comentarios. Gracias.
Hay una nueva versión disponible aquí:Configure la autenticación multifactor para SSH en Ubuntu 20.04.