Apache-2.2

多使用者 PHP 虛擬主機環境和安全性

  • December 15, 2010

我想設置一個多使用者 PHP 虛擬主機環境。

然而,這是我最大的擔憂。使用者可以使用 PHP 文件系統函式訪問其他使用者目錄,從而讀取源文件並獲得對數據庫密碼和其他類型敏感數據的即時訪問。

為了解決這個問題,我一直在尋找很多資源。然而,他們似乎沒有一個讓我滿意。

有什麼方法可以在 Apache 定義的每個 VirtualHosts 的 setuid 環境中執行 PHP?是否有人已經通過此設置可以指導我執行此操作所需的步驟?大型託管公司是如何做到的?

謝謝,科林

Setuid 環境確實工作得很好。如果您使用的是 CPanel,您可以通過 easyapache 輕鬆進行設置。如果不是,則必須手動設置。suPHP 是一個很好的開始。

至於為什麼要打擾,這是關於分層安全性。有幾個 PHP 漏洞可以讓您規避 open_basedir 限制。如果這是你唯一的保護,那麼有人可能會繞過它。如果您使用 open_basedir 和 suPHP(具有正確的權限),您將保護您的客戶端免受 open_basedir 中的攻擊。

suPHP 還使查找濫用源變得更加容易。僅使用 open_basedir,您無法分辨哪個程序由哪個使用者擁有。如果某個使用者要上傳一個開始消耗所有 CPU 的腳本,則需要認真探勘才能確定是哪一個。使用 suPHP,您需要做的就是使用“top”來查看濫用使用者和腳本的完整路徑。

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