相关推荐recommended
MySql安全加固:可信IP地址访问控制 & 设置密码复杂度
作者:mmseoamin日期:2024-04-01

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  !='';
      

      MySql安全加固:可信IP地址访问控制 & 设置密码复杂度,在这里插入图片描述,第1张

      判定依据: 可信访问地址不为空则合规,否则不合规。

      加固参考步骤:

      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; 
      

      MySql安全加固:可信IP地址访问控制 & 设置密码复杂度,在这里插入图片描述,第2张

      MySql安全加固:可信IP地址访问控制 & 设置密码复杂度,在这里插入图片描述,第3张

      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则合规,否则不合规。

      MySql安全加固:可信IP地址访问控制 & 设置密码复杂度,在这里插入图片描述,第4张

      加固参考步骤:

      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
      

      MySql安全加固:可信IP地址访问控制 & 设置密码复杂度,在这里插入图片描述,第5张

      💖The End💖点点关注,收藏不迷路💖