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

MySQL 資料庫安全防護指南:從連線加密到權限最小化

     編輯:MySQL 資料庫相關知識

打造安全的 MySQL 環境:六大防護面向

1. 連線傳輸加密

  • 密碼不以明文傳輸,但其他資訊為明文
  • 啟用壓縮協議(MySQL 3.22+)增加攔截難度
  • **最佳方案:使用 SSH 建立加密 TCP/IP 通道**

2. 帳號與密碼管理

  • **所有帳號必須設定密碼**,預設 root 空密碼極度危險
  • 安裝後立即修改 root 密碼:
    UPDATE user SET Password=PASSWORD('new_pwd') WHERE User='root'; FLUSH PRIVILEGES;
  • 避免使用通配符主機名(%),限制登入來源 IP

3. 作業系統層面防護

  • **勿以 root 身分執行 mysqld**,建立專用 mysql 系統帳號
  • mysql.server 腳本若含 root 密碼,權限設為 600 僅 root 可讀
  • 資料目錄(/var/lib/mysql)僅 mysql 用戶可讀寫(chown -R mysql:mysql、chmod 700)

4. 權限最小化原則

5. DNS 與主機名安全

  • 不信任 DNS 時,授權表使用 IP 而非主機名
  • 啟動參數 --secure 強化主機名驗證
  • 極度謹慎使用通配符主機名(%、%.domain.com)

6. 日誌稽核

  • 啟用一般查詢日誌,記錄所有連線、查詢、斷線
  • 定期審查異常存取模式(非預期時間、來源、高頻失敗)

結語: 資料庫安全是持續性工作,需定期檢視權限、更新補丁、監控日誌、最小化暴露面。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
危險權限風險建議
PROCESS可見所有查詢內容(含修改密碼 SQL)僅授予 DBA,mysqlld 保留額外連線供 root 緊急登入
FILE可讀寫伺服器檔案系統(如 /etc/passwd)嚴格限制,SELECT ... INTO OUTFILE 產生的檔案全域可讀且不可覆蓋
SHUTDOWN可關閉資料庫服務僅授予 DBA
GRANT可將自己權限轉授他人謹慎授予