企業核心資產多集中於資料庫(客戶資料、交易紀錄、知識產權)。硬體故障可靠備份機制解決,但外部入侵、內部洩露、權限濫用需管理員主動建立多層防禦。MySQL 內建多項安全功能,善用可大幅降低風險。
mysql.user、db、tables_priv 等授權表允許 %、_ 萬用字元,若疏於管控,駭客可透過低權限帳號橫向移動。
行動: 定期執行 SHOW GRANTS FOR 'user'@'host'; 審查每個帳號,移除不必要的萬用字元授權,嚴格限制 SUPER、FILE、SHUTDOWN 等高危權限。
validate_password 外掛,強制長度、大小寫、數字、特殊字元--secure-auth 禁止舊式雜湊格式客戶端 .my.cnf、.mylogin.cnf 以明文儲存密碼。
規範: 僅擁有者可讀(chmod 600),置於非公開目錄(~/),嚴禁提交版控。
ssl-ca、ssl-cert、ssl-key 於 [mysqld] 與 [client]ssh -L 3307:localhost:3306 user@db-hostSHOW SESSION STATUS LIKE 'Ssl_cipher'; 非空即加密生效若應用與資料庫同機或經 Unix Socket 通訊:
[mysqld]
skip-networking
bind-address=127.0.0.1
徹底切斷網路攻擊面;若需遠程管理,改用 VPN/堡壘機/SSH 隧道。
general_log=ON 記錄所有連線與查詢(高負載慎用)MariaDB Audit Plugin 或 MySQL Enterprise Audit,記錄 DDL/DML、失敗登入、權限變更SELECT/INSERT/UPDATE/DELETEroot 禁止應用直連,僅供 DBA 緊急維護SELECT User, Host, authentication_string FROM mysql.user; 檢查空密碼/匿名帳號GRANT 清單,收回過度授權