![监视文件以查看谁在访问/写入它并记录它](https://linux22.com/image/800590/%E7%9B%91%E8%A7%86%E6%96%87%E4%BB%B6%E4%BB%A5%E6%9F%A5%E7%9C%8B%E8%B0%81%E5%9C%A8%E8%AE%BF%E9%97%AE%2F%E5%86%99%E5%85%A5%E5%AE%83%E5%B9%B6%E8%AE%B0%E5%BD%95%E5%AE%83.png)
我的网络服务器遇到了一些恶意软件问题。
我将第三方软件(例如 Wordpress)更新到最新版本,禁用了 root 登录并将我的用户密码设置得足够复杂,但仍然有人或某物在更改我的index.php
文件,添加一些代码,导致许多访问者的浏览器出现恶意软件警报。
现在,由于我无法找出是谁或什么在做这件事,所以我想观察其中一个index.php
定期更改的文件,这样我就能看到谁在访问它。
我想知道哪个程序和用户正在访问它。有可能这样做吗?我检查过了inotify-tools
,但它似乎只是告诉我有关更改的信息,但没有告诉我谁在更改它,对吗?
答案1
我对该软件包(在 apt 中找到)的使用体验非常好auditd
。它是一个全面的审计日志守护进程。这里唯一可能的问题是,您肯定需要 root 访问权限才能安装它。
一些基本说明可在此处找到 http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html
答案2
但不是谁在改变它,对吗?
并不真地。
最有可能的是,该网站正在通过其上运行的 php 脚本被远程利用(据我所知当前的Wordpress 的最新版本是相当安全的,但有很多第三方插件存在漏洞)。如果是这种情况,那么您看到的只是 PHP 运行时的 uid - 然后您需要将其与您的 Web 服务器日志进行核对,以查看攻击可能来自何处。但这能帮助您解决问题吗?我认为不能。(也对照 wtmp 日志进行检查)。
部分解决方案可能是确保全部PHP uid 无法写入这些文件。这提供了一些保护 - 但您将无法看到这些文件是如何被修改的。
如果是我,我会采用 inotify/log 协调方法 - 但我想找到漏洞并消除它。
答案3
如果它是一个 Windows 框,您可以对该目录启用审核。
Server 2008 和 GPO: http://social.technet.microsoft.com/Forums/en-US/winserverfiles/thread/da689e43-d51d-4005-bc48-26d3c387e859/