Linux
在 Ubuntu 上強化 PHP 部署
我被要求在我管理的目前僅執行 Python 應用程序的 Web 伺服器上創建一個 PHP 環境。這些應用程序的作者不一定有程式背景,所以我想限制他們可能做錯的事情。
我正在使用 Ubuntu 9.04,並且知道我應該
register_globals
禁用,但我還能/應該限制什麼?
由於您不能真正信任您的應用程序開發人員編寫安全程式碼,因此您必須限制非安全 php 程式碼可能提供的攻擊向量。使用使用者輸入而不進行適當的清理作為 SQL 或作為 open() 的參數是出錯的典型例子。
我的簡要清單:
- 將 php 環境放在 chroot 監獄中,以限制主機的風險。
- 確保 php 應用程序不訪問以其他方式使用的相同數據庫。
- 速率限制(和監控)外發郵件。如果有一種方法可以發送包含使用者指定內容和地址的電子郵件,那麼一些垃圾郵件發送者遲早會找到並利用它。
我敢肯定還有很多其他的事情我要麼不知道,要麼我不記得了。
還有很多你作為管理員無法準備的東西。例如,很難控制跨站點腳本風險並確保應用程序內部的機制不會鼓勵任何惡意案例,例如將應用程序用作諸如 rootkit 之類的壞東西的投遞箱。