首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 資料庫安全強化指南:六大實務防護措施讓風險遠離核心資料

     編輯:MySQL 綜合教學

前言

資料庫是企業核心資產。備份機制可應對軟硬體故障,但阻擋外部入侵需管理員手動建立防線。MySQL 提供多項便利功能顯著降低風險。

六大防護措施

1. 移除授權表中的萬用字元

  • 避免 GRANT ... ON *.* TO 'user'@'%' 等過度授權。
  • 最小權限原則:僅授予必要資料庫、資料表、欄位權限。
  • 嚴控超級權限(SUPER、GRANT、FILE 等),防止一般帳號修改伺服器配置或存取全庫。
  • 稽核指令:SHOW GRANTS FOR 'user'@'host'; 檢查每個帳號實際權限。

2. 強制使用強密碼

  • 安裝後首要任務:設定 root 密碼(預設為空)。
  • 拒絕生日、帳號名、字典單字等弱密碼。
  • 啟用 --secure-auth 選項,禁用舊版不安全密碼雜湊格式。

3. 檢查設定檔權限

  • 客戶端 .my.cnf 以明文儲存密碼,權限必須設為 0600,僅擁有者可讀寫。
  • 放置於非公開目錄(如使用者家目錄),避免被其他系統使用者讀取。

4. 加密客戶端與伺服器通訊

  • 預設密碼加密傳送,但 SQL 指令與資料為明文,易遭竊聽。
  • 啟用 MySQL 內建 SSL,或使用 SSH 通道轉發(Port Forwarding)建立加密管道。
  • 最佳架構:Web 伺服器與資料庫同機,透過 Unix Socket 通訊,關閉 TCP/IP 埠。

5. 禁止不必要的遠端存取

  • 啟動參數 --skip-networking 關閉 TCP/IP 監聽,僅允許本機 Socket 連線。
  • 或在 my.cnf 設定 bind-address=127.0.0.1 綁定本地回環介面。
  • 大幅減少網路攻擊面。

6. 主動監控存取日誌

  • 一般查詢日誌:記錄每次連線/斷線時間戳與完整 SQL,發現異常行為(如非預期 DROP TABLE、大量失敗登入)的首要線索。
  • 定期審閱錯誤日誌、慢查詢日誌、二進位日誌。
  • 安全防護是持續過程,需持續更新最佳實務、修補漏洞。

來源

本文整理自愛上簡單部落格:原文連結

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