Tan recientemente descubrí que alguien ha estado usando mi computadora sin consentimiento, buscando carpetas, etc.
Podría cambiar todas mis contraseñas de inmediato, pero tengo curiosidad por saber qué estaba buscando la parte intrusa. Entonces me gustaría establecer una trampa (sonrisa malvada).
¿Qué software monitoreará cualquier actividad en mi computadora? Si bien sé que capturar mi pantalla funcionará aquí. Prefiero usar un archivo de registro.
Por ejemplo:
/var/log/activity.log
[1 agosto 2010 20:23] / usr / bin / thunar accedido / multimedia / cctv-records /
[1 agosto 2010 20:25] / usr / bin / mplayer accedido /multimedia/cctv-records/00232.avi
[3 agosto 2010 02:34] / usr / bin / thunderbird se ejecutó
[3 de agosto de 2010 03:33] sesión entrante ssh del 12.32.132.123
Las actividades que me gustaría registrar son:
- Acceso a archivos y carpetas en el sistema de archivos.
- Los comandos se ejecutan (desde la consola o de otra manera)
- Sesiones de usuario (inicio de sesión, sesiones ssh e intentos fallidos)
fuente
Respuestas:
Podría usar un mecanismo en el núcleo
inotify
para monitorear los archivos accedidos.Primero debe verificar si
inotify
está activado en el núcleo:Lo siguiente que debe hacer es instalar
inotify-tools
. Instrucciones para varias distribuciones que puede encontrar en la página del proyecto : debe estar en los repositorios de todas las distribuciones principales.Después de eso, inotify está listo para trabajar:
(
m
= no salir después de un evento,r
= recursivo,q
= silencioso)Por ejemplo, salida después
ls /home/pbm
Lo importante es configurar correctamente los directorios para ver:
/
recursivamente: hay mucha lectura / escritura en/dev
y/proc
En
/proc/sys/fs/inotify/max_user_watches
existe la opción de configuración que muestra cuántos archivos se pueden ver simultáneamente. El valor predeterminado (para Gentoo) no es tan alto, por lo que si configura el monitor/home/
podría exceder el límite. Puede aumentar el límite mediante el usoecho
(se necesita acceso de root).Pero antes de eso deberías leer sobre consecuencias de ese cambio .
Opciones que pueden ser interesantes para usted:
-d
= modo demonio-o file
= salida al archivo--format
= formato especificado por el usuario, más información enman inotifywait
-e EVENT
= Qué evento deben ser monitoreados (por ejemploaccess
,modify
, etc, más información enman
)fuente
echo 524288 >> /etc/sysctl.conf && service procps restart
. ¿Cuál es el equivalente en Gentoo?echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf
. En Gentoo, podría usar el mismo método, perosysctl.conf
se origina en el/etc/init.d/bootmisc
script de inicio.¿El otro tipo está contigo? Si no tiene acceso físico o acceso de root, puede borrar todos sus rastros e incluso plantar un error para espiar a usted . Por otro lado, algunos rastros son difíciles de borrar, y es difícil pensar en todo.
Ya se han registrado varias cosas en los registros del sistema, generalmente en
/var/log
(algunos sistemas usan una ubicación diferente, como/var/logs
o/var/adm
). Bajo una configuración normal, se registran todos los inicios de sesión y montajes, entre otros. Si le preocupa que se borren los registros, puede configurar el registro remoto (cómo hacerlo depende de la implementación de syslog, pero generalmente es una o dos líneas para cambiar en un archivo de configuración en el remitente y en el receptor).Si usted o su distribución no ha deshabilitado esta función, cada archivo tiene un tiempo de acceso ("atime") que se actualiza cada vez que se lee el archivo. (Si el sistema de archivos se monta con la opción
noatime
orelatime
, el atime no se actualiza). El atime se puede falsificar contouch -a
, pero esto actualiza el ctime, por lo que deja un rastro. (Incluso la raíz no puede eliminar directamente este rastro, debe omitir el código del sistema de archivos).Varios programas tienen un historial de sesiones . Es fácil de eliminar o falsificar, si el intruso se acordó de hacerlo. Bash mantiene
~/.bash_history
, los navegadores tienden a escribir muchas cosas en su directorio de perfil, y así sucesivamente. Usted también puede encontrar contando errores o advertencias en~/.xsession-errors
o/var/log/Xorg.0.log
u otro sistema dependiente de ubicación.Muchas unidades tienen una función de contabilidad de procesos . Consulte, por ejemplo, el manual de utilidades de contabilidad de GNU , la entrada en el manual de FreeBSD o el tutorial de Linux o la guía de Solaris . Una vez habilitado, registra qué usuario lanzó qué proceso y cuándo (registra
execve
llamadas), y tal vez un poco más. Hay mucha información interesante que no registra, como los archivos a los que accede el proceso.Si desea monitorear todos los accesos a un sistema de archivos, puede proporcionarlo a través defsf . Es muy fácil notar si el tipo piensa mirar.
Hay programas de registro más completos, pero pueden requerir soporte adicional del núcleo. En Solaris, FreeBSD, NetBSD y Mac OS X, hay dtrace (hay un puerto de Linux en progreso pero no sé si ha alcanzado una etapa utilizable). También puede rastrear procesos específicos a través de una interfaz hasta la
ptrace
llamada del sistema, por ejemplostrace
en Linux; Puede inducir una desaceleración notable.¹ ¿ Algo que no está en Wikipedia? No, eso es una locura.
fuente
Echa un vistazo a Fail2ban y DenyHØsts .
fuente
Esto no es exactamente lo que está buscando, pero algunas aplicaciones mantienen una lista de archivos a los que accedió recientemente. Además, GNOME mantiene esa lista, a la que se puede acceder desde su Panel.
Otra solución es usar GNOME Activity Journal , aunque la última vez que lo verifiqué, no guardaba un registro de la actividad de CLI, y solo estaba interesado en la actividad relacionada con el archivo (lectura, edición), ignorando otras actividades.
También puede buscar dentro del
/var/log
directorio donde un montón de programas almacenan sus registros.fuente
Asumiendo suficiente ingenuidad en el lado de su atacante, simplemente puede lanzar
script -qft $USER-$$ 2> $USER-$$-time
en su script de inicio de sesión apropiado para monitorear sus interacciones de terminal y reproducir con los comandos de scriptreplay apropiados.Para monitorear el acceso a nivel de archivo, recomiendo adjuntar un
strace -fe open
registro apropiado al sshd y filtrar para las sesiones de inicio de sesión (o tal vez sea mejor simplemente hacer esto desde). Advertencia: Grandes resultados, ya que hacer cualquier cosa en un sistema moderno toca muchos archivos Si solo desea monitorear archivos específicos, eche un vistazo a auditado y su infraestructura de soporte.Las sesiones y los intentos de inicio de sesión se pueden recopilar de syslog según otras respuestas.
fuente