coconut_pete Asked: 2010-04-06 07:40:39 +0800 CST2010-04-06 07:40:39 +0800 CST 2010-04-06 07:40:39 +0800 CST 如何审核 Linux 文件系统以查找在特定时间范围内更改或添加的文件? 772 我们是一家网站设计/托管公司,运营着多个网站,有人能够将任意数据写入文件系统。我们怀疑他们仍然安装了一些脚本,并且需要一种方法来审核过去 10 天内更改或添加的任何内容。有没有我们可以运行的命令或脚本来做到这一点? linux filesystems security joomla 6 个回答 Voted Best Answer Kyle Brandt 2010-04-06T07:43:42+08:002010-04-06T07:43:42+08:00 重新开始: 就我个人而言,除非我只是从全新安装中重建每台服务器,否则我晚上会难以入睡。 我强烈建议你这样做,黑客可以隐藏一些东西,让它们看起来像是改变了,即使它们已经足够好。 为什么 find 不起作用: 例如,要更改修改时间: 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 可能会更好地搜索,但也可能有一种简单的方法来改变它。如果不容易的话,有人可以进去,用我想象的设备编辑文件系统本身。 刚用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. 而且这些东西只是使用用户态系统上已经存在的工具,忘记如果他们精通内核编程,他们可以做什么。 Ignacio Vazquez-Abrams 2010-04-06T07:42:15+08:002010-04-06T07:42:15+08:00 find带有-mtimeand谓词的命令-mmin可以做到这一点。 sinping 2010-04-06T08:33:10+08:002010-04-06T08:33:10+08:00 Find 可能是您目前最好的选择,但我同意全新安装。但是,您怎么知道您的数据库也没有受到损害? 像 Joomla 这样的大多数应用程序都可以从锁定文件权限中受益。我怀疑您的 Web 服务器需要对树中的所有文件/目录的写入权限。您应该使它们只读,除非需要。 展望未来,我是否建议您运行某种形式的 IDS,例如tripwire ( http://sourceforge.net/projects/tripwire/ ) 或助手 ( http://www.cs.tut.fi/~rammer/aide.html)。 gravyface 2010-04-06T07:52:46+08:002010-04-06T07:52:46+08:00 一些有用的建议——如果你无法避免 Joomla(或第 3 方插件,它们是最大的罪犯),我强烈建议你及时了解那里的已知漏洞并禁用插件——必要时: http://www.exploit-db.com/list.php?description=joomla&author=&platform=&type=&port=&osvdb=&cve= postgresql007 2010-04-06T09:37:56+08:002010-04-06T09:37:56+08:00 Dnotify 对您来说可能也很有趣:http ://en.wikipedia.org/wiki/Dnotify unixbhaskar 2010-04-06T23:08:23+08:002010-04-06T23:08:23+08:00 正如 sinping 指出的那样,“tripwire”应该是您对所面临问题的答案。它是进行文件系统审计和深入了解它的五种绝妙工具。
重新开始:
就我个人而言,除非我只是从全新安装中重建每台服务器,否则我晚上会难以入睡。
我强烈建议你这样做,黑客可以隐藏一些东西,让它们看起来像是改变了,即使它们已经足够好。
为什么 find 不起作用:
例如,要更改修改时间:
如果你去查找路线,ctime 可能会更好地搜索,但也可能有一种简单的方法来改变它。如果不容易的话,有人可以进去,用我想象的设备编辑文件系统本身。
刚用ctime在网上找了以下,没试过:
而且这些东西只是使用用户态系统上已经存在的工具,忘记如果他们精通内核编程,他们可以做什么。
find
带有-mtime
and谓词的命令-mmin
可以做到这一点。Find 可能是您目前最好的选择,但我同意全新安装。但是,您怎么知道您的数据库也没有受到损害?
像 Joomla 这样的大多数应用程序都可以从锁定文件权限中受益。我怀疑您的 Web 服务器需要对树中的所有文件/目录的写入权限。您应该使它们只读,除非需要。
展望未来,我是否建议您运行某种形式的 IDS,例如tripwire ( http://sourceforge.net/projects/tripwire/ ) 或助手 ( http://www.cs.tut.fi/~rammer/aide.html)。
一些有用的建议——如果你无法避免 Joomla(或第 3 方插件,它们是最大的罪犯),我强烈建议你及时了解那里的已知漏洞并禁用插件——必要时:
http://www.exploit-db.com/list.php?description=joomla&author=&platform=&type=&port=&osvdb=&cve=
Dnotify 对您来说可能也很有趣:http ://en.wikipedia.org/wiki/Dnotify
正如 sinping 指出的那样,“tripwire”应该是您对所面临问题的答案。它是进行文件系统审计和深入了解它的五种绝妙工具。