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

MySQL 安裝安全性與完整性維護:內部外部防護全指南

     編輯:MySQL 資料庫相關知識

管理員核心職責

保護資料庫內容安全,確保僅經嚴格認證的用戶存取記錄。包含:

  • 內部安全性:檔案系統層面,防本地用戶攻擊資料目錄
  • 外部安全性:網路層面,防未授權網路連線存取

一、內部安全性:資料目錄防護

核心風險

  1. 資料庫檔案:機密性與專有性洩露
  2. 日誌檔案:含查詢文本,GRANT/SET PASSWORD 以明文記錄密碼
  3. 狀態檔案:被竄改導致服務異常

實測:本地用戶竊取表資料

  1. 同主機啟動第二 MySQL 實例(不同端口/資料目錄)
  2. mysql_install_db 初始化,獲取 root 權限
  3. 複製目標表檔至新實例 test 庫目錄
  4. 直接查詢竊取資料

防護措施

  • 資料目錄擁有者 mysql:mysql,權限 700
  • 日誌目錄同樣 700,定期輪轉
  • 關閉不必要本地帳號,最小權限原則
  • 啟用 SELinux/AppArmor 強制存取控制

二、外部安全性:網路存取控制

授權表機制

MySQL 透過 mysql 資料庫授權表實現權限控制,設定拒絕無效帳號/密碼連線。

關鍵配置

  • 僅允許必要主機/IP(避免 %)
  • 強制強密碼策略
  • 生產環境強制 SSL 加密傳輸

三、安全檢查清單

  • ✅ datadir 擁有者 mysql:mysql,權限 700
  • ✅ 日誌目錄權限 700
  • ✅ 無匿名用戶:DELETE FROM mysql.user WHERE User='';
  • ✅ Root 僅 localhost:UPDATE mysql.user SET Host='localhost' WHERE User='root';
  • ✅ 移除 test 庫
  • ✅ 啟用 SSL
  • ✅ 定期審核 SHOW GRANTS
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved