Quiero monitorear la actividad de todos los usuarios en mi servidor.
Incluso cuando el usuario ejecuta un comando de shell desde algún editor como vim, quiero verlos en el archivo de registro.
He comprobado la herramienta acct pero no enumera los comandos completos. (Corríjame si me he perdido algunas opciones que ya lo hace).
¿Qué herramienta de Linux debería mirar para resolver este problema?
linux
user-management
Supratik
fuente
fuente
Respuestas:
Agregue esta línea a su configuración de pam responsable de los inicios de sesión (su autenticación del sistema en distribuciones basadas en redhat)
Para saber qué se hizo, puede usar.
Esto produce una salida como esta:
El único inconveniente de esto es que puede ser un poco difícil de leer, pero es mucho mejor que la mayoría de las soluciones propuestas, ya que en teoría podría usarse para grabar una sesión completa, verrugas y todas.
Editar: Ah, y puede usar un puerto para generar una lista que puede ser más útil.
fuente
auditd
daemon debe habilitarse primero (no estaba por defecto en mi instalación de CentOS 6.7). Para iniciar el demonio, use:service auditd start
y para que este cambio sea persistente (después de reiniciar), usechkconfig auditd on
Source: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… y access.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux /…La mejor solución a su problema sería el sistema de auditoría incorporado de Linux . Utilice
man 8 auditd
o consulte esta página para obtener más información: http://linux.die.net/man/8/auditd .Además, puede consultar este tutorial : aunque está un poco fuera del alcance de su pregunta, muestra cómo funciona el sistema de auditoría.
fuente
Podrías usar snoopy .
Es una biblioteca de registro de comandos simple, y no una solución de auditoría adecuada (fácil de eludir). Divulgación: Soy actual mantenedor de snoopy.
fuente
Un truco menos conocido, pero fácilmente el más asombroso es usar las capacidades de auditoría incorporadas
sudo
. Sudo se envía con unsudoreplay
comando que facilita la reproducción de sesiones. Incluso retransmitirávim
sesiones (como sugiere).Aquí se explica cómo usarlo en unos pocos pasos:
sudosh
en su sistema; Este es un contenedor de shell alrededor delsudo
comando que hace que un usuariosudo
mismo (noroot
) y se pueda usar como un shell de inicio de sesión del sistemaHabilitar
sudo
registro. Editar/etc/sudoers.d/sudosh
:Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output
Agregue este comando a
/etc/shells
para permitir inicios de sesión usándolo:/usr/bin/sudosh
Consejo : para evitar que los usuarios utilicen otros shells para iniciar sesión, elimine esos otros shells
/etc/shells
.Actualice al usuario
foobar
para usar elsudosh
shell.chsh -s /usr/bin/sudosh foobar
Para obtener información más detallada, consulte: https://github.com/cloudposse/sudosh/
fuente
Aquí hay una solución mágica: http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
puede mostrar estadísticas sobre comandos de usuario / conexión, etc.
Listar todos los comandos invocados por un usuario determinado ...
Busque en los registros de contabilidad por nombre de comando: $ lastcomm rm $ lastcomm passwd
y así sucesivamente, para obtener más información, visite el enlace anterior.
fuente