我试图弄清楚为什么我们的 apache 错误日志中出现很多错误,即状态为“文件不存在:”,例如
文件不存在:/home/FTPUSER/public_html/category,引用者:http ://www.DOMAIN.co.uk/category/epson-stylus-c40sx/497/0-0-0-0-0-0- 0-0/1
(其中 FTPUSER 是 cpanel 用户名)
代码中的任何地方都没有对 /home/FTPUSER/public_html/category 的引用,有什么建议吗?
另请注意,/category/epson-stylus-c40sx/497/0-0-0-0-0-0-0-0/1 是 cat.php?id=497 等的 mod 重写规则...
在我看来,您正在看到对您的 Web 服务器进行某种自动/故意攻击的结果。某人或某个程序正在寻找可能在没有密码或默认密码的情况下安装的应用程序或具有已知漏洞的应用程序。
我们一直在我们托管的网站上得到这些,对于这样的事情,我们也无法回应,我们要么有一个自定义的 404 页面,要么我们向相关网站的主页发出一个自定义的 301。
您可以尝试查看该域的访问日志,以查看特定请求与该错误的生成之间是否存在任何关联。
要查找您的日志,请尝试以下操作:
日志文件将类似于:
然后你可以从 apache 错误日志中 grep 这个文件,看看它是否显示了什么?
我通常的经验法则是,如果该文件在我的服务器上不存在(并且从未存在),并且如果引荐来源网址的长度为数百万个字符(而不是来自您自己的站点),那么它被利用的可能性是非常好。
像 ericmayo 一样,我们利用 mod_rewrite 将任何 404 转发到主站点。我们过去做过一些编码,解析referer.log 以查找漏洞利用尝试,并将任何可疑条目放入“拒绝”列表。(.htaccess 是你的朋友)
如果您使用的是 apache,这可能会有所帮助。
我与 k3ri 和 ericmayo 合作——这是一个自动化的漏洞利用尝试。
十多年来,在日志中看到了许多类似的利用尝试,我很久以前就尝试将引荐来源 IP 添加到拒绝列表中——因为实际上有数以百万计的 Windows 客户端被大大小小的 bot-herders 控制,你最终会创建查找每个请求的开销,因此增加的服务器延迟超过了过滤不断变化的攻击源所能获得的收益。