龙空技术网

mysql用户密码安全闭环,自主维护自己的数据安全

蜡笔小贤 128

前言:

目前朋友们对“mysql用户设置密码”大体比较看重,姐妹们都想要了解一些“mysql用户设置密码”的相关知识。那么小编在网上收集了一些对于“mysql用户设置密码””的相关资讯,希望各位老铁们能喜欢,我们一起来学习一下吧!

在企业中,为了保证数据库的安全,一般的策略是对数据库设立多个用户,给每个用户的密码设置有效期,让用户在一定的时间进行更新,以保证数据库的数据安全。

同时,为了保证数据库密码的安全,除了设置一定的密码复杂度外,还会设置密码的历史策略,如密码不能与前5次相同,密码不能使用一年内使用过的密码等等策略。

设立这些策略还不够,为了给客户一个比较好的体验,我们必须还需要增加一个告警机制,在密码过期前多少天,发送告警邮箱给管理员,让管理员在合适的时间内进行更改密码。这样就可以防止mysql数据库密码突然失效,所有服务都连不上数据库,导致服务不可用。

下面给mysql用户密码安全闭环提供简单的方案:

1.mysql数据库用户密码设置过期时间

create user 'test'@'127.0.0.1' identified with mysql_native_password by 'Test@2023'#密码一年有效期PASSWORD EXPIRE INTERVAL 365 DAY#密码不能与前5次相同    PASSWORD HISTORY 5#密码不能使用一年内使用过的密码    PASSWORD REUSE INTERVAL 365 DAYPASSWORD REQUIRE CURRENTFAILED_LOGIN_ATTEMPTS 50 PASSWORD_LOCK_TIME 1;grant select, insert, update, delete, create, alter, index on \`table%\`.* to test@'127.0.0.1';grant select, insert, update, delete, create, alter, index on table2.* to test@'127.0.0.1';grant select on mysql.user to test@'127.0.0.1';

2.密码有效期提前告警机制

告警的一个前提是获取数据库密码的过期时间,通过root用户登录数据库,查询mysql.user表是可以看到每个用户的密码修改时间和有效天数。

其中password_last_changed就是密码最后一次修改的时间。

password_lifetime就是密码有效期。

告警的机制就是在web页面中配置提前xx天给管理员发送告警,然后在后台中设置一个每天凌晨00:00的定时任务,去计算当前时间是否到了告警的阈值。

修改mysql用户密码的shell脚本如下:

自此,mysql用户密码安全就算是一个比较合理的闭环方案了。

标签: #mysql用户设置密码