Mysql安全之基础合规

一、背景

某次某平台进行安全性符合型评估时,列出了数据库相关安全选项,本文特对此记录,以供备忘参考。

二、安全配置

2.1、数据库系统登录时的用户进行身份标识和鉴别;

1)对登录Mysql系统用户的密码复杂度是否有要求?

即需要满足密码复杂度要求,至少8位长度,大小写各1个,数字2个,特殊字符至少1个,密码有效期3个月。现场版本5.7.34;Mysql 5.6后自带validate_password.so插件(windows为validate_password.dll)

bash 复制代码
//检查是否启用命令,如果啥也没返回,就是没启用
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> SELECT * from mysql.plugin ;
mysql> show plugins;

#安装插件
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so'; #Linux
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll';  #windows

#验证
mysql> SELECT * from mysql.plugin ;

#创建一个名为password_policy的新表,用于存储密码策略的相关信息
CREATE TABLE password_policy (
  id INT PRIMARY KEY AUTO_INCREMENT,
  uppercase_required BOOLEAN NOT NULL,
  lowercase_required BOOLEAN NOT NULL,
  number_required BOOLEAN NOT NULL,
  special_character_required BOOLEAN NOT NULL,
  min_length INT NOT NULL
);

完成后修改配置文件写入:

bash 复制代码
plugin-load-add=validate_password.so
validate-password=ON
validate_password_policy = 1   ##0(LOW), 1 (MEDIUM), 2 (STRONG)
validate_password_length = 8
validate_password_mixed_case_count = 1  #大小写字符长度,至少1个
validate_password_number_count = 2
validate_password_special_char_count = 1  #特殊字符至少1个
default_password_lifetime=180

#验证测试密码符合度
SELECT VALIDATE_PASSWORD_STRENGTH('Ad32weak$_@123');

规则说明:详情参看官网说明

策略 检查规则
0 or LOW Length(满足长度要求)
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

2)是否启用ssl:show variables like '%ssl%';

相关推荐
kfepiza6 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
不剪发的Tony老师6 小时前
phpMyAdmin:一款经典的MySQL在线管理工具又回来了
数据库·mysql·phpmyadmin
菜包eo7 小时前
如何设置直播间的观看门槛,让直播间安全有效地运行?
前端·安全·音视频
Bulestar_xx8 小时前
20250711_Sudo 靶机复盘
linux·安全·web安全
张璐月8 小时前
mysql的性能优化:组提交、数据页复用、全表扫描优化、刷脏页
数据库·mysql·性能优化
兮动人9 小时前
Windows 11 系统关键文件夹详解及安全清理指南
windows·安全
渣渣盟9 小时前
Flink数据流高效写入MySQL实战
mysql·flink·scala
NF禾凡10 小时前
【Mysql作业】
数据库·mysql
Kay_Liang11 小时前
MySQL SQL语句精要:DDL、DML与DCL的深度探究
开发语言·数据库·sql·mysql·database
诺亚凹凸曼12 小时前
一条mysql的查询语句是怎样执行的?
数据库·mysql