二级等保实战:MySQL安全加固

身份鉴别

空闲至多30分钟自动超时退出

打开 RDS 控制台,进入实例详情页面,点击左侧"参数设置",找到 "wait_timeout",默认参数值为 86400,改为 1800,修改完成后点击提交。

这样,用户空闲 30 分钟后,会自动退出登录。

登录失败处理策略

登录失败10次以内,锁定5分钟以上

需要 MySQL 8.0.19+ 才支持 FAILED_LOGIN_ATTEMPTS 和 PASSWORD_LOCK_TIME。

使用 高权限账号/root 账号,登录 MySQL,执行以下 SQL 语句:

sql 复制代码
ALTER USER 'test_user'@'%'
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1;

上面的意思是说,用户 test_user 在 10 次登录失败后,锁定 1 天。

需要注意的时,PASSWORD_LOCK_TIME 单位是天,不是分钟,且只能为整数。

使用下面的命令验证设置是否生效:

sql 复制代码
SELECT
   User, User_attributes
FROM mysql.user
WHERE user = 'test_user';

解除锁定命令:ALTER USER 'test_user'@'%' ACCOUNT UNLOCK;

限制口令期限

口令限制至多90天

使用 高权限账号/root 账号,登录 MySQL,执行以下 SQL 语句:

sql 复制代码
ALTER USER 'test_user'@'%' PASSWORD EXPIRE INTERVAL 90 DAY;

验证是否生效:

sql 复制代码
SELECT user, host, password_expired, password_lifetime, password_last_changed
FROM mysql.user
WHERE user = 'test_user';

限制默认账户远程

打开 RDS 控制台,进入实例详情页面,点击数据库连接,点击"关闭外网地址"。

加密远程协议

数据库:使用SSL协议远程管理;

打开 RDS 控制台,进入实例详情页面,点击"数据安全性",在 SSL 设置处,开启 SSL 证书信息,点击确定

数据库审计

打开 RDS 控制台,进入实例详情页面,点击"自治服务",找到"安全审计",点击开启安全审计

审计数据存储时长选择180天,点击提交

开启成功后,点击"开始使用"

然后就进入了查看界面

相关推荐
c238568 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
做一个AK梦9 小时前
安全架构设计理论与实践-软考架构师
安全·安全架构
cakeism8259 小时前
Gitee CodePecker 软件供应链恶意投毒监测与治理平台:从被动响应到主动防御的供应链安全体系
安全·gitee
2601_955759419 小时前
ClaudeAPI第三方系统接入安全审查指南
安全
alexhilton10 小时前
Android XR 开发入门完全指南
android·kotlin·android jetpack
凌云拓界12 小时前
NodeVerdict | .ndv 二进制格式:为 WASM 解码器设计的紧凑布局
安全·架构·开源·node.js·编辑器·软件工程·wasm
码农颜12 小时前
5.2.2 隔离级别
数据库·mysql
恒拓高科WorkPlus12 小时前
BeeWorks 即时通讯私有化解决方案介绍
安全
骇客野人12 小时前
MySQL 信创化迁移至 PolarDB-X 整体实施方案
数据库·mysql
dyxal13 小时前
SSH本地端口转发完全解析:像“挖掘隧道”一样安全访问远程数据库
数据库·安全·ssh