Redes

Cómo habilitar SSH 2FA en Ubuntu Server 22.04

Autenticación de dos factores o concepto 2FA. Ícono de llave virtual al acceder a un teléfono móvil usando una computadora portátil para verificar la contraseña, autenticación, seguridad cibernética usando biometría.
Imagen: tete_escape/Adobe Stock

Cuando enciende un servidor Linux para el inicio de sesión SSH, siempre existe la posibilidad de que alguien ingrese al servidor y haga cosas malas. Una forma de evitar esto es habilitar la autenticación de dos factores en el servidor. Una vez habilitado, solo las personas con un código 2FA generado correctamente (junto con sus credenciales regulares) pueden obtener acceso. Aprenda a configurar SSH 2FA en su servidor Ubuntu.

VER: más de 40 términos de código abierto y Linux que necesita saber (Tecnopedia Premium)

que necesitas

  • Una instancia en ejecución de Ubuntu Server 22.04.
  • Un usuario con privilegios sudo.

Cómo instalar el software necesario

Lo primero que debe hacer es instalar un paquete: Google Authenticator. Esta es una herramienta de línea de comandos que puede agregar autenticación 2FA en su servidor.

Inicie sesión en su instancia de Ubuntu y emita el comando:

sudo apt-get install libpam-google-authenticator -y

Luego debe ejecutar el comando para crear la clave. El comando es:

google-authenticator

Se le preguntará si desea que el token de autenticación se base en el tiempo, que es lo que desea.escribe y Luego presione Entrar en el teclado. Luego verá un código QR que su aplicación 2FA puede escanear.

Hay un problema con esto: si inicia sesión directamente en la terminal de la máquina física relevante, es posible que no pueda ver el código completo. Su mejor apuesta es iniciar sesión a través de SSH, para que pueda cambiar el tamaño de la terminal para ver el código QR completo (Figura A).

Figura A

2faubuntua
Un código QR (oculto) generado por la aplicación Google-Authenticator.

Escanee el código QR con su aplicación 2FA (como Authy), o escriba la clave si el código es demasiado grande para que la aplicación lo escanee y presione Entrar. Luego se le pedirá que ingrese un código de la aplicación para confirmar la cuenta. Una vez confirmado, verá el código de emergencia para 2FA.Asegúrese de copiarlos y guardarlos en un lugar seguro como un administrador de contraseñas, luego escriba y Cuando se le solicite actualizar el archivo ~/.google_authenticator. A continuación, se le pedirá que no permita varios usos del mismo token de autenticación.sigue escribiendo y Acepte esto, ya que ayuda a prevenir ataques de intermediarios.Cuando se le solicite, escriba y Para la última pregunta, permita hasta 30 segundos de diferencia de tiempo entre el servidor de autenticación y el cliente.

También debe habilitar la limitación de velocidad cuando ingrese el indicador y, que limita al atacante a no más de 3 intentos de inicio de sesión cada 30 segundos.

Cómo configurar el demonio SSH para 2FA

Ahora que 2FA está instalado y configurado, también debemos configurar el demonio SSH para usarlo. Abra el archivo de configuración del demonio SSH con el siguiente comando:

sudo nano /etc/ssh/sshd_config

Primero, busque la siguiente línea y asegúrese de que esté configurada en sí:

UsePAM yes

A continuación, busque la siguiente línea y cambie no por sí:

KbdInteractiveAuthentication no

Guarde y cierre el archivo.

Nota: En las versiones de Ubuntu anteriores a la 22.04, la línea anterior sería:

ChallengeResponseAuthentication yes

A continuación, abra el archivo de configuración de PAM con el siguiente comando:

sudo nano /etc/pam.d/sshd

Debajo de la línea @include common-auth, agregue la siguiente línea:

auth   required   pam_google_authenticator.so

Guarde y cierre el archivo.

Reinicie el demonio SSH con el siguiente comando:

sudo systemctl restart sshd

A continuación, abra una nueva ventana de terminal e intente iniciar sesión en la máquina remota. Primero se le pedirá su contraseña de usuario, luego se le pedirá un código 2FA. Después de ingresar con éxito el código 2FA, debería poder acceder al servidor.

Cómo habilitar 2FA con autenticación de clave SSH

Si usa la autenticación de clave SSH (y debería), debe tomar medidas adicionales. En el servidor, abra el archivo de configuración del demonio SSH con el siguiente comando:

sudo nano /etc/ssh/sshd_config

En la parte inferior del archivo, agregue las siguientes líneas:

AuthenticationMethods publickey,keyboard-interactive

Guarde y cierre el archivo.

Reinicie SSH con el siguiente comando:

sudo systemctl restart sshd

Después de verificar que la autenticación de clave SSH funciona, puede deshabilitar la autenticación de contraseña abriendo la configuración de SSH con el siguiente comando:

sudo nano /etc/ssh/sshd_config

Encuentra la siguiente línea:

PasswordAuthentication yes

cambiarlo a:

PasswordAuthentication no

Reinicie SSH con el siguiente comando:

sudo systemctl restart sshd

Felicitaciones, acaba de configurar un proceso de inicio de sesión SSH más seguro para Ubuntu Server 22.04. Solo asegúrese de estar probando a través de una segunda ventana de terminal al hacer esto, de modo que si algo sale mal, puede permanecer conectado a la ventana original (y puede restablecer la configuración). Disfrute de una capa extra de seguridad.

Más información sobre Ubuntu Dominar el kit de desarrollo de Linux De la Academia Tecnopedia.

Suscríbete a Tecnopedia Cómo hacer que la tecnología funcione en YouTube Obtenga los últimos consejos técnicos para profesionales de negocios de Jack Wallen.

LEER  Cómo crear una tabla y agregar datos a una base de datos MySQL usando MySQL Workbench

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba