GaussDB 数据库架构师修炼(十三)安全管理(1)-账号的管理

1 业务背景

GaussDB为账户提供了自动锁定解锁账户手动锁定和解锁异常账户和删除不再使用的账户等一系列的安全措施,保证数据安全。

2 账号管理机制

1)设置账号有效期

创建用户并制定用户的有效开始时间和有效结束时间。

复制代码
gaussdb=# CREATE USER joe WITH PASSWORD '********' VALID BEGIN '2015-10-10 08:00:00' VALID UNTIL '2016-10-10 08:00:00';

用户已不在有效使用期内,需要重新设定账号的有效期,这包括有效开始时间和有效结束时间。

复制代码
gaussdb=# ALTER USER joe WITH VALID BEGIN '2016-11-10 08:00:00' VALID UNTIL '2017-11-10 08:00:00';

2)账号的锁定与解锁机制

  • 自动锁定和解锁账户

为了保证账户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系统将自动锁定该账户,默认值为****10 。次数设置越小越安全,但 是在使用过程中会带来不便。

当账户被锁定时间超过设定值(password_lock_time),则当前账户自动解锁,默认值为****1 。时间设置越长越安全,但是在使用过程中会带来不便。

  • 手动锁定和解锁账户

若管理员发现某账户被盗、非法访问等异常情况,可手动锁定该账户。当管理员认为账户恢复正常后,可手动解锁该账户。

复制代码
alter user user_name  ACCOUNT LOCK/UNLOCK;

3 账号口令安全

1)支持配置口令存储加密方式
采用PBKDF2算法对口令进行单向不可逆加密,哈希算法可通过password_encryption_type参数配置。

2)支持口令复杂度校验
初始化数据库、创建用户、修改用户时需要指定密码。密码必须要符合复杂(password_policy)的要求,否 则会提示用户重新输入密码。通过设置password_policy决定是否采用密码复杂度校验。具体要求如下:

  • 包含大写字母(A-Z)的最少个数(password_min_uppercase)

  • 包含小写字母(a-z)的最少个数(password_min_lowercase)

  • 包含数字(0-9)的最少个数(password_min_digital)

  • 包含特殊字符的最少个数(password_min_special)

  • 密码的最小长度(password_min_length)

  • 密码的最大长度(password_max_length)

  • 至少包含上述四类字符中的三类。

不能和用户名、用户名倒写相同,本要求为非大小写敏感。

不能和当前密码、当前密码的倒写相同。

不能是弱口令。

3)支持设置口令有效期

数据库用户的密码都有密码有效期(password_effect_time),当达到密码到期提醒天数(password_notify_time)时, 系统会在用户登录数据库时提示用户修改密码。考虑到数据库使用特殊性及业务连续性,密码过期后用户还可以登录数据库, 但是每次登录都会提示修改密码,直至修改为止。

4)支持弱口令配置

弱口令指的是强度较低,容易被破解的密码,对于不同的用户或群体,弱口令的定义可能会有所区别,用户需要自己添 加定制化的弱口令。弱口令字典中的口令存放在gs_global_config系统表中(name字段为weak_password的记录是储存的弱 口令),当创建用户、修改用户需要设置密码时,将会把用户设置口令和弱口令字典中存放的口令进行对比,如果命中,则 会提示用户该口令为弱口令,设置密码失败。

复制代码
举例:
gaussdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('Gauss@123'), ('Gauss_123');
CREATE WEAK PASSWORD DICTIONARY
gaussdb=# create user u2 password 'Gauss@123';
ERROR: Password should not be weak password.
相关推荐
天天向上杰2 天前
浅识:GaussDB的WAL日志
gaussdb
Gauss松鼠会3 天前
【openGauss】如何在openGauss中实现类似Oracle中constructor function、member function的功能
数据库·oracle·database·gaussdb
BullSmall6 天前
GaussDBT删除用户全攻略
gaussdb
聊天QQ:4877392786 天前
3dec 单轴与三轴压缩实验模拟探索
gaussdb
天天向上杰9 天前
小识:从理财数仓角度看GaussDB、PostgreSQL、Hive 三区别
hive·hadoop·gaussdb
九河云9 天前
华为云 GaussDB 分布式架构解析:企业级数据库高可用与性能调优方案
分布式·架构·华为云·云计算·gaussdb
无心水13 天前
【分布式利器:大厂技术】5、华为分布式方案:国产化适配+政企高可靠,鲲鹏/昇腾生态核心技术
分布式·华为·gaussdb·分布式利器·华为分布式·国产化数据库·政企高可靠
yubin128557092315 天前
Gaussdb数据类型
gaussdb
Gauss松鼠会17 天前
【GaussDB】如何从GaussDB发布包中提取出内核二进制文件
linux·数据库·database·gaussdb
robinson198818 天前
OpenTeleDB xstore vs GaussDB ustore表膨胀测试
表膨胀·gaussdb·ustore·openteledb·xstore