等保三级整改建议——mysql5.6.51

身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。

密码有效期:由于mysql5.6.51没有default_password_lifetime 函数所以我们可以使用脚本来实现密码更换日期
 

#!/bin/bash

# MySQL登录信息
MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"

# 过期密码的 SQL 查询
QUERY="SELECT user FROM mysql.user WHERE password_expired = 'N' AND password_last_changed < (NOW() - INTERVAL 30 DAY);"

# 连接到 MySQL 并执行查询
PASSWORDS_TO_EXPIRE=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "$QUERY" | tail -n +2)

# 循环过期密码并让其过期
for USER in $PASSWORDS_TO_EXPIRE
do
    mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "ALTER USER '$USER' PASSWORD EXPIRE;"
done
crontab -e     //使用 cron 定时任务来每隔 30 天运行该脚本

0 0 1 * * /path/to/expire_passwords.sh     //这样设置后,每个月的第一天脚本就会执行,检查并将所有密码超过 30 天的用户密码设置为过期状态。

密码复杂度设置:

SET GLOBAL validate_password_length = 8;  
//设置mysql的密码长度最小为8位

SET GLOBAL validate_password_number_count = 1;
//设置密码必须包含一个数字

SET GLOBAL validate_password_mixed_case_count = 0;
//设置为 0 表示大小写不敏感;若为1则表示必须包含一个大写字母和一个小写字母。

SET GLOBAL validate_password_special_char_count = 1;
//密码中必须包含至少一个特殊字符。

b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;

设置连接超时

vim /etc/my.cnf

[mysqld]
connect_timeout = 100
            
//在my.cnf这个配置文件里面写入连接超时时间,单位为秒

设置登录次数限制

SET GLOBAL max_connect_errors = 10;      //设
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值