如何在特定的时间范围内审核Linux文件系统中已更改或添加的文件?

我们是一个网站devise/托pipe公司运行几个网站,有人能够写入任意数据的文件系统。 我们怀疑他们仍然安装了一些脚本,并且需要一种方法来审计在过去10天内更改或添加的任何内容。 有没有我们可以运行的命令或脚本来做到这一点?

重来:
就我个人而言,除非我只是重新安装每个服务器,否则我晚上睡不好觉。

我强烈build议你这样做,黑客可以隐藏一些东西,让它们看起来好像已经改变了,即使它们已经足够好了。

为什么找不到工作:
例如,要更改修改时间:

kbrandt@kbrandt: ~/scrap/touch] ls -l foo -rw-rw-r-- 1 kbrandt kbrandt 4 2010-04-05 12:22 foo [kbrandt@kbrandt: ~/scrap/touch] touch -m -t 199812130530 foo [kbrandt@kbrandt: ~/scrap/touch] ls -l foo -rw-rw-r-- 1 kbrandt kbrandt 4 1998-12-13 05:30 foo 

ctime可能会更好地search,如果你去寻找路线,但也可能有一个简单的方法来改变这一点。 如果不容易的话,有人可以用我想象中的设备进入本身,只是编辑文件系统本身。

刚刚在网上找了下ctime,还没试过呢:

 Since ctime is the last time the inode info was changed, you could change the system date, make a new hardlink, remove it again and change the date back. 

而这个东西只是使用已经在用户系统上的工具,忘记了如果精通内核编程,人们可以做些什么。

使用-mtime-mmin谓词的find命令可以执行此操作。

在这一点上查找可能是你最好的select,但我同意新的安装。 但是,你怎么知道你的数据库也没有被妥协?

像Joomla这样的大多数应用程序都可以从locking文件权限中受益。 我怀疑你的Web服务器需要写访问树中所有的文件/目录。 你应该让他们只读在需要的地方。

outlook未来,我可能会build议你运行某种forms的IDS,例如tripwire( http://sourceforge.net/projects/tripwire/ )或助手( http://www.cs.tut.fi/~rammer/aide.html )。

有用的build议 – 如果你不能避免Joomla(或第三方附加,这是最大的罪犯),我强烈build议保持最新的已知漏洞,并禁用附加组件,如有必要,

http://www.exploit-db.com/list.php?description=joomla&author=&platform=&type=&port=&osvdb=&cve=

Dnotify也可能对你很有趣: http : //en.wikipedia.org/wiki/Dnotify

正如罪名指出“tripwire”应该是你面对的问题的答案。 这是一个很好的文件系统审计工具,可以对其进行更深入的了解。