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.
相关推荐
DarkAthena4 天前
【GaussDB】排查创建索引后查询数据行数发生变化的问题
数据库·sql·gaussdb
DarkAthena5 天前
【GaussDB】用AI解析UGO中的SQL审核模块的实现
数据库·sql·gaussdb
DarkAthena9 天前
【GaussDB】手动编译不同python版本的psycopg2驱动以适配airflow
驱动开发·python·gaussdb
德彪稳坐倒骑驴11 天前
GaussDB数据库安装
gaussdb
xuekai2008090112 天前
openguassdb 命令行安装
gaussdb
xuekai2008090113 天前
GaussDB-SQL优化案例
数据库·sql·gaussdb
DarkAthena13 天前
【GaussDB】合入原生PG的PR来修复CVE-2025-1094漏洞后产生的严重隐患
数据库·漏洞·gaussdb
DarkAthena14 天前
【GaussDB】GaussDB506版本A模式中的date类型
数据库·gaussdb
DarkAthena18 天前
【GaussDB】分析函数性能优化案例-row_number改写
数据库·sql·oracle·性能优化·gaussdb
人工智能知识库18 天前
华为HCCDA-GaussDB题库(带详细解析)
数据库·华为·gaussdb·题库·hccda-gaussdb·hccda