Autenticación de dos factores de Linux

Autenticación de dos factores de Linux
La autenticación de dos factores (2FA) es un proceso de inicio de sesión que consiste en un mecanismo de autenticación doble. Las implementaciones más conocidas incluyen el SMS clásico o la confirmación del código de correo electrónico para navegadores y dispositivos nuevos/desconocidos.

En este escenario, incluso si un hacker recibe un PayPal o una contraseña de alojamiento, no podrá iniciar sesión sin el código de confirmación enviado al teléfono o correo electrónico de la víctima.

La implementación de la autenticación de dos factores es una de las mejores prácticas para proteger nuestro correo electrónico, cuentas de redes sociales, alojamiento y más. Desafortunadamente, nuestro sistema no es la excepción.

Este tutorial muestra cómo implementar la autenticación de dos factores para proteger su acceso SSH con Google Authenticator o Authyy-SSH. Google Authenticator le permite verificar un inicio de sesión utilizando la aplicación móvil, mientras que Authy-SSH se puede implementar sin una aplicación utilizando la verificación de SMS.

Autenticación de dos factores de Linux usando Google Authenticator

Nota: Por favor, antes de continuar, asegúrese de tener el autenticador de Google instalado en su dispositivo móvil.

Para iniciar, ejecute el siguiente comando para instalar Google Authenticator (distribuciones de Linux con sede en Debian):

sudo apto install libpam-google-autoricator -y

Para instalar Google Authenticator en Distribuciones de Linux basadas en Red Hat (CentOS, Fedora), ejecute el siguiente comando:

sudo dnf instalar google -autoricator -y

Una vez instalado, ejecute Google Authenticator como se muestra en la captura de pantalla a continuación.

Autenticador de Google

Como puede ver, aparece un código QR. Debe agregar la nueva cuenta haciendo clic en el + Icono en su aplicación móvil de autenticador de Google y seleccionar Escanear código QR.

Google Authenticator también proporcionará códigos de copia de seguridad que necesita imprimir y guardar en caso de que pierda acceso a su dispositivo móvil.

Se le harán algunas preguntas, que se detallan a continuación, y puede aceptar todas las opciones predeterminadas seleccionando Y Para todas las preguntas:

  • Después de escanear el código QR, el proceso de instalación requerirá permiso para editar su hogar. Prensa Y para continuar con la siguiente pregunta.
  • La segunda pregunta recomienda deshabilitar múltiples inicios de sesión utilizando el mismo código de verificación. Prensa Y continuar.
  • La tercera pregunta se refiere al tiempo de vencimiento para cada código generado. De nuevo, puede permitir que el tiempo se sesgue, presione Y continuar.
  • Habilite la limitación de la velocidad, hasta 3 intentos de inicio de sesión cada 30. Prensa Y continuar.

Una vez que se instala Google Authenticator, debe editar el archivo /etc/pam.d/sshd Para agregar un nuevo módulo de autenticación. Use Nano o cualquier otro editor como se muestra en la captura de pantalla a continuación para editar el archivo /etc /pam.D/SSHD:

nano /etc /pam.d/sshd

Agregue la siguiente línea a /etc /pam.d/sshd como se muestra en la imagen a continuación:

Auth requerido pam_google_authenticator.tan nullok

Nota: Instrucciones de Red Hat mencionan una línea que contiene #Auth Sustsack Password-Auth. Si encuentra esta línea en su /etc /pam.d./sshd, comenta sobre él.

Guardar /etc /pam.d./sshd y editar el archivo /etc/ssh/sshd_config Como se muestra en el siguiente ejemplo:

nano/etc/ssh/sshd_config

Encuentra la línea:

#ChallengerSponseAuthentication no

Descomnacencia y reemplazar No con Sí:

ChallengerAponseAuthentication Sí

Salir de cambios en los cambios y reiniciar el servicio SSH:

sudo systemctl reiniciar sshd.servicio

Puede probar la autenticación de dos factores conectándose a su localhost como se muestra a continuación:

ssh localhost

