Apache模式安裝時可能遇到的攻擊及解決辦法

伊谢尔伦
發布: 2016-11-22 10:50:05
原創
982 人瀏覽過

當 PHP 以 Apache 模組方式安裝時,它將繼承 Apache 使用者(通常為「nobody」)的權限。這對安全性和認證有一些影響。例如,如果用 PHP 來存取資料庫,除非資料庫有自己的存取控制,否則就要讓「nobody」使用者可以存取資料庫。這意味著惡意的腳本在不用提供使用者名稱和密碼時就可能存取和修改資料庫。一個 web Spider 也完全有可能偶然發現資料庫的管理頁面,並且刪除所有的資料庫。可以透過 Apache 認證來避免此問題,或使用 LDAP、.htaccess 等技術來設計自己的存取模型,並將這些程式碼作為 PHP 腳本的一部分。

通常,一但安全性達到可以使PHP 用戶(這裡也就是Apache 用戶)承擔的風險極小的程度時候,可能PHP 已經到了阻止向用戶目錄寫入任何文件或禁止訪問和修改數據庫的地步了。這就是說,無論是正常的文件還是非正常的文件,無論是正常的資料庫事務來是惡意的請求,都會被拒之門外。

一個常犯的對安全性不利的錯誤就是讓 Apache 擁有 root 權限,或者透過其它途徑斌予 Apache 更強大的功能。

把 Apache 使用者的權限提升為 root 是極度危險的做法,而且可能會危及到整個系統的安全。所以除非是安全專家,否則絕對不要考慮使用 su,chroot 或以 root 權限運行。

除此之外還有一些比較簡單的解決方案。例如可以使用 open_basedir 來限制哪些目錄可以被 PHP 使用。也可以設定 Apache 的專屬區域,從而把所有的 web 活動都限製到非使用者和非系統檔案之中。


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!