MySQL 安全加固必須從系統內部與外部網絡雙向著手。
| MySQL 版本 | 資料目錄權限 | 風險等級 |
|---|---|---|
| 3.21.x | 775 | 極高:所有本地用戶可讀 |
| 3.22.x | 770 | 高:同組用戶可讀寫 |
| 3.23+ | 700 | 低:僅啟動用戶可存取 |
# 資料目錄擁有者
chown -R mysql:mysql /usr/local/mysql/var
# 目錄 700,檔案 660
chmod 700 /usr/local/mysql/var
find /usr/local/mysql/var -type f -exec chmod 660 {} \;
ls -l /usr/local/mysql/var
# 輸出應顯示 drwx------ mysql mysql 以及 -rw------- mysql mysql
mysql 系統用戶啟動服務--user=root 參數(極不推薦)風險:root 啟動將導致 LOAD DATA INFILE、SELECT ... INTO OUTFILE 擁有 root 寫入權限,可讀取/寫入系統任意檔案。
bind-address = 127.0.0.1(僅本機存取)mysql.user 表,清理無用/過期帳號