监控我电脑上的活动。

Ste*_*fan 16 security logs monitoring forensics

所以最近我发现有人在未经同意的情况下使用我的电脑,浏览文件夹等......

I could change all my passwords straight away, but I'm curious as the what the intruding party was looking for. So I would like to set up a trap ( evil grin ).

What software will monitor any activity on my computer? While I know that capturing my screen will work here. I'd rather use a logfile.

For example:

/var/log/activity.log

[1 Aug 2010 20:23] /usr/bin/thunar accessed /multimedia/cctv-records/
[1 Aug 2010 20:25] /usr/bin/mplayer accessed /multimedia/cctv-records/00232.avi
[3 Aug 2010 02:34] /usr/bin/thunderbird was run
[3 Aug 2010 03:33] incomming ssh session from 12.32.132.123

Activities I would like to log is:

  • Access to files and folders on the filesystem
  • Commands run ( from console or otherwise )
  • User Sessions ( login's, ssh sessions and failed attempts )

pbm*_*pbm 8

您可以使用内核机制inotify来监控访问的文件。

首先,您应该检查inotify内核中是否已打开:

pbm@tauri ~ $ zcat /proc/config.gz | grep CONFIG_INOTIFY
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
Run Code Online (Sandbox Code Playgroud)

接下来要做的是安装inotify-tools。您可以在项目页面上找到各种发行版的说明- 它应该在所有主要发行版的存储库中。

在inotify准备工作之后:

inotifywait /dirs/to/watch -mrq
Run Code Online (Sandbox Code Playgroud)

m= 在一个事件后不退出,r= 递归,q= 安静)

例如 - 输出后 ls /home/pbm

pbm@tauri ~ $ inotifywait /bin /home/pbm -mq 
/bin/ OPEN ls
/bin/ ACCESS ls
/bin/ ACCESS ls
/home/pbm/ OPEN,ISDIR 
/home/pbm/ CLOSE_NOWRITE,CLOSE,ISDIR 
/bin/ CLOSE_NOWRITE,CLOSE ls
Run Code Online (Sandbox Code Playgroud)

重要的是正确设置监视目录:

  • 不要/递归观看- 有很多读/写/dev/proc
  • 不要递归地查看您的主目录 - 当您使用应用程序时,对应用程序配置目录和浏览器配置文件目录有很多读/写操作

/proc/sys/fs/inotify/max_user_watches有配置选项显示有多少个文件可以同时观看。默认值(对于 Gentoo)大约没有那么高,所以如果你将 watcher 设置为/home/你可能会超过限制。您可以通过使用echo(需要root访问权限)来增加限制。

echo 524288 > /proc/sys/fs/inotify/max_user_watches
Run Code Online (Sandbox Code Playgroud)

但在此之前,您应该阅读有关这种变化的后果

您可能感兴趣的选项:

  • -d = 守护进程模式
  • -o file = 输出到文件
  • --format = 用户指定的格式,更多信息在 man inotifywait
  • -e EVENT=什么事件应该被监控(例如accessmodify等,在更多信息man


Gil*_*il' 7

另一个人在找你吗?如果他有物理访问权限或 root 访问权限,他可以清除所有痕迹,甚至可以植入一个漏洞来监视。另一方面,有些痕迹是很难抹去的,而且很难想到所有的东西。

系统日志中已经记录了各种内容,通常在/var/log(某些系统使用不同的位置,例如/var/logs/var/adm)。在正常配置下,所有登录和安装都会被记录下来。如果您担心日志被删除,您可以设置远程日志记录(如何做到这一点取决于系统日志的实现,但通常在发送方和接收方的配置文件中更改一两行)。

如果您或您的发行版没有禁用此功能,则每个文件都有一个访问时间(“atime”),每当读取文件时都会更新该时间。(如果文件系统使用noatimeorrelatime选项挂载,则 atime 不会更新。)可以使用 伪造 atime touch -a,但这会更新 ctime,因此会留下痕迹。(即使是 root 也不能​​直接删除这个跟踪,你需要绕过文件系统代码。)

各种程序都有会话历史。如果入侵者记得这样做,则很容易删除或伪造。Bash 保留~/.bash_history,浏览器倾向于在其配置文件目录中写入大量内容,等等。您还可以在~/.xsession-errors/var/log/Xorg.0.log或其他与系统相关的位置发现告知错误或警告。

许多 unice 具有流程记帐¹ 功能。例如,参见GNU 会计实用程序手册FreeBSD 手册中的条目或Linux howtoSolaris 指南。启用后,它会记录用户何时启动了什么进程(记录execve调用),甚至更多。它没有记录很多有趣的信息,例如进程访问的文件。

如果要监视对文件系统的所有访问,可以通过loggingfs提供。如果这个人想看,很容易注意到。

有更全面的日志记录程序,但它们可能需要额外的内核支持。在 Solaris、FreeBSD、NetBSD 和 Mac OS X 上,有dtrace(有一个 Linux 端口正在进行中,但我不知道它是否已达到可用阶段)。您还可以通过ptrace系统调用的接口跟踪特定进程,例如strace在 Linux 上;它可能会导致明显的放缓。

¹维基百科中没有的东西?不,那是疯狂的谈话。