当前位置: 首页 > news >正文

MySql安全加固:可信IP地址访问控制 设置密码复杂度

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

相关文章:

  • 蓝桥杯 信号覆盖
  • 安装 git 与查看 version
  • LeetCode #104 二叉树的最大深度
  • 5G网络频谱划分与应用
  • C# 找出两个Rectangle或是矩形的相互重合与非重合部分?
  • 【C语言】常见的动态内存管理错误
  • AI Agent
  • 【Web】get请求和post请求的区别
  • fork创建子进程及僵尸进程的产生及规避
  • 百度交出2023年业绩答卷:全力提速AI布局,注入业绩增长新动能
  • React withRouter的使用及源码实现
  • AVL 树
  • Rocketmq java hello world 入门案例
  • LaMa Image Inpainting 图像修复 Onnx Demo
  • 贪心算法(算法竞赛、蓝桥杯)--修理牛棚
  • 《Java编程思想》读书笔记-对象导论
  • download使用浅析
  • Java编程基础24——递归练习
  • js正则,这点儿就够用了
  • mac修复ab及siege安装
  • opencv python Meanshift 和 Camshift
  • Python连接Oracle
  • SpringBoot 实战 (三) | 配置文件详解
  • Spring框架之我见(三)——IOC、AOP
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端知识点整理(待续)
  • 如何利用MongoDB打造TOP榜小程序
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • gunicorn工作原理
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​Python 3 新特性:类型注解
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # 安徽锐锋科技IDMS系统简介
  • #HarmonyOS:基础语法
  • #if 1...#endif
  • #前后端分离# 头条发布系统
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2)MFC+openGL单文档框架glFrame
  • (3)STL算法之搜索
  • (6)添加vue-cookie
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)fock函数详解
  • (转)Linux下编译安装log4cxx
  • ***监测系统的构建(chkrootkit )
  • ./configure,make,make install的作用
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .Net MVC + EF搭建学生管理系统
  • .Net 应用中使用dot trace进行性能诊断
  • .NET下ASPX编程的几个小问题
  • .NET中的十进制浮点类型,徐汇区网站设计