MySql安全加固:可信IP地址訪問控制 & 設置密碼復雜度
- 1.1 可信IP地址訪問控制
- 1.2 設置密碼復雜度
💖The Begin💖點點關注,收藏不迷路💖 |
1.1 可信IP地址訪問控制
當您在創建用戶時使用’%'作為主機部分,這意味著該用戶可以從任何主機連接到數據庫,這會增加數據庫面臨的潛在安全風險。
通過設置特定的IP地址范圍,可以限制只有來自受信任的IP地址的用戶能夠連接到數據庫,從而減少未經授權訪問的可能性。
檢查點:
1、使用如下命令查看是否設置可信ip地址
select Host ,`User` from mysql.user where Host not in ('localhost','localhost.localdomain','127.0.0.1') and authentication_string !='';
判定依據: 可信訪問地址不為空則合規,否則不合規。
加固參考步驟:
1、執行命令,修改MySQL中用戶(user)的主機(host):
== 注意:執行操作后,你只能通過可信IP訪問
==
UPDATE mysql.user SET Host = '新的主機' WHERE User = '需要修改的用戶' and host='%';;## 刷新權限
FLUSH PRIVILEGES;
如果是所有數據庫,則<數據庫名稱>為*,如果是所有表名,則<表名>為*.
例子,將上面查到的用戶設置可通過可信ip地址訪問:
+------+-----------+
| Host | User |
+------+-----------+
| % | mysqlroot |
| % | mfs |
+------+-----------+
如:
我們的應用程序(部署服務器IP:192.168.234.20)要通過mfs用戶連接訪問數據庫,那就修改mfs用戶的host為192.168.234.20;
我們要通過10.10.112.10這個客戶端可視化工具通過mysqlroot用戶連接數據庫,,那就修改mysqlroot用戶的host為10.10.112.10。
UPDATE mysql.user SET Host = '192.168.234.20' WHERE User = 'mfs' and host='%';;UPDATE mysql.user SET Host = '10.10.112.10' WHERE User = 'mysqlroot' and host='%';;## 刷新權限
FLUSH PRIVILEGES;
2、 補充說明
建議在操作系統或防火墻配置訪問控制策略。
1.2 設置密碼復雜度
檢查點:
1、執行以下命令查看密碼策略
show variables like 'validate%';
判定依據:
(1) validate_password_length 密碼長度大于等于8
(2) validate_password_mixed_case_count 密碼包含大小寫個數大于等于1
(3) validate_password_number_count 密碼包含數字個數大于等于1
(4) validate_password_special_char_count 密碼包含的特殊字符大于等于1
(5) validate_password_policy 密碼策略等級為MEDIUM或STRONG
以上條件滿足條件1,條件2,3,4其中兩種,條件5則合規,否則不合規。
加固參考步驟:
1、安裝密碼插件
方法1 、通過配置文件/etc/my.cnf (windows環境下為my.ini)安裝
[mysqld]plugin-load=validate_password.so
validate_password_policy=1
validate-password=FORCE_PLUS_PERMANENT
方法2、登錄數據中執行SQL語句安裝
mysql>INSTALL PLUGIN validate_password SONAME 'validate_password.so';
說明:安裝此插件要求mysql 版本為5.6.6 以上版本
2、重啟數據庫
systemctl stop mysqld
systemctl start mysqld
systemctl restart mysqld
💖The End💖點點關注,收藏不迷路💖 |