Puede encontrar el código en su aplicación móvil de Google Authentication. Sin este código, nadie podrá acceder a su dispositivo a través de SSH. Nota: Este código cambia después de 30 segundos. Por lo tanto, debe verificarlo rápidamente.

Como puede ver, el proceso 2FA funcionó con éxito. A continuación puede encontrar las instrucciones para una implementación de 2FA diferente utilizando SMS en lugar de una aplicación móvil.

Autenticación de dos factores de Linux usando Authy-SSH (SMS)

También puede implementar la autenticación de dos factores usando Authy (Twilio). Para este ejemplo, no se requerirá una aplicación móvil, y el proceso se realizará a través de la verificación de SMS.

Para comenzar, ve a https: // www.twilio.com/try-twilio y llene el formulario de registro.

Escriba y verifique su número de teléfono:

Verifique el número de teléfono usando el código enviado por SMS:

Una vez registrado, vaya a https: // www.twilio.com/console/authy y presione el Empezar botón:

Haga clic en el Verificar el número de teléfono Botón y siga los pasos para confirmar su número:

Verifique su número:

Una vez verificado, regrese a la consola haciendo clic en Volver a la consola:

Seleccione un nombre para la API y haga clic en Crear aplicación:

Complete la información solicitada y presione Hacer un pedido:

Seleccionar Token SMS y presionar Hacer un pedido:

Ir a https: // www.twilio.com/console/authy/aplicaciones y haga clic en la aplicación que creó en los pasos anteriores:

Una vez seleccionado, verá en el menú izquierdo la opción Ajustes. Haga clic en Ajustes y copiar el Clave de API de producción. Lo usaremos en los siguientes pasos:

Desde la consola, descargar Authy-SSH Ejecutando el siguiente comando:

Git clon https: // github.com/authy/authy-ssh

Luego, ingrese el directorio Authy-SSH:

CD Authy-SSH

Dentro de la ejecución del directorio Authy-SSH:

sudo bash authy-ssh install/usr/local/bin

Se le pedirá que pegue el Clave de API de producción Le solicité que copie, pegue y presione INGRESAR continuar.

Cuando se le preguntó sobre la acción predeterminada cuando API.autenticar.no se puede contactar, seleccionar 1. Y presionar INGRESAR.

Nota: Si pega una tecla API incorrecta, puede editarla en el archivo /usr/local/bin/authy-ssh.confusión Como se muestra en la imagen a continuación. Reemplace el contenido después de "API_KEY =" con su clave API:

Habilitar Authy-SSH ejecutando:

sudo/usr/local/bin/authy-ssh habilita 'whoami'

Complete la información requerida y presione Y

Puede probar la ejecución de Authy-SSH:

Prueba Authy-SSH

Como puede ver, 2FA funciona correctamente. Reinicie el servicio SSH, ejecute:

SUDO Service SSH Reiniciar

También puede probarlo conectando a través de SSH a Localhost:

Como se ilustra, 2FA trabajó con éxito.

Authy ofrece opciones adicionales de 2FA, incluida la verificación de aplicaciones móviles. Puede ver todos los productos disponibles en https: // authy.com/.

Conclusión:

Como puede ver, 2FA puede ser implementado fácilmente por cualquier nivel de usuario de Linux. Ambas opciones mencionadas en este tutorial se pueden aplicar en cuestión de minutos.

SSH-Authy es una excelente opción para usuarios sin teléfonos inteligentes que no pueden instalar una aplicación móvil.

La implementación de verificación de dos pasos puede evitar cualquier tipo de ataque basado en inicio de sesión, incluidos los ataques de ingeniería social, muchos de los cuales se volvieron obsoletos con esta tecnología porque la contraseña de la víctima no es suficiente para acceder a la información de la víctima.

Otras alternativas de Linux 2FA incluyen Freeotp (sombrero rojo), Autenticador mundial, y cliente OTP, pero algunas de estas opciones solo ofrecen una doble autenticación del mismo dispositivo.

Espero que hayas encontrado este tutorial útil. Siga siguiendo la pista de Linux para obtener más consejos y tutoriales de Linux.