Cómo habilitar la autenticación de dos factores para SSH en Fedora Linux

Cómo habilitar la autenticación de dos factores para SSH en Fedora Linux

En el mundo de la tecnología de la información, la seguridad es una preocupación importante en estos días. Todos los días se lanzan ataques nuevos y sofisticados contra las organizaciones. Los administradores del sistema usan diferentes formas de endurecer la seguridad de sus servidores. Una de las formas comunes de interactuar con un servidor es usar el SSH (o Shacer MierdaELL) Protocolo que se usa ampliamente para el registro remoto en un servidor. Además de los inicios de sesión de shell remotos, también se usa para copiar archivos entre dos computadoras. A diferencia de otros métodos como Telnet, RCP, FTP, etc., El protocolo SSH utiliza un mecanismo de cifrado para asegurar la comunicación entre dos hosts.

La seguridad proporcionada por el protocolo SSH puede mejorarse aún más mediante el uso de la autenticación de dos factores. Esto pondrá un muro fuerte entre su computadora host y los atacantes. Para conectarse a su servidor remoto con SSH, necesitará una contraseña y un código de verificación (o OTP) desde una aplicación de autenticador que se ejecuta en su dispositivo móvil. Esto es realmente útil si un atacante roba su contraseña, no podrá iniciar sesión en su servidor sin el código de verificación.

Hay muchas aplicaciones de autenticador disponibles para dispositivos móviles que ejecutan Android o Apple iOS. Esta guía ha utilizado la aplicación Google Authenticator para el servidor Fedora y el dispositivo móvil.

Lo que cubriremos

Esta guía verá cómo podemos usar la autenticación de dos factores con un protocolo SSH para evitar el acceso no autorizado a nuestra estación de trabajo Fedora 30. Intentaremos iniciar sesión en nuestro servidor Fedora desde la máquina cliente Xubuntu para ver si la configuración funciona como se esperaba. Comencemos a configurar SSH con autenticación de dos factores.

Requisitos previos

  1. Un sistema operativo Fedora 30 instalado en el servidor remoto con una cuenta de usuario 'sudo'.
  2. Una máquina xubuntu para acceder al servidor anterior.
  3. Un dispositivo móvil con una aplicación de Google-Authenticator instalada en él.

Descripción general de la configuración

  1. Máquina Fedora 30 con IP: 192.168.43.92
  2. Xubuntu Machine con IP: 192.168.43.71
  3. Dispositivo móvil con aplicación Google-Authenticator.

Paso 1. Instale Google-Authenticator en el servidor Fedora 30 usando el comando:

$ sudo dnf instalación -y Google -Authenticator

Paso 2. Ejecute el siguiente comando a continuación para iniciar el Authenticador de Google en su servidor:

$ Google-Autenticador

Hará algunas preguntas para configurar el servidor para que funcione con su dispositivo móvil:

¿Quieres que los tokens de autenticación estén basados ​​en el tiempo (y/n) y [ingresar 'y' aquí]

Mostrará un código QR en la ventana del terminal; Mantenga esta ventana de terminal abierta por ahora.

Paso 3. Instale la aplicación Google-Authenticator en su dispositivo móvil y ábrala. Ahora haga clic en la opción 'Escanear un código QR.'Ahora concentre su cámara móvil en escanear el código QR en la ventana de la terminal de su servidor.

Etapa 4. Después de escanear el código QR, su dispositivo móvil agregará una cuenta para su servidor y generará un código aleatorio que seguirá cambiando con un temporizador giratorio, como se muestra en la imagen a continuación:

Paso 5. Ahora regrese a la ventana del terminal de su servidor e ingrese aquí el código de verificación desde su dispositivo móvil. Una vez que se confirme el código, generará un conjunto de código de rastro. Estos códigos de rascar se pueden usar para iniciar sesión en su servidor en caso de que pierda su dispositivo móvil. Entonces, guárdelos en algún lugar seguro.

Paso 6. En los pasos posteriores, hará algunas preguntas para finalizar la configuración. Hemos dado a continuación el conjunto de preguntas y sus respuestas para configurar la configuración. Puede cambiar esas respuestas según su necesidad:

¿Quieres que actualice tu "/Home/Linuxhint/.Archivo de Google_Authenticator "? (y/n) y [Enter 'y' aquí]
¿Desea no permitir múltiples usos del mismo token de autenticación?? Esto lo restringe a un inicio de sesión sobre cada 30 años, pero aumenta sus posibilidades de notar o incluso evitar ataques de hombre en el medio (S/N) y [Enter 'y' aquí]
Por defecto, la aplicación móvil genera un nuevo token cada 30 segundos.Para compensar la posible secuestro de tiempo entre el cliente y el servidor, permitimos un token adicional antes y después de la hora actual. Esto permite una inclinación de tiempo de hasta 30 segundos entre el servidor de autenticación y el cliente. Si experimenta problemas con una sincronización de tiempo deficiente, puede aumentar la ventana de su tamaño predeterminado de 3 códigos permitidos (un código anterior, el código actual, el siguiente código) a 17 códigos permitidos (los 8 códigos anteriores, el código actual y Los 8 códigos siguientes). Esto lo permitirá por una sesgo de tiempo de hasta 4 minutos entre el cliente y el servidor. Quieres hacerlo? (y/n) y [Enter 'y' aquí]
Si la computadora en la que está iniciando sesión no se endurece contra los intentos de inicio de sesión de fuerza bruta, puede habilitar la limitación de la velocidad para el módulo de autenticación. Por defecto, esto limita los atacantes a no más de 3 intentos de inicio de sesión cada 30. ¿Quieres habilitar la limitación de la velocidad?? (y/n) y [Enter 'y' aquí]

Paso 7. Ahora abra el archivo sshd_config con cualquier editor

$ sudo vi/etc/ssh/sshd_config

y hacer los siguientes pasos:

  1. Descomnación y establecer el Contraseña a sí.
  2. Descomnación y establecer el ChallengerAponseAuthentication a sí.
  3. Descomnación y establecer el Uspam a sí.

Guarde y cierre el archivo.

Paso 8. A continuación, abra el /etc /pam.archivo d/sshd

$ sudo vi /etc /pam.d/sshd

y agregue las siguientes líneas debajo de la línea 'Authusta de autores Autor de contraseña:

Auth requerido pam_google_authenticator.entonces

Paso 9. Iniciar y habilitar el servicio SSH en el servidor Fedora con el comando:

$ sudo systemctl start sshd
$ sudo systemctl habilita sshd

Todos los pasos para configurar el servidor ya están hechos. Ahora nos mudaremos a nuestra máquina de clientes, yo.mi., Xubuntu, en nuestro caso.

Paso 10. Ahora intente iniciar sesión con SSH desde la máquina Xubuntu hasta el servidor Fedora 30:

$ ssh [email protected]

Como puede ver, el SSH primero solicita la contraseña del servidor y luego un código de verificación desde su dispositivo móvil. Una vez que haya ingresado el código de verificación correctamente, puede iniciar sesión en el servidor Fedora remoto.

Conclusión

Felicitaciones, hemos configurado con éxito el acceso SSH con autenticación de dos factores en Fedora 30 OS. Puede configurar aún más SSH para usar solo un código de verificación para iniciar sesión sin la contraseña del servidor remoto.