MySql安全加固:配置不同用戶不同賬號&禁止使用舊密碼&禁止MySql進程管理員權限
- 1.1 檢查是否配置不同用戶不同賬號
- 1.2 檢查是否禁止使用舊密碼
- 1.3 禁止MySql進程管理員權限
💖The Begin💖點點關注,收藏不迷路💖 |
1.1 檢查是否配置不同用戶不同賬號
檢查點:
使用以下命令查看名稱不為root,且名稱和密碼不為空的賬號
select user, host from mysql.user;select count(*) from mysql.user where user !='root' and user !='' and authentication_string !='';
判定依據: 存在>=2個名稱不為root,且賬號、名稱不為空的賬號則合規,否則不合規。
加固參考步驟:
1、使用以下命令創建用戶并授權
###1、創建zyl用戶
create user 'zyl'@'%' identified by 'Zyl##2024';###2、授權遠程登錄
#僅授權某一個ip訪問
grant all privileges on *.* to 'zyl'@'191.168.181.10' with grant option;### 允許所有 ip 遠程訪問(不建議設置)grant all privileges on *.* to 'zyl'@'%' with grant option;###3、刷新(刷新后才生效)
FLUSH PRIVILEGES;
1.2 檢查是否禁止使用舊密碼
secure_auth參數用于控制是否啟用安全身份驗證握手。當設置為 ON
時,MySQL會強制使用加密握手來驗證連接請求,并不允許使用舊的、不安全的身份驗證方式
。
這有助于提高數據庫的安全性,特別是在處理敏感數據或在公共網絡上運行數據庫實例時。
檢查點:
1、編輯文件/etc/my.cnf文件,在[mysqld]區域是否存在如下內容(windows下為my.ini文件):
secure_auth = ON
判定依據: /etc/my.cnf或者(my.ini)文件中存在secure_auth則合規,否則不合規。
加固參考步驟:
方法1(臨時設置,不推薦):
臨時設置的,只會在當前會話中生效,并不會永久修改 MySQL 的配置文件。當 MySQL 服務器重新啟動時,secure_auth 的值會恢復為配置文件中的默認值。
1、以管理員用戶登錄數據庫,執行如下命令:
msyql>set global secure_auth='ON';
2、重啟mysql數據庫服務.
systemctl start mysqld或者service mysql restart
方法2(推薦):
推薦在MySQL配置文件中進行相應的更改,而不是直接使用SET語句。
1、編輯文件/etc/my.cnf文件,在[mysqld]區域添加如下內容。
secure_auth = ON
2、重啟MySQL服務:在修改了MySQL配置文件后,需要重新啟動MySQL服務以使更改生效。
systemctl start mysqld或者service mysql restart
1.3 禁止MySql進程管理員權限
檢查點:
1、使用以下命令查看mysqld進程的啟動用戶
ps -ef|grep "mysqld"|grep -v "grep"|grep -v "mysqld_safe"|awk '{print $1}'或者ps -ef | grep mysqld
判定依據: mysqld進程的啟動用戶不為root則合規,否則不合規。
加固參考步驟:
1、編輯/etc/my.cnf,在[mysqld]區域添加如下語句:
[mysqld]
user=mysql
2、重啟mysql服務
systemctl start mysqld
💖The End💖點點關注,收藏不迷路💖 |