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:
- El nombre del servicio para ser controlador, aquí se usa sshd.
- 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.
- Una lista de los usuarios a los que se aplica esta limitación. Nuestra restricción de ejemplo se aplica solo al usuario john.
- 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.