Uso de OpenSSH con autenticación de dos factores agregando una capa adicional de seguridad

Uso de OpenSSH con autenticación de dos factores agregando una capa adicional de seguridad

OpenSSH es un conjunto de software ampliamente utilizado para un acceso remoto seguro a sistemas y servidores a través de Internet. Proporciona un canal de comunicación cifrado entre dos sistemas, evitando el acceso no autorizado y la espía. Sin embargo, confiar únicamente en una contraseña para la autenticación puede dejar su sistema vulnerable a los ataques de fuerza bruta y la adivinación de contraseña. La autenticación de dos factores (2FA) proporciona una capa adicional de seguridad a OpenSSH al exigir a los usuarios que proporcionen una información adicional, generalmente un código único generado por una aplicación móvil, además de su contraseña.

En este artículo, exploraremos cómo configurar OpenSSH con autenticación de dos factores en un servidor de Linux, agregando una capa adicional de seguridad a su acceso remoto.

Paso 1: Instalación de Google Authenticator

El primer paso es instalar la aplicación Google Authenticator en el servidor. Google Authenticator es una aplicación móvil ampliamente utilizada que genera códigos únicos para 2FA. Está disponible para dispositivos Android e iOS.

Para instalar Google Authenticator en un servidor Linux, use el siguiente comando:

sudo apt-get install libpam-google-autoricator  

Un uso de sistemas basados ​​en RHEL:

sudo yum install Google-Authenticator  

Esto instalará el módulo de autenticador de Google para módulos de autenticación conectables (PAM) en su servidor.

Paso 2: Configuración de Google Authenticator

Una vez que haya instalado Google Authenticator, debe configurarlo para su cuenta de usuario. Para hacer esto, ejecute el siguiente comando:

Autenticador de Google  

Esto le solicitará una serie de preguntas para configurar el autenticador de Google para su cuenta de usuario. Las preguntas incluyen:

  • ¿Quieres que los tokens de autenticación estén basados ​​en el tiempo (S/N)??
  • Si pierde su teléfono, puede recuperar sus tokens de los códigos de respaldo. ¿Quieres habilitar esta función (S/N)?
  • ¿Desea requerir un código de confirmación cada vez que inicie sesión (S/N)?

Responda las preguntas de acuerdo con su preferencia. Una vez que haya completado la configuración, Google Authenticator generará un código QR que puede escanear utilizando la aplicación Google Authenticator en su dispositivo móvil.

https: // www.Google.com/gráfico?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email protected]%3Fsecret%3DWUGQECLUOFLAEAAZ Your new secret key is: WUGQECLUOFLAEAAZ Your verification code is 002879 Your emergency scratch codes are: 52979690 49230818 19888375 80196807 17714397 Do you want yo para actualizar tu "~/.Google_authenticator "archivo (S/n) y ¿Desea no permitir múltiples usos del mismo token de autenticación?? Esto lo restringe a un inicio de sesión alrededor de cada 30 años, pero aumenta sus posibilidades de notar o incluso evitar ataques de hombre en el medio (S/N) y por defecto, los tokens son buenos durante 30 segundos y para compensar posibles Spea de tiempo entre el cliente y el servidor, permitimos un token adicional antes y después de la hora actual. Si experimenta problemas con una sincronización de tiempo deficiente, puede aumentar la ventana de su tamaño predeterminado de 1: 30 minutos a aproximadamente 4 minutos. ¿Desea hacerlo (S/N) Y si la computadora en la que está iniciando sesión no se endurece con 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 (S/N) Y 

Google Authenticator le mostrará una clave secreta y muchos "Códigos de rasguño de emergencia."Los códigos de emergencia solo se pueden usar una vez en caso de que se pierda la llave secreta, así que escribalos a un lugar seguro.

Use la aplicación de autenticador de Google en sus teléfonos Android, iPhone o BlackBerry para generar código de verificación ingresando la tecla secreta. También puede escanear el código de barras proporcionado en URL para hacerlo.

También puede utilizar aplicaciones basadas en Java para generar códigos de verificación. Use el siguiente enlace para obtener detalles.

http: // blog.jacufa.net/2011/02/cli-java-google-autenticador.html

Paso 3: Configuración de OpenSsh

Ahora que ha configurado Google Authenticator para su cuenta de usuario, debe configurar OpenSSH para usarlo.

  1. Para hacer esto, edite el "/Etc/pam.d/sshd " Archivo usando su editor de texto favorito:
    sudo nano /etc /pam.d/sshd  

    Agregue la siguiente línea en la parte superior del archivo:

    Auth requerido pam_google_authenticator.entonces
    1Auth requerido pam_google_authenticator.entonces

    Guarde y cierre el archivo.

  2. A continuación, edite el "/Etc/ssh/sshd_config" archivo:
    sudo nano/etc/ssh/sshd_config  

    Encuentra la línea que comienza con "ChallengerAsponseAuthentication" y cambiar su valor a sí:

    ChallengerAponseAuthentication Sí
    1ChallengerAponseAuthentication Sí

    Guarde y cierre el archivo.

  3. Finalmente, reinicie el servicio SSH para que los cambios entren en vigencia:
    SUDO Service SSH Reiniciar  
  4. Paso 4: Pruebas

    Ahora que ha configurado OpenSSH con autenticación de dos factores, puede probarlo intentando iniciar sesión en su servidor desde una máquina remota. Cuando se le solicite su contraseña, también se le solicitará un código de verificación de la aplicación Google Authenticator en su dispositivo móvil.

    Si ha configurado todo correctamente, debería poder iniciar sesión con éxito en su servidor utilizando tanto su contraseña como el código de verificación.

    Conclusión

    El uso de OpenSSH con autenticación de dos factores es una forma simple pero efectiva de agregar una capa adicional de seguridad a su acceso remoto. Al exigir a los usuarios que proporcionen una información adicional, como un código único generado por una aplicación móvil, puede reducir significativamente el riesgo de acceso no autorizado a su sistema.

    Siguiendo los pasos descritos en este artículo, puede configurar fácilmente OpenSSH con autenticación de dos factores en su servidor de Linux. Recuerde mantener siempre actualizada su servidor y la aplicación de autenticador de Google para garantizar la mejor seguridad posible.

    Vale la pena señalar que, si bien 2FA puede mejorar enormemente la seguridad, no es infalible. Los atacantes aún pueden usar ingeniería social u otros métodos para engañar a los usuarios para que revelen sus contraseñas o códigos de verificación. Por lo tanto, es importante implementar también otras medidas de seguridad, como cambios regulares de contraseña, políticas de contraseña segura y sistemas de detección de intrusos, para proteger aún más su sistema.

    En conclusión, el uso de OpenSSH con autenticación de dos factores puede mejorar significativamente la seguridad de su acceso remoto. Siguiendo los pasos descritos en este artículo, puede configurar fácilmente 2FA para su OpenSsh en su servidor Linux. Mantenga siempre su sistema y la aplicación de autenticador de Google actualizado para garantizar la mejor seguridad posible.