Apache error_log显示哪个命令输出

Apache的error_log显示如下所示的行:

--- snip --- which: no ruby in (/sbin:/usr/sbin:/bin:/usr/bin) which: no locate in (/sbin:/usr/sbin:/bin:/usr/bin) which: no suidperl in (/sbin:/usr/sbin:/bin:/usr/bin) which: no get in (/sbin:/usr/sbin:/bin:/usr/bin) which: no fetch in (/sbin:/usr/sbin:/bin:/usr/bin) which: no links in (/sbin:/usr/sbin:/bin:/usr/bin) which: no lynx in (/sbin:/usr/sbin:/bin:/usr/bin) which: no lwp-mirror in (/sbin:/usr/sbin:/bin:/usr/bin) which: no lwp-download in (/sbin:/usr/sbin:/bin:/usr/bin) which: no kav in (/sbin:/usr/sbin:/bin:/usr/bin) --- end --- 

架构是:

Internet – > Load Balancer – > Varnish – > Apache

有负载平衡器后面有几个networking服务器,我至less检查了其中一个rkhunter( 链接 ),找不到任何可疑的东西。

版本:

  • CentOS 5.7
  • 清漆2.1.5
  • Apache 2.2.3
  • PHP 5.2.17

这是否意味着有人执行了通过Apache的命令? 这怎么可能发生?

非常感谢。

这是相当清楚你被黑客入侵。 所提到的这些命令对于一个黑客来说是非常有趣的,他们发现了一个漏洞,让他们以apache用户的身份执行命令(可能是通过Web应用程序漏洞)。 例如,链接和lynx会让攻击者下载额外的程序,就像lwp- *一样。 这些命令永远不会被合法的Web应用程序执行,所以它必须是攻击者。

看到这个线程有一个类似的签名攻击 – 这实际上是一个特权升级。

首先是让系统脱机 – 一个权衡决定,但是由于你不知道系统拥有多么完整,所以这是一件安全的事情。

您应该尝试查明您何时被黑客入侵 – 例如,将备份从4周前恢复到单独的系统,并与昨晚进行的备份进行比较。 这应该是整个机器的备份,因为攻击者可能已经进入了root。

一旦知道了被黑客入侵的时间,就可以从攻击之前的备份中恢复(但仍然保持系统不在线,以免再次被利用)。 这个漏洞依然存在,所以如果系统在线的话,攻击者可以再次入侵 – 所以你也需要快速find并closures漏洞 – 昨晚的整个机器备份很重要,所以你可以find他们是如何进入的。

请参阅如何处理受感染的服务器? 有关如何从黑客中恢复的更完整的build议。

祝你好运。