Apache-2.2
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 -> 負載均衡器 -> 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。
一旦你知道你什麼時候被黑了,你就可以從攻擊前的備份中恢復(但仍然保持系統離線,這樣它就不能再次被利用)。漏洞仍然存在,所以如果系統線上,攻擊者可以再次進入 - 所以你還需要快速找到並關閉漏洞 - 昨晚的完整機器備份很重要,這樣你就可以找到他們是如何進入的。
請參閱如何處理受損的伺服器?有關如何從黑客攻擊中恢復的更完整建議。
祝你好運。