Apache-2.2

授予其他使用者對 apache 日誌的寫入權限可能會導致 root 漏洞利用 - 這是如何工作的?

  • December 20, 2011

http://httpd.apache.org/docs/2.2/logs.html

任何可以寫入 Apache 正在寫入日誌文件的目錄的人幾乎肯定可以訪問伺服器啟動的 uid,通常是 root。不要在不知道後果的情況下授予人們對儲存日誌的目錄的寫入權限;有關詳細資訊,請參閱安全提示文件

這是如何運作的?如何寫入 Apache 也在寫入的文件以授予 Apache 父程序使用者 (root) 訪問權限?

查看安全提示頁面。

http://httpd.apache.org/docs/2.2/misc/security_tips.html

如果您允許非 root 使用者修改 root 執行或寫入的任何文件,那麼您將打開您的系統以使 root 妥協。例如,有人可以替換 httpd 二進製文件,以便下次啟動它時,它會執行一些任意程式碼。如果日誌目錄是可寫的(由非 root 使用者),則有人可以將日誌文件替換為指向其他系統文件的符號連結,然後 root 可能會用任意數據覆蓋該文件。如果日誌文件本身是可寫的(由非 root 使用者),那麼有人可能會用虛假數據覆蓋日誌本身。

由於 apache 以 root 身份打開並讀取日誌文件,因此這裡存在濫用風險。不知道為什麼您希望非 root (apache) 使用者對文件具有寫訪問權限。您可以安全地授予讀取權限,但建議僅對已輪換的舊文件授予寫入權限。當您使用 logrotate 管理日誌輪換時,Apache 不會打開這些文件。

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