Permissions
如何阻止 Apache 以 root 身份執行?
新來的工作,小地方,安全的東西剛剛落在我的桌子上。我被聘為前端開發人員。樂於學習新事物,但以前從未做過系統管理員的工作。
我開始探勘,似乎 apache、站點和一切都在 root 上執行。沒有其他組或使用者。確認!
我應該採取哪些步驟來改變這種情況?我知道這是一個很大的禁忌…
如果有人可以加分,請指出一個關於 apache/php 安全性的良好基本 101 教程。
root
發現 Apache在任何庫存配置中執行是不尋常的。您如何確定 Apache 以 root 身份執行?請注意,Apache 必須以 root 身份啟動才能綁定到特權埠,但通常稍後會放棄其特權。您可以在您的 Apache 配置(通常在
/etc/httpd
或中/etc/apache2
,取決於您的發行版)中查找User
andGroup
指令(在此處記錄)。這兩個指令控制 Apache 在什麼使用者 ID 下執行。找到一個“沒有其他組或使用者”的系統也是不尋常的。做什麼
getent passwd
和getent group
顯示?除了之外真的沒有其他使用者或組root
嗎?大多數發行版都附帶一個apache
或www-data
使用者或一些這樣的使用者以及一個匹配的配置,它將以該使用者身份執行 Apache。有各種關於 Apache 配置和安全性的介紹性指南。一個簡單的Google搜尋會產生許多看起來很可能的結果。RedHat/CentOS部署指南是一個很好的起點(如果您使用的是 RedHat/CentOS 系統)。