Apache-2.2

Apache error_log 顯示哪個命令輸出

  • March 20, 2012

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 -> 負載均衡器 -> Varnish -> Apache

負載均衡器後面有幾個 Web 伺服器,我已經用 rkhunter ( link )檢查了其中至少一個,沒有發現任何可疑之處。

版本:

  • CentOS 5.7
  • 清漆 2.1.5
  • 阿帕奇 2.2.3
  • PHP 5.2.17

這是否意味著有人通過 Apache 執行了命令?怎麼會這樣?

非常感謝。

很明顯,您已被黑客入侵。提到的命令會引起黑客的興趣,他們發現了一個漏洞,可以讓他們以 apache 使用者的身份執行命令(可能是通過 Web 應用程序漏洞)。例如,links 和 lynx 會讓攻擊者下載額外的程序,lwp-* 也是如此。這些命令永遠不會被合法的網路應用程序執行,所以它一定是攻擊者。

請參閱此執行緒以了解具有類似簽名的攻擊 - 這實際上是權限提升。

第一件事是使系統離線——這是一個權衡決定,但由於您不知道系統的所有權有多完整,所以這樣做是安全的。

您應該嘗試找出您何時被黑客入侵 - 例如將 4 週前的備份恢復到單獨的系統上,並與昨晚完成的備份進行比較。這應該是一個整機備份,因為攻擊者可能已經進入了 root。

一旦你知道你什麼時候被黑了,你就可以從攻擊前的備份中恢復(但仍然保持系統離線,這樣它就不能再次被利用)。漏洞仍然存在,所以如果系統線上,攻擊者可以再次進入 - 所以你還需要快速找到並關閉漏洞 - 昨晚的完整機器備份很重要,這樣你就可以找到他們是如何進入的。

請參閱如何處理受損的伺服器?有關如何從黑客攻擊中恢復的更完整建議。

祝你好運。

引用自:https://serverfault.com/questions/371397