Linux
Linux Web 伺服器權限 - 最佳實踐
在具有一個網站的私有伺服器上,/var/www 中的文件/目錄是否有任何理由不能歸 www-data 組所有?
我的理解是,只有當您在同一個盒子上執行多個網站時,才會出現具有寫入訪問權限的 www-data 的安全風險。
適用最小特權原則。只給使用者他們需要的權利,僅此而已。
在這種情況下,如果 apache 只提供頁面,則不授予使用者帳戶編輯權限。可能的風險包括:更改文件內容或上傳新文件;將可執行程式碼添加到文件等。這些風險存在,無論它是否是單個站點的倍數。如果應用程序需要編輯特定文件,請限制對該文件的權限更改。
我為我的 WordPress 網站編寫了一個簡單的腳本。此腳本僅授予 Apache 對其需要寫入的內容的寫入權限。webroot 下的所有其他內容都是只讀的。我認為這是朝著更安全的網站邁出的良好一步,應該加以實踐。
#!/bin/bash PATH=/bin:/usr/bin WEBROOT="/var/www/www.example.com" UPLOADS="${WEBROOT}/wp-content/uploads" chown -R nobody:nogroup ${WEBROOT} find ${WEBROOT} -type d -exec chmod 0555 {} \; find ${WEBROOT} -type f -exec chmod 0444 {} \; chown nobody:www-data ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz chmod 0464 ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz chown -R nobody:www-data ${UPLOADS} find ${UPLOADS} -type d -exec chmod 2575 {} \; find ${UPLOADS} -type f -exec chmod 0464 {} \;