我不确定这是否与 PHP 代码/Joomla 插件/组件或服务器问题有关,因此请在 serverfault 上发布我的问题。
我有一个运行 CentOS 版本 6.4 (Final) 和 CPanel 11.38.1 (build 15) 和 [Apache/2.2.24 (Unix) PHP/5.2.17] 的专用服务器,最近我们遇到了暴力攻击,导致系统挂起诸如“挂起:服务器上的 chkservd”之类的消息。在设置 DenyHosts 并更改 ssh 默认端口后,服务器稳定了几天,直到它开始突然挂起,日志中没有特定错误,也没有任何电子邮件通知。
该服务器只运行一个网站,但有一些流量(每天大约 2000 名访问者)和一个大型 Joomla 数据库。该网站自 2013 年 3 月以来一直完美运行,直到两周前。
经过调查,我注意到 public_html(默认 Joomla 站点目录)下的 error_log 大小超过 200MB,但没有具体的错误消息,只有日期/时间和零“0”的行!
[24-Jul-2013 12:09:18] 0
[24-Jul-2013 12:09:18] 0
[24-Jul-2013 12:09:18] 0
[24-Jul-2013 12:09:19] 0
[24-Jul-2013 12:09:19] 0
[24-Jul-2013 12:09:19] 0
[24-Jul-2013 12:09:19] 0
[24-Jul-2013 12:09:20] 0
[24-Jul-2013 12:09:26] 0
[24-Jul-2013 12:09:26] 0
[24-Jul-2013 12:09:30] 0
几乎每一秒,上千行如上!有时网站会因“jos-Error:应用程序实例化错误”而崩溃,有时会因错误而崩溃:
PHP 致命错误:在...中的非对象上调用成员函数 get()
这是由于当 Joomla 尝试从数据库加载参数并且失败时数据库问题。
我已经在安装了 apache 和 php 的本地 Windows 服务器机器上设置了站点备份 [Apache/2.2.19 (Win32) PHP/5.3.6] 并且这些零“0”错误也会在每个站点调用中产生更多\Apache2\logs\error.log 中的详细信息,例如:
[Wed Jul 24 14:42:32 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/
[Wed Jul 24 14:42:32 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/
[Wed Jul 24 14:42:32 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/
[Wed Jul 24 14:42:33 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/
[Wed Jul 24 14:42:33 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/
[Wed Jul 24 14:42:33 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/
[Wed Jul 24 14:42:56 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/mousiki
[Wed Jul 24 14:42:56 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/mousiki
[Wed Jul 24 14:42:56 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/mousiki
[Wed Jul 24 14:42:57 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/mousiki
[Wed Jul 24 14:42:57 2013] [error] [client 192.168.1.66] 0, referer: http://virtdev.ose.domain.com/mousiki
因此我认为它与服务器无关,而是与插件/组件相关的 Joomla 站点。
此外,我们使用在线站点扫描仪扫描了该站点,并使用防病毒工具进行了普通文件搜索以进行机器人注入,但没有得到肯定的结果。
我们如何找到导致这些零错误的原因?