權限最小化是 Web 安全基石。本文提供目錄權限矩陣、資料庫帳號分級、危險檔案清理三大實戰清單。
| 目錄類型 | 讀取 | 寫入 | 執行/腳本 | 備註 |
|---|---|---|---|---|
| 程式碼/框架核心 | ✓ | ✗ | ✓ | 防範 WebShell 寫入、篡改邏輯 |
| 靜態資源(圖片/CSS/JS) | ✓ | ✓ | ✗ | 上傳目錄必須禁用腳本執行 |
| 模板/快取/編譯目錄 | ✓ | ✓ | ✗ | 僅應用程式寫入 |
| 日誌/備份/匯出 | ✓ | ✓ | ✗ | 防止日誌注入執行 |
| 上傳/用戶內容 | ✓ | ✓ | ✗ | 關鍵:Nginx/Apache 配置 location ~ \.php$ { deny all; } |
SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEXSELECTFILE(讀寫檔案)、EXECUTE(存儲過程)、PROCESS(查看進程)、SUPER、SHUTDOWN'app_user'@'10.0.0.%' 而非 %install.php, install.asp, setup.php → 安裝後立即刪除test.php, bak/, old/, .git/, .svn/.mdb 改名 .asa、移至非 Web 目錄# 掃描可寫且可執行目錄
find /var/www -type d -perm -002 -a -perm -001 -ls
# 掃描 Web 目錄下的腳本檔
find /var/www -type f \( -name "*.php" -o -name "*.asp" -o -name "*.jsp" \) -perm -002 -ls
權限配置不是一次性動作,需納入變更管理流程:每次部署、上線、擴容必須複核權限矩陣。