LinuxParty
De forma predeterminada, SSH ya utiliza la comunicación de datos segura entre máquinas remotas, pero si desea agregar una capa de seguridad adicional a sus conexiones SSH, puede agregar un módulo Google Authenticator ( autenticación de dos factores ) que le permite ingresar uno al azar. contraseña de tiempo ( TOTP ) código de verificación mientras se conecta a los servidores SSH . Deberá ingresar el código de verificación desde su teléfono inteligente o PC cuando se conecte.
Google Authenticator es un módulo de código abierto que incluye implementaciones de tokens de verificación de códigos de acceso únicos ( TOTP ) desarrollados por Google .
Admite varias plataformas móviles, así como PAM (Módulo de autenticación conectable) . Estos códigos de acceso de un solo uso se generan utilizando estándares abiertos creados por la Iniciativa OATH para la Autenticación Abierta ).
En este artículo, le mostraré cómo instalar y configurar SSH para la autenticación de dos factores en distribuciones de Linux basadas en RedHat y Debian , como Fedora, CentOS Stream, Rocky Linux y AlmaLinux, Ubuntu, Debian y Mint.
Instalación de Google Authenticator en Linux
Abra la máquina en la que desea configurar la autenticación de dos factores e instale las siguientes bibliotecas PAM junto con las bibliotecas de desarrollo que se necesitan para que el módulo PAM funcione correctamente con el módulo de autenticación de Google .
En los sistemas basados en RedHat, instale el paquete ' pam-devel ' usando el siguiente comando yum .
# yum install google-authenticator -y
En los sistemas basados en Debian, instale el paquete ' libpam0g-dev ' usando el siguiente comando apt .
$ sudo apt install libpam-google-authenticator -y
Generar tokens de autenticación de Google
Una vez que ejecute el comando ' google-authenticator ', le hará una serie de preguntas.
# google-authenticator
Simplemente escriba " y " ( sí ) como respuesta en la mayoría de las situaciones. Si algo sale mal, puede volver a escribir el comando ' google-authenticator ' para restablecer la configuración.
- ¿Quiere que los tokens de autenticación se basen en el tiempo (sí/no) y
Después de esta pregunta, obtendrá su ' clave secreta ' y ' códigos de emergencia '. Anote estos detalles en alguna parte, necesitaremos la 'clave secreta ' más adelante para configurar la aplicación Google Authenticator .
# Google-autenticador ¿Quiere que los tokens de autenticación se basen en el tiempo (sí/no) y Advertencia: pegar la siguiente URL en su navegador expone el secreto de OTP a Google: https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/ root@Xxxuser %3Fsecret%3DCYZF2YF7HFGX55ZEPQYLHOO5JM%26emisor%3DXxxuser No se pudo usar libqrencode para mostrar el código QR visualmente para escanear. Considere escribir el secreto de OTP en su aplicación manualmente. Su nueva clave secreta es: CYZF2YF7HFGX55ZEPQYLHOM Ingrese el código de la aplicación (-1 para omitir):-1
Confirmación de código omitida
Sus códigos de emergencia son: 83714291 53083200 80975623 57217008 77496339
A continuación, siga el asistente de configuración y, en la mayoría de los casos, escriba la respuesta como " y " ( sí ), como se muestra a continuación.
¿Quieres que actualice tu archivo "/root/.google_authenticator" (s/n)?y
¿Quieres prohibir varios usos del mismo token de autenticación?
Esto lo restringe a un inicio de sesión cada 30 segundos, pero aumenta sus
posibilidades de notar o incluso prevenir ataques de intermediarios (sí/no).y
De forma predeterminada, los tokens son válidos durante 30 segundos y para compensar
el posible tiempo. -sesgo entre el cliente y el servidor, permitimos un token
adicional antes y después de la hora actual. Si tiene problemas con la sincronización
horaria deficiente, puede aumentar la ventana de su tamaño predeterminado de 1:30 min
aproximadamente 4 min. quieres hacerlo (t/n)y
Si la computadora en la que está
iniciando sesión no está protegida contra intentos de inicio de sesión de fuerza bruta,
puede habilitar la limitación de velocidad para el módulo de autenticación. De forma
predeterminada, esto limita a los atacantes a no más de 3 intentos de inicio de sesión
cada 30 s. ¿Desea habilitar la limitación de velocidad (s/n)?y
Generar tokens de autenticación de Google
Configuración de SSH para usar Google Authenticator en Linux
Abra el archivo de configuración de PAM ' /etc/pam.d/sshd ' y agregue la siguiente línea al final del archivo.
auth required pam_google_authenticator.so nullok auth required pam_permit.so
Configurar PAM para SSH
A continuación, abra el archivo de configuración de SSH ' /etc/ssh/sshd_config ' y desplácese hacia abajo para encontrar la línea que dice.
ChallengeResponseAuthentication no
Cámbielo a “ sí ”. Entonces, se vuelve así.
ChallengeResponseAuthentication yes
Configurar SSH para Google Auth
Finalmente, reinicie el servicio SSH para tomar nuevos cambios.
# systemctl restart sshd O $ sudo systemctl restart sshd
Configuración de la aplicación de autenticación de Google
Inicie la aplicación Google Authenticator en su teléfono inteligente. Presione + y elija " Ingresar una clave de configuración ". Si no tiene esta aplicación, puede descargar e instalar la aplicación Google Authenticator en sus dispositivos Android/iPhone/Blackberry .
Agregue su cuenta ' Nombre ' e ingrese la ' clave secreta ' generada anteriormente.
Clave secreta SSH
Generará una contraseña de un solo uso ( código de verificación ) que cambiará constantemente cada 30 segundos en su teléfono.
Código de autenticación de Google SSH
Ahora intente iniciar sesión a través de SSH , se le solicitará un código de autenticación de Google ( código de verificación ) y una contraseña cada vez que intente iniciar sesión a través de SSH . Solo tiene 30 segundos para ingresar este código de verificación, si lo pierde, se generará un nuevo código de verificación.
login as: Xxxuser Access denied Using keyboard-interactive authentication. Verification code: Using keyboard-interactive authentication. Password: Last login: Tue Apr 23 13:58:29 2022 from 172.16.25.125 [root@Xxxuser ~]#
Si no tiene un teléfono inteligente, también puede usar un complemento de Firefox llamado Authenticator para realizar la autenticación de dos factores.
Importante: la autenticación de dos factores funciona con un inicio de sesión SSH basado en contraseña. Si está utilizando una sesión SSH de clave privada/pública , ignorará la autenticación de dos factores e iniciará sesión directamente.
-
Seguridad
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros