我在服务器上有一个文件夹,里面有一个网站。该服务器已经与互联网切断,但过了一段时间,其中会自动创建几个文件夹,每个文件夹里都有一些可疑文件。
我已检查所有用户的 Cron 作业,Cron 中没有任何作业在运行。在我尝试使用 Inotify 工具检查文件夹的系统调用后,我得到了以下结果:
./Lq1Lbs/ MODIFY index.html
./Lq1Lbs/ CLOSE_WRITE,CLOSE index.html
./nmt08u/ MODIFY index.html
./nmt08u/ OPEN index.html
./nmt08u/ ATTRIB index.html
./nmt08u/ ATTRIB index.html
./nmt08u/ MODIFY index.html
./nmt08u/ CLOSE_WRITE,CLOSE index.html
但我需要知道哪个确切的实用程序、脚本、用户或什么创建了其中的文件夹和文件。我已经尝试过 tripwire、ossec、AIDE,它们都只是通知文件的创建/删除或修改,但没有告诉我哪个确切的脚本、文件、脚本或实用程序执行了此操作。有可能知道吗?
简而言之,哪个进程更改或创建了哪个文件/文件夹,这就是我想知道的。谢谢
答案1
实现该目标的唯一明智方法是使用 Liunx 审计框架 (LAF)。检查这个快速启动关于如何处理您的问题的文档。
答案2
我不知道事后该怎么做,但是审计守护进程可以捕获这些信息。
配置 auditd 来监视/etc/passwd
:
auditctl -w /etc/passwd -p war -k password-file
检查谁修改了/etc/passwd
:
ausearch -f /etc/passwd -i
它非常强大,功能远不止上述这些。
答案3
其中一个方法是Unix/Linux 网站上的问答,就是结合Linux的通知子系统使用lsof
命令。后者列出所有打开的文件句柄。如果您lsof
在有趣的文件创建或修改发生时立即触发,则很有可能抓住罪魁祸首。但是,没有保证——如果进程尽快写入文件并随后立即退出,则此方法将不起作用。