【GaussDB】GaussDB的密码安全策略

1.密码安全策略 

用户密码存储在系统表 pg_authid 中,为防止用户密码泄露,GaussDB对用户密码进行加密存储,
所采用的加密算法由配置参数 password_encryption_type 决定。
•当参数password_encryption_type设置为0时,表示采用MD5方式对密码加密。
	MD5加密算法安全性低,存在安全风险,不建议使用。
•当参数password_encryption_type设置为1时,表示采用sha256和MD5方式对密码加密。
	MD5加密算法安全性低,存在安全风险,不建议使用。
•当参数password_encryption_type设置为2时,表示采用sha256方式对密码加密,为默认配置。
•当参数password_encryption_type设置为3时,表示采用sm3方式对密码加密。

2.查看已配置的加密算法。

gaussdb=# SHOW password_encryption_type;
 password_encryption_type
--------------------------
 2
(1 row)

3.修改密码加密算法。

--0/1都不安全。
gs_guc reload -Z datanode -N all -I all -c "password_encryption_type=2"

4.账户密码的复杂度及长度要求如下

◾包含大写字母(A-Z)的最少个数(根据GUC参数password_min_uppercase配置)。
◾包含小写字母(a-z)的最少个数(根据GUC参数password_min_lowercase配置)。
◾包含数字(0-9)的最少个数(根据GUC参数password_min_digital配置)。
◾包含特殊字符的最少个数(根据GUC参数password_min_special配置,特殊字符的列表请参见表1)。
◾密码的最小长度(根据GUC参数password_min_length配置)。
◾密码的最大长度(根据GUC参数password_max_length配置)。

5.关于若口令的说明。

◾弱口令指的是强度较低,容易被破解的密码,对于不同的用户或群体,弱口令的定义可能会有所区别,
	用户需自己添加定制化的弱口令。
◾弱口令字典中的口令存放在 gs_global_config 系统表中,当创建用户、修改用户需要设置密码时,
	将会把用户设置口令和弱口令字典中存放的口令进行对比,如果命中,则会提示用户该口令为弱口令,设置密码失败。
◾弱口令字典默认为空,用户通过以下语法可以对弱口令字典进行增加和删除
--示例如下:
CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('oracle'), ('mysql123'),('gaussdb001');
DROP WEAK PASSWORD DICTIONARY;

--由此可见,我们可以通过创建弱口令字典来加强密码的管理。不让设置太简单容易被猜到的密码。

6.密码重用问题 

不可重用天数默认值为60天,不可重用次数默认值是0。这两个参数值越大越安全
--查看已配置的参数。
gaussdb=# SHOW password_reuse_time;
 password_reuse_time
---------------------
 60
(1 row)

密码过期后,60天以内不能设置和以前相同的密码。
不建议设置为0,即使需要设置也要将所有数据库节点中的password_reuse_time都设置为0才能生效。

数据库用户的密码都有密码有效期(password_effect_time),
当达到密码到期提醒天数(password_notify_time)时,
系统会在用户登录数据库时提示用户修改密码。


gs_guc reload -Z datanode -N all -I all -c "password_reuse_time=60"

--0表示不能重用。每次设置必须不同。
gaussdb=# SHOW password_reuse_max;
 password_reuse_max
--------------------
 0
(1 row)

--修改密码可以重用的次数。
gs_guc reload -Z datanode -N all -I all -c "password_reuse_max = 0"

7.密码有效期 

gaussdb=# SHOW password_effect_time;
 password_effect_time
----------------------
 90
(1 row)
--设置密码有效期。
gs_guc reload -Z datanode -N all -I all -c "password_effect_time = 90"

这里需要注意账号(用户)有效期和密码有效期可以不同。从两个不同的维度进行约束。
gaussdb=# SHOW password_notify_time;
 password_notify_time
----------------------
 7
(1 row)

--当达到密码到期提醒天数:过期前一个礼拜通知。
gs_guc reload -Z datanode -N all -I all -c "password_notify_time = 7"

8.修改密码。

gaussdb=# ALTER USER user1 IDENTIFIED BY 'NewPasswd' REPLACE 'OldPasswd';
ALTER ROLE

gaussdb=# ALTER USER joe IDENTIFIED BY "********";
ALTER ROLE

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值