我在 Apache 错误日志 () 中看到了一些这样的消息,/var/log/httpd/error_log
大约每半小时出现一条,通常是小批量出现:
(process:23210): libgnomevfs-WARNING **: Unable to create ~/.gnome2 directory: Permission denied
这不是一个问题,但它很丑陋并且会使错误日志中无法显示有用的错误。
笔记:
- 我不知道触发这些警告的 URL。如果我知道,我就能解决它们发生的原因。我猜它们是由爬虫猜测触发错误的特定 URL 触发的。
- 我们的 Apache 使用“
nobody
”用户。“nobody”用户是非特权用户。这意味着该用户不拥有任何东西,没有主文件夹,也没有对任何东西的执行权限。
有谁知道是什么原因导致了这个错误?
> php -v
PHP 5.3.10 (cli) (built: Feb 2 2012 17:34:38)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH
> httpd -v
Server version: Apache/2.2.3
Server built: Oct 6 2011 12:11:58
> cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.7 (Tikanga)
答案1
有人正试图利用 PHP 漏洞来执行系统命令。
这些结果最终会出现在 apache 错误日志中,因为这是 PHP 进程的 stderr 指向的地方。
如果你看到它们实时发生,调查命名的 PID 并查看它是什么;虽然它可能是 apache,但如果你在运行 prefork MPM,你可以准确地看到哪个通过配置过程mod_status。
还要检查 /tmp 中是否有任何新的、可疑的或完全奇怪的文件。
哦,显然还要修复不安全的 PHP 脚本。
答案2
这是一个老问题,但是当我看到我们其中一个盒子上的条目时,我猜有些人仍然有这个问题。
没有漏洞,就没有黑客。PHP 代码可能调用编译库中/usr/bin convert
的转换函数(例如来自 ImageMagick)librsvg
。
重新编译 ImageMagick:
./configure --without-rsvg
make clean
make
make install
答案3
也许您以该用户的身份每 30 分钟左右在 cron 中运行某些程序?