linux – Necesita una técnica para obligar a los administradores de sistemas a que registren la razón por la que acceden a un servidor prod.

Pregunta:

Mi empresa requiere que cada vez que un usuario inicie sesión en un servidor de producción, se registre la razón por la que esa persona inició sesión y los cambios que el usuario pretende realizar. Mi equipo quiere hacer esto, pero es fácil olvidarlo. Me gustaría ayudarlos a recordar. Consideré un motd, pero quiero algo un poco más fuerte.

Mi primer pensamiento fue cambiar el shell del usuario a un script que haga algo como

vim /logs/logindate.txt 
bash -l

¿Existe una técnica mejor o más estándar?

Nota: La idea es que estos usuarios sean administradores de sistemas y les gustaría realizar la entrada de registro sin alterar el sistema; con frecuencia se olvidan de hacerlo. Entonces, si pueden ctrl-c, bueno … asumimos que no lo harán.

Respuesta:

Mire pam_exec.so . Puede ejecutar un script al iniciar sesión en la interfaz de sesión del sistema de autenticación de PAM. El script se ejecuta como root antes de que el usuario obtenga un shell, por lo que es posible que no capture la entrada con read ? Sin embargo, puede probar y usar read para obtener una razón del usuario y registrarlo en syslog con una declaración de logger . (Lo he omitido a continuación, pero puede interceptar CTRL + C para evitar que alguien salga sin razón). $ PAM_USER se configurará para la persona que inicie sesión, por lo que puede incluirlo en la declaración del registrador.

Ejemplo:

En la parte superior de la sesión en /etc/pam.d/system-auth:

session required pam_exec.so /usr/local/sbin/getreason

Y / usr / local / sbin / getreason:

#!/bin/bash
read -p "Reason for logging into production: " reason
logger -t $(basename $0) "$PAM_USER logged in with reason: ${reason}"

Disculpas si esto no funciona perfectamente. No lo probé, pero recientemente hice algo similar. (No capturó la entrada).


Editar: Cuanto más pienso en esto, más no creo que funcione debido a la etapa en la que se ejecuta. El mismo script getreason debería funcionar después de reemplazar $PAM_USER con $(logname) , pero es posible que deba ejecutarse en /etc/profile . (Primero, pruebe el shell interactivo).

Dejaré ambas opciones, ya que al menos debería hacer que pienses en la dirección correcta, al menos.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım