Cómo instalar y habilitar la autenticación multifactor SSH para sistemas Linux

Cómo instalar y habilitar la autenticación multifactor SSH para sistemas Linux
Secure Shell (SSH) es un protocolo popular que se utiliza para el acceso remoto a los servidores y sistemas de Linux. Proporciona una conexión segura y cifrada que permite a los usuarios administrar y administrar sus sistemas de forma remota.

Sin embargo, usar solo un nombre de usuario y contraseña para acceder a SSH puede dejar a sus sistemas vulnerables a ataques de fuerza bruta, adivinanzas de contraseña y otras amenazas de seguridad. Ahí es donde la autenticación multifactor (MFA) es útil.

Es una capa adicional de seguridad que requiere que los usuarios proporcionen dos o más formas de autenticación para acceder a un sistema. Al requerir que los usuarios presenten múltiples factores, MFA puede mejorar significativamente la seguridad del acceso SSH.

MFA es vital para los sistemas que manejan datos confidenciales o confidenciales, ya que ayuda a prevenir el acceso no autorizado y las violaciones de los datos. Al implementar MFA, puede mejorar significativamente la seguridad de su sistema Linux y proteger mejor sus datos y activos.

Este artículo ilustra la instalación, configuración y habilitación de MFA para el acceso SSH en los sistemas Linux. Describiremos los pasos requeridos para configurar un método MFA compatible como Google Authenticator o Duo Security, y probar la configuración para el acceso SSH.

Preparación de su sistema Linux para MFA

Antes de instalar y configurar MFA en su sistema Linux, garantizar que su sistema esté actualizado y que tenga los paquetes necesarios instalados es crucial. Actualice su sistema utilizando la siguiente utilidad:

Sudo Apt Update && Sudo Apt Upgrade -y

Una vez que su sistema esté actualizado, debe instalar el paquete PAM (módulos de autenticación conectables) que habilita MFA para SSH.

Instalación y configuración de un método MFA compatible

Hay varios métodos MFA disponibles para el acceso SSH, incluidos Google Authenticator, Duo Security y Yubikey. En esta sección, nos centraremos en configurar el Google Authenticator que es un método MFA ampliamente utilizado y fácil de establecer para SSH.

Estos son los pasos para instalar y configurar el autenticador de Google para SSH MFA:

Paso 1: crear un nuevo usuario

Primero, debe crear un nuevo usuario para el acceso SSH. Puede crear un nuevo usuario ejecutando el siguiente código:

Adduser de sudo

Reemplazar con el nombre apropiado del usuario que desea crear.

Paso 2: Cambie al nuevo usuario

A continuación, cambie al nuevo usuario ejecutando el siguiente comando:

SU -

Su sistema le pedirá que ingrese la contraseña para el nuevo usuario.

Paso 3: Instale Google Authenticator

Instale el autenticador de Google usando esta utilidad:

sudo apto install libpam-google-autoricator -y

La siguiente es una salida de muestra para el comando anterior:

Esta salida muestra el Administrador de paquetes que es "apt", instalando el paquete "libpam-google-autenticator" y sus dependencias que es "libqrencode4". La opción -y confirma automáticamente el indicador de instalación. El resultado también muestra el progreso del proceso de instalación, incluida la descarga e instalación de los paquetes y cualquier espacio de disco adicional que se utilizará. Finalmente, muestra que la instalación y cualquier desencadenante relevante para el procesamiento posterior a la instalación tienen éxito.

Paso 4: Generar una nueva clave secreta

Esta utilidad lo ayudará a generar una nueva clave secreta para el usuario:

Autenticador de Google

Su sistema le pedirá que responda algunas preguntas, incluidas las siguientes:

  • ¿Quieres que los tokens de autenticación estén basados ​​en el tiempo (S/N)?? Y
  • ¿Quieres que actualice tu “/home/yourusername/.Archivo de Google_Authenticator ”(S/N)? Y
  • ¿Desea no permitir múltiples usos del mismo token de autenticación?? (y/n) y
  • ¿Quieres habilitar la limitación de la velocidad?? (y/n) y

Puede aceptar los valores predeterminados para la mayoría de las preguntas. Sin embargo, para la pregunta, "¿Quieres que actualice tu “/Home //.Archivo de Google_Authenticator "?", Seleccione" Y "para actualizar el archivo de configuración.

La línea de comando anterior genera una nueva clave secreta para el usuario que se utiliza para crear contraseñas únicas para MFA.

