Apache 错误日志中未找到文件

Apache 错误日志中未找到文件

我试图弄清楚为什么我们的 apache 错误日志中出现很多错误,指出“文件不存在:”例如

文件不存在:/home/FTPUSER/public_html/category,引用者:http://www.DOMAIN.co.uk/category/epson-stylus-c40sx/497/0-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-0/1 是 cat.php?id=497 等的 mod 重写规则...

答案1

在我看来,您看到的是对您的 Web 服务器进行某种自动/蓄意攻击的结果。有人或某个程序正在寻找可能未使用密码或默认密码安装的应用程序,或者具有已知漏洞的应用程序。

我们在所托管的网站上总是会遇到这些问题,对于任何类似问题,我们都无法做出反应,我们要么有一个自定义的 404 页面,要么向相关网站的主页发出自定义的 301。

答案2

您可以尝试查看该域的访问日志,看看特定请求与该错误的产生之间是否存在关联。

要查找您的日志,请尝试以下操作:

grep CustomLog /etc/httpd/conf/httpd.conf

日志文件将位于类似以下位置:

/usr/local/apache/domlogs/domain.co.uk

然后您可以从 apache 错误日志中 grep 这个文件并查看是否显示任何内容?

答案3

我的经验法则是,如果该文件不存在于我的服务器上(并且从未存在过),并且如果引荐来源网址 (referrer URL) 长度达无数个字符(并且不是来自您自己的网站),那么它很有可能是一次漏洞利用尝试。

和 ericmayo 一样,我们利用 mod_rewrite 将任何 404 转发到主站点。我们过去曾进行过一些编码,其中解析 referer.log 以查找漏洞利用尝试,并将任何可疑条目放入“拒绝”列表中。(.htaccess 是您的好朋友)

如果您正在使用 apache,这可能会有所帮助。

答案4

我同意 k3ri 和 ericmayo 的观点——这是一次自动漏洞攻击尝试。

十多年来,我在日志中看到过许多类似的漏洞利用尝试,很久以前,我就放弃了将引荐来源 IP 添加到拒绝列表中的尝试——因为实际上百万被大大小小的僵尸网络攻击的 Windows 客户端,最终会造成查找开销每一个请求,从而增加服务器延迟,而过滤不断变化的攻击源所带来的收益则远远大于此。

相关内容