¿Cómo puede registrar cada comando que alguien ha ingresado en el shell?
Lo pregunto sobre la base de protegerse si está conectado al servidor de otra persona y algo se rompe, o si alguien más está conectado a su servidor (ya sea intencionalmente o maliciosamente).
Incluso un novato puede pasar por alto el historial con unset history
o crea un nuevo caparazón para ocultar sus huellas.
Tengo curiosidad por saber cómo los administradores senior de Linux rastrean qué comandos se han ingresado/cambios realizados en el sistema.
Respuesta aceptada:
Echa un vistazo a auditd. Si agrega
-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve
a /etc/audit/audit.rules
todos los comandos ejecutados serán registrados. Consulte:http://whmcr.com/2011/10/14/auditd-logging-all-commands/
Luego envíelo a un servidor syslog.