Image

Base de conocimientos → Configurar la autenticación de dos factores en ssh para root en Debian 12

[Servidores virtuales]
Fecha de publicación: 05.10.2023

Para configurar la autenticación de dos factores para el usuario root, usaremos Google Authenticator. Esta aplicación está disponible en todas las plataformas y depende del tiempo. Así, aunque el acceso a los servicios de Google sea imposible, lo principal es que la hora esté sincronizada, entonces todo funcionará correctamente.

En nuestro ejemplo, nos aseguraremos de que un usuario estándar inicie sesión en ssh usando una contraseña como de costumbre, pero al intentar escalar privilegios al usuario root usando el comando su -, primero se requiere la contraseña y luego el código de Google Authenticator. solicitud.

Al mismo tiempo, prohibiremos iniciar sesión en ssh como usuario root para forzar el uso de la autenticación de dos factores para este usuario.

1. Instalamos los paquetes necesarios:

apt install libpam-google-authenticator

2. Hagamos la primera configuración:

./google-authenticator

2.1 Como resultado, se le pedirá que ingrese el código de la aplicación; como alternativa a la aplicación de Google, puede usar FreeOTP .

2.2 Configurar el servicio SSH:

nano /etc/ssh/sshd_config

PermitRootLogin no
UsePAM yes
ChallengeResponseAuthentication yes

Reiniciemos el servicio para que la configuración surta efecto:

systemctl restart ssh

2.3 Configure una solicitud de código después de ingresar la contraseña para el comando su -

Agreguemos líneas para que el archivo se vea así:

nano /etc/pam.d/su
...
auth       sufficient pam_rootok.so
...
auth required pam_unix.so no_warn try_first_pass
auth   required   pam_google_authenticator.so
...

3. Listo, puede verificar la operación, después de iniciar sesión como usuario normal e intentar cambiar a root usando el comando su, después de ingresar la contraseña, se le solicitará un código de la aplicación.
>

También:
>
3.1 Si desea solicitar código al intentar conectarse a ssh, deberá agregar estas líneas al archivo:

nano /etc/pam.d/sshd
...
@include common-auth
...
auth required pam_unix.so no_warn try_first_pass
auth   required   pam_google_authenticator.so
...

Si está utilizando el usuario root, permita iniciar sesión en la configuración de ssh; si está utilizando otro usuario, ejecute el comando:

./google-authenticator

como usuario normal y configúrelo de la misma manera que describimos para el usuario root.





Sin comentarios aún