Paso 5: Abra la aplicación Authenticator en su teléfono

Abra la aplicación Google Authenticator en su teléfono inteligente y escanee el código QR que se muestra en la pantalla. Esto agrega el nuevo usuario a su aplicación Google Authenticator.

Paso 6: editar el archivo de configuración

Edite el archivo de configuración SSH ejecutando el siguiente comando:

sudo nano/etc/ssh/sshd_config

Agregue la siguiente línea al final del archivo:

ChallengerAponseAuthentication Sí

Esta línea permite la autenticación de desafío-respuesta para SSH.

Paso 7: edite el archivo de configuración de PAM

Este comando edita el archivo de configuración de PAM para SSH:

sudo nano /etc /pam.d/sshd

Agregue la siguiente línea al final del archivo para completar este paso:

Auth requerido pam_google_authenticator.entonces

Esta utilidad permite el módulo de autenticador de Google para SSH.

Paso 8: Guarde sus cambios

Guarde los cambios en los archivos de configuración y reinicie el servicio SSH utilizando el siguiente comando:

SUDO Service SSH Reiniciar

Este comando reinicia el servicio SSH con la nueva configuración.

Cuando inicie sesión en su sistema Linux usando SSH, se le solicitará una contraseña única que genere la aplicación Google Authenticator. Ingrese la contraseña única para completar el proceso de inicio de sesión.

Probar su configuración de MFA para el acceso SSH

Una vez que instaló y configuró el MFA para SSH en su sistema Linux, es importante probar la configuración para asegurarse de que funcione correctamente. Estos son los pasos para probar su configuración de MFA para el acceso SSH:

1. Abra una nueva ventana de terminal y conecte a su sistema Linux usando SSH, como lo haría normalmente. Por ejemplo:

ssh @

Reemplace la con el nombre exacto del usuario que creó anteriormente y el con la dirección IP o el nombre de host de su sistema Linux. En este caso, usamos Victoria como nombre de usuario. La salida se parece a lo que hay en la siguiente figura:

En este ejemplo, usamos el comando ssh para iniciar sesión en una máquina remota con la dirección IP de 192.168.1.100 Como usuario, "Victoria". Los indicaciones del sistema para la confirmación de la autenticidad del host remoto y luego solicita la contraseña para el usuario, "Victoria". Una vez autenticados, nos reciben con la solicitud de shell en la máquina remota, lo que indica que establecimos con éxito una sesión SSH.

2. Ingrese la contraseña para el usuario cuando se le solicite.

3. Después de ingresar la contraseña, se le debe solicitar una contraseña única desde su aplicación MFA. Abra la aplicación Google Authenticator en su teléfono inteligente e ingrese el código que corresponde al usuario que creó anteriormente.

4. Si la contraseña única es correcta, debe iniciarse sesión en su sistema Linux. Si la contraseña es incorrecta, se le pedirá que ingrese otro código desde la aplicación MFA.

5. Una vez que haya iniciado sesión con éxito, puede verificar que MFA funcione correctamente revisando los registros SSH. Ejecute esta utilidad para ver los registros:

sudo cola -f/var/log/auth.registro

El comando anterior muestra los registros de autenticación SSH en tiempo real.

Busque una línea en el registro que diga "PublicKey aceptada para" seguido de "teclado Interactivo/Pam aceptado para".

17 de abril 10:45:24 Server SSHD [2998]: Public Key para Victoria de 192 de 192.168.0.2 puertos 57362 SSH2: RSA SHA256: XXXXXXXXXXXXXXXXXXXXXX
17 de abril 10:45:27 servidor SSHD [2998]: teclado aceptado-interactivo/PAM para Victoria desde 192.168.0.2 Puerto 57362 SSH2

Por ejemplo:

Las dos primeras líneas muestran que el usuario "Victoria" se autentica con éxito a través de una clave pública y métodos interactivos del teclado desde la dirección IP de 192.168.0.2.

Si todo funciona correctamente, puede iniciar sesión en su sistema Linux usando SSH con MFA habilitado.

Conclusión

Implementar la autenticación multifactor (MFA) para el acceso SSH en su sistema Linux puede mejorar significativamente la seguridad de su sistema al agregar una capa adicional de autenticación. Al exigir a los usuarios que proporcionen una contraseña única además de su contraseña regular, MFA hace que sea mucho más difícil para los atacantes acceder a su sistema.