本文說明如何在 Windows (NTFS) 環境下,透過建立專用低權限服務帳號、精細設定目錄 ACL、修改 my.ini,將 MySQL 服務攻擊面降至最低。操作前請確認完全理解 NTFS 權限變更後果。
mysqlusr| 目錄 | 用途 | mysqlusr 權限 |
|---|---|---|
| D:\hosting\system\mysql | 程式執行檔 | 讀取、執行、列出資料夾、讀取 |
| D:\hosting\system\mysql\tmpdir | 暫存目錄 | 修改、讀取、執行、列出資料夾、寫入 |
| D:\hosting\MySQLDB | 資料庫檔案 | 修改、讀取、執行、列出資料夾、寫入 |
mysqlusr 及密碼sc config mysql obj= ".\mysqlusr" password= "xxx"my.ini 暫存目錄設定[mysqld]
tmpdir=D:/hosting/system/MySQL/tmpdir
路徑使用正斜線或雙反斜線均可。
mysqld 以 mysqlusr 身分運行(任務管理員查看)。mysqlusr 登入系統,驗證無法存取非授權目錄。遵循「最小權限原則」,即使 MySQL 進程被攻破,攻擊者也僅能存取 tmpdir 與資料目錄,無法橫向移動至系統核心區域。