2013-10-28 91 views
3

好吧,所以我的服務器上週被黑了。黑客襲擊了過時的第三方編輯器(在php中),並在PHP中植入了後門腳本,並對我的網站造成了嚴重損害。我花了整整一個週末來清理後門腳本和他留在服務器上的任何惡意代碼。爲了避免再次被黑客入侵,我對服務器做了以下操作:我的服務器現在安全嗎?

  1. 關閉PHP中的file_upload。由於被黑客通過PHP上傳後門,我禁用了php.ini中的函數。所以現在我只能通過ftp上傳。

  2. 在php中禁用create_function。我的軟件都沒有使用這個功能。黑客使用此函數的方式與eval()以字符串執行命令相同。

  3. 在php.ini中禁用popen,exec,system,passthru,proc_open,shell_exec,show_source,phpinfo。這些函數主要用於後門腳本來修改我的文件和目錄。

  4. 安裝suhosin。查找在eval()中調用的合法函數,將它們放入suhosin.executor.eval.whitelist。黑客將惡意代碼放入我的程序中,並用base64_encode將其隱藏,然後在eval()中執行它們。所以我只允許在eval()中調用一些合法的函數。

  5. 打開suhosin.executor.disable_emodifier。黑客在我的程序中放置了另一個被查閱的代碼,並使用preg_replace()e修飾符來執行他在瀏覽器上的任何php命令。所以他可以通過他的瀏覽器上傳或修改服務器上的任何文件。 (因爲我關掉了file_upload,所以他不能再上傳了,但他仍然可以按照他的意願修改和刪除文件)。

通過禁用create_function符,preg_replace()e修飾符和限制的eval(),甚至還留有未清潔我的服務器上的惡意代碼,黑客不能做任何事情。這些是PHP中最危險的3個函數。

  1. 直接從瀏覽器中執行到每一個文件夾,但根目錄和禁止PHP添加的.htaccess:

訂單拒絕,允許 所有

我把另一個拒絕*腓後,因爲我發現,被命名爲missing.php.DISABLED後門文件,如果我不把PHP在此之後仍然可以被執行*

  1. 將根目錄(唯一允許執行.php的地方)設置爲只讀。將該文件夾中的所有文件設置爲只讀。所以黑客無法將任何新的後門腳本上傳到php可執行的唯一目錄。他也不能修改該目錄中的文件。

  2. 對於WordPress的登錄,我加

訂單拒絕,允許 拒絕所有

允許xxx.xxx.xxx。xxx

到根目錄中的.htaccess,其中xxx.xxx.xxx.xxx是我的ip。

  1. 將所有.htaccess設置爲只讀。

嗯,這是我能做的,以加強我的服務器的安全。我錯過了什麼嗎?

謝謝您的建議。

+0

那麼你是在保護你自己嗎? – zerkms

+0

沒人知道你有什麼其他可利用的漏洞。大部分問題出現在您編寫的代碼中,而不一定是服務器配置。 – deceze

+0

關於_「從現在開始,我將始終讓我的第三方代碼保持最新狀態」部分在哪裏?這仍然不是一個保證,但如果有任何教訓需要學習,就是這樣。 – Halcyon

回答

4

除非您將計算機從已知乾淨的安裝介質重新映像,否則您無法知道沒有徘徊的rootkit。

+0

感謝您的建議。有什麼方法或軟件可以找到纏身的rootkit嗎?我怎樣才能防止這些rootkit被執行?我很欣賞你的建議。 – user2926814

+0

不是你應該依賴的。 rootkit的全部意義在於逃避這種檢測,所以你立即進入了軍備競賽。 – regularfry