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💖点点关注,收藏不迷路💖 |