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:
您可以使用内核机制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
=什么事件应该被监控(例如access
,modify
等,在更多信息man
)另一个人在找你吗?如果他有物理访问权限或 root 访问权限,他可以清除所有痕迹,甚至可以植入一个漏洞来监视你。另一方面,有些痕迹是很难抹去的,而且很难想到所有的东西。
系统日志中已经记录了各种内容,通常在/var/log
(某些系统使用不同的位置,例如/var/logs
或/var/adm
)。在正常配置下,所有登录和安装都会被记录下来。如果您担心日志被删除,您可以设置远程日志记录(如何做到这一点取决于系统日志的实现,但通常在发送方和接收方的配置文件中更改一两行)。
如果您或您的发行版没有禁用此功能,则每个文件都有一个访问时间(“atime”),每当读取文件时都会更新该时间。(如果文件系统使用noatime
orrelatime
选项挂载,则 atime 不会更新。)可以使用 伪造 atime touch -a
,但这会更新 ctime,因此会留下痕迹。(即使是 root 也不能直接删除这个跟踪,你需要绕过文件系统代码。)
各种程序都有会话历史。如果入侵者记得这样做,则很容易删除或伪造。Bash 保留~/.bash_history
,浏览器倾向于在其配置文件目录中写入大量内容,等等。您还可以在~/.xsession-errors
或/var/log/Xorg.0.log
或其他与系统相关的位置发现告知错误或警告。
许多 unice 具有流程记帐¹ 功能。例如,参见GNU 会计实用程序手册、FreeBSD 手册中的条目或Linux howto或Solaris 指南。启用后,它会记录用户何时启动了什么进程(记录execve
调用),甚至更多。它没有记录很多有趣的信息,例如进程访问的文件。
如果要监视对文件系统的所有访问,可以通过loggingfs提供。如果这个人想看,很容易注意到。
有更全面的日志记录程序,但它们可能需要额外的内核支持。在 Solaris、FreeBSD、NetBSD 和 Mac OS X 上,有dtrace(有一个 Linux 端口正在进行中,但我不知道它是否已达到可用阶段)。您还可以通过ptrace
系统调用的接口跟踪特定进程,例如strace
在 Linux 上;它可能会导致明显的放缓。
¹维基百科中没有的东西?不,那是疯狂的谈话。
归档时间: |
|
查看次数: |
2475 次 |
最近记录: |