GNU/Linux >> Tutoriales Linux >  >> Linux

CentOS / RHEL:cómo restringir el inicio de sesión SSH por hora del día

Pregunta:

Cómo hacer cumplir una política que permite nuevos inicios de sesión ssh solo a una hora determinada del día. Fuera de estas ventanas de acceso no se permitirán nuevos inicios de sesión ssh.

Solución:

Descripción del recurso PAM

Los tiempos de inicio de sesión se pueden controlar utilizando el método de autenticación de complemento de Linux (PAM) pam_time.so módulo. El módulo pam_time.so aplica las restricciones de inicio de sesión especificadas en el archivo /etc/security/time.conf . Por lo tanto, las ventanas de inicio de sesión deseadas deben definirse en ese archivo.

Política de ejemplo
Usar un ejemplo es la mejor manera de explicar el funcionamiento del módulo pam_time.so. Nos gustaría limitar el inicio de sesión remoto del usuario john al sistema solo entre las 13:00 y las 14:00 cualquier día. Para hacer esto, agregue la siguiente línea al archivo /etc/security/time.conf:

# vi /etc/security/time.conf
sshd;*;john;Al1300-1400

Los campos están separados por un carácter de punto y coma (;). Los campos son:

  1. El nombre del servicio para ser controlador, aquí se usa sshd.
  2. El terminal tty que se está controlando. Este campo nos permite limitar la restricción a un determinado terminal, por ejemplo. El comodín "*" significa aplicar la restricción independientemente del terminal utilizado para el intento de inicio de sesión.
  3. Una lista de los usuarios a los que se aplica esta limitación. Nuestra restricción de ejemplo se aplica solo al usuario john.
  4. Una lista de las horas a las que se aplica la restricción. Cada rango de tiempo es un signo de exclamación opcional (!) para negar el rango de tiempo, seguido de uno o más nombres de días de dos letras, seguido de un rango de tiempo que usa un reloj de 24 horas. El nombre Wk significa cualquier día de la semana; el nombre Wd significa un día de fin de semana; y Al significa cualquier día. Nuestro ejemplo otorga permiso entre las 13:00 y las 14:00, cualquier día de la semana.

Activar la política
Agregue una línea al archivo de servicio /etc/pam.d/sshd que diga:

# vi /etc/pam.d/sshd
account required pam_time.so

La línea debe agruparse con otras líneas de cuenta. El orden de las líneas en los archivos de autenticación PAM es importante:los elementos se aplican en el orden en que aparecen las líneas en el archivo. Agregue la nueva línea como última línea de cuenta. Esto garantiza que la información sobre una aplicación basada en el tiempo no se filtre a terceros. En nuestro ejemplo:

# vim /etc/pam.d/sshd
#%PAM-1.0
...
# Additionally, check for any account-based restrictions using pam_time.so
account required pam_nologin.so
account include password-auth
account required pam_time.so
...
Tenga mucho cuidado al realizar cambios en los archivos de configuración de PAM. Una edición incorrecta, o un error tipográfico, puede abrir el sistema por completo a cualquier usuario, o puede bloquear a todos los usuarios (incluido el root) fuera del sistema.


Linux
  1. CentOS / RHEL 7:Cómo cambiar la zona horaria

  2. Inicio de sesión de SSH atascado en:"debug1:esperando SSH2_MSG_KEX_DH_GEX_GROUP" CentOS/RHEL 7

  3. CentOS/RHEL:Cómo deshabilitar/habilitar el inicio de sesión ssh de usuario root y no root directo

  4. CentOS / RHEL:cómo deshabilitar el inicio de sesión raíz o el acceso raíz en un sistema

  5. CentOS / RHEL:cómo cambiar el shell de inicio de sesión del usuario

Cómo configurar el inicio de sesión sin contraseña SSH en CentOS 8 / RHEL 8

Cómo cambiar la zona horaria en CentOS 8 / RHEL 8

Cómo habilitar las notificaciones de inicio de sesión SSH por correo electrónico en CentOS 8

Cómo configurar SSH en CentOS y RHEL

¿Cómo cambiar el puerto SSH en Centos 7.x?

Cómo deshabilitar la lista de usuarios en la pantalla de inicio de sesión de GNOME en CentOS/RHEL 8