首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 內部安全防禦:資料目錄存取控制與檔案權限最佳實踐

     編輯:MySQL 資料庫相關知識

MySQL 管理員的安全職責

維護資料庫內容安全,確保記錄僅供經嚴格認證用戶存取,包含內部安全(檔案系統層面)與外部安全(網路連線層面)。

內部安全:檔案系統層面的風險與對策

授權表雖提供靈活權限控制,但若本地用戶擁有資料目錄讀權限,攻擊者只需打包複製資料庫目錄至本機即可竊取資料。若授權表對應檔案被替換,網路層面的存取控制形同虛設。

必須保護的核心資產

  • 資料庫檔案: 維護機密性與專有性
  • 日誌檔案: 通用/更新日誌含查詢文本,GRANT、SET PASSWORD 等敏感操作以明文記錄,攻擊者可 grep 獲取密碼
  • 狀態檔與表檔: 防止惡意修改或竊取

真實攻擊場景演示

攻擊者可在同主機安裝獨立 MySQL 實例(不同埠/Socket/資料目錄),初始化後以 root 身份啟動,將目標表檔案複製至其 test 資料庫目錄,啟動偽裝服務即可透過 SELECT * 讀取所有內容。若開放匿名帳號,資料甚至暴露於全網。

權限審計與修復實戰

執行 ls -l 檢查資料目錄權限,關注「組」或「其他」有讀寫權限的檔案/目錄。舊版 MySQL 建立權限較寬鬆(如 775、770),新版確保僅服務啟動用戶可讀(700)。

標準化權限配置步驟

  1. 定位資料目錄:cd DATADIR
  2. 設定所有權(需 root):chown -R mysqladmin.mysqlgrp .
  3. 移除群組/其他權限:chmod -R go-rwx .
  4. 確保後續皆以 mysqladmin 身份操作

修復後權限應僅屬服務啟動用戶,徹底阻斷本地用戶直接存取風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved