Cómo rastrear mejor las aventuras de un administrador novato

8

Tengo este usuario que tiene privilegios de sudo limitados, pero se las arregla para arruinarlo de vez en cuando. Me gustaría vigilar sus aventuras, para poder revertir cualquier daño con menos excavación. Idealmente, me gustaría un servicio con la siguiente funcionalidad bien integrada y presentable

  • Pistas de concha de entrada y salida como ttyrec(o script, o sudosi el registro está configurado) y puede reproducir la sesión como ttyplay (o scriptreplayo sudoreplay) La compatibilidad con programas ncurses estaría bien, pero no es necesario, ttyrecpuede hacerlo parecer.
  • Rastrea el acceso, creación y modificación de archivos. Idealmente, también podría hacer una copia de seguridad de un archivo cada vez que se cambia o se elimina.

Hasta ahora, he encontrado varias herramientas que tendría que configurar para obtener la mayor parte de la funcionalidad solicitada, pero no he encontrado un producto OSS que las integrara bien (la edición comunitaria de Lynis no tiene muy clara la funcionalidad) .

  • Podría poner ttyrec $(mktemp), script $(mktemp)o sudo -u $USER -i(con el registro de sudo configurado) en el suyo .bashrcpara registrar el shell IO.
  • Configurar la auditoría para rastrear el acceso a archivos en algunos directorios, como /usr, /etc, /var.
  • Cree una instantánea LVM cuando inicie sesión, pero eso es un poco exagerado y podría degradar el rendimiento del sistema.

EDITAR: ttyrec parece ser una mejor alternativa para scriptsatisfacer todos mis requisitos de registro de IO. Ahora necesito encontrar una buena manera de registrar la manipulación de archivos.

Estaré agradecido por cualquier sugerencia o recomendación de mejores prácticas.

Ondřej Grover
fuente
3
Sugerencia: en algunos países esto puede no ser legal sin el permiso del usuario.
Cyrus
2
@ Cyrus gracias por el recordatorio, él lo sabría. Se trata más de encontrar una forma menos intrusiva y más automática que pedirle que recuerde ejecutar siempre todo en una scriptsesión. No se trata de espiarlo, sino de darle la seguridad de que sus errores pueden ser rastreados.
Ondřej Grover
3
Creo que este usuario no debería tener privilegios de sudo.
dr_
1
@ dr01 idealmente sí, yo haría la administración por él. Pero eso no siempre es posible. No siempre se equivoca, solo necesito configurar una red de seguridad.
Ondřej Grover

Respuestas:

2

Tal vez podría alentar a su administrador a usar buenas prácticas de registro. Gnu Screen hace esto bastante bien. Agrega bastante más funcionalidad de la que está buscando, y también tiene la capacidad de alternar el registro, por lo que podría desactivarlo él mismo, si lo desea. Carece de la funcionalidad de reproducción, pero podría ser parte de una solución, ya que rastrea la mayoría de las entradas y salidas cuando el inicio de sesión está activado.

En su caso de uso, desearía agregar deflog onal archivo screenrc para tener nuevas ventanas predeterminadas al iniciar sesión.

Sin embargo, esto tiene la desventaja de que su usuario puede alternarlo.

Puede realizar el monitoreo de archivos usando Monit , que vigila las sumas de verificación de archivos para detectar cambios, y también puede verificar las condiciones de varios servicios. Combine esto con algo como un rsync en un cronjob (ya que debería tener algo así de todos modos) y tiene una idea bastante sólida de lo que está sucediendo exactamente en el servidor, especialmente si enciende marcas de tiempo muy apretadas en la pantalla y confía en su usuario no jugar con la configuración de registro.

Al combinar estas herramientas, debe tener un sistema bastante robusto y liviano que le permita mantener un ojo decente en su usuario al tiempo que garantiza un nivel básico de salvabilidad.

James Biederbeck
fuente