免费免费网站模板,跨境购物网站建设,临汾建设局网站,南宁市营商环境建设局网站文章目录 openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略115.1 操作步骤 openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略
115.1 操作步骤
用户密码存储在系统表pg_authid中#xff0c;为防止用户密码泄露#xff… 文章目录 openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略115.1 操作步骤 openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略
115.1 操作步骤
用户密码存储在系统表pg_authid中为防止用户密码泄露openGauss对用户密码进行加密存储所采用的加密算法由配置参数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方式对密码加密。 以操作系统用户omm登录数据库主节点。 使用如下命令连接数据库。 gsql -d postgres -p 8000postgres为需要连接的数据库名称8000为数据库主节点的端口号。 连接成功后系统显示类似如下信息 gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type help for help.openGauss# 查看已配置的加密算法。 openGauss# SHOW password_encryption_type;password_encryption_type
--------------------------2
(1 row)如果显示结果为0或1执行“\q”命令退出数据库。 执行如下命令将其设置为安全的加密算法。 gs_guc reload -N all -I all -c password_encryption_type2须知 为防止用户密码泄露在执行CREATE USER/ROLE命令创建数据库用户时不能指定UNENCRYPTED属性即新创建的用户的密码只能是加密存储的。 配置密码安全参数。 密码复杂度 初始化数据库、创建用户、修改用户时需要指定密码。密码必须要符合复杂度password_policy的要求否则会提示用户重新输入密码。 参数password_policy设置为1时表示采用密码复杂度校验默认值。参数password_policy设置为0时表示不采用密码复杂度校验但需满足密码不能为空并且只包含有效字符有效字符范围为大写字母A-Z、小写字母a-z、数字0-9及特殊字符详见表1。设置为0会存在安全风险不建议设置为0即使需要设置也要将所有openGauss节点中的password_policy都设置为0才能生效。 配置password_policy参数。 使用如下命令连接数据库。 gsql -d postgres -p 8000postgres为需要连接的数据库名称8000为数据库主节点的端口号。 连接成功后系统显示类似如下信息 gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type help for help.openGauss# 查看已配置的参数。 openGauss# SHOW password_policy;password_policy
---------------------1
(1 row)如果显示结果不为1执行“\q”命令退出数据库。 执行如下命令设置成默认值1。 gs_guc reload -N all -I all -c password_policy1说明 帐户密码的复杂度要求如下 包含大写字母A-Z的最少个数password_min_uppercase包含小写字母a-z的最少个数password_min_lowercase包含数字0-9的最少个数password_min_digital包含特殊字符的最少个数password_min_special特殊字符的列表请参见表1密码的最小长度password_min_length密码的最大长度password_max_length至少包含上述四类字符中的三类。不能和用户名、用户名倒写相同本要求为非大小写敏感。不能和当前密码、当前密码的倒写相同。不能是弱口令。弱口令指的是强度较低容易被破解的密码对于不同的用户或群体弱口令的定义可能会有所区别用户需自己添加定制化的弱口令。弱口令字典中的口令存放在gs_global_config系统表中当创建用户、修改用户需要设置密码时系统将会把用户设置口令和弱口令字典中存放的口令进行对比如果符合则会提示用户该口令为弱口令设置密码失败。弱口令字典默认为空用户通过以下语法可以对弱口令字典进行增加和删除示例如下 openGauss# CREATE WEAK PASSWORD DICTIONARY WITH VALUES (password1), (password2);
openGauss# DROP WEAK PASSWORD DICTIONARY;密码重用 用户修改密码时只有超过不可重用天数password_reuse_time或不可重用次数password_reuse_max的密码才可以使用。参数配置说明如表2所示。 说明 不可重用天数默认值为60天不可重用次数默认值是0。这两个参数值越大越安全但是在使用过程中会带来不便其默认值符合安全标准用户可以根据需要重新设置参数提高安全等级。 配置password_reuse_time参数。 使用如下命令连接数据库。 gsql -d postgres -p 8000postgres为需要连接的数据库名称8000为数据库主节点的端口号。 连接成功后系统显示类似如下信息 gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type help for help.openGauss# 查看已配置的参数。 openGauss# SHOW password_reuse_time;password_reuse_time
---------------------60
(1 row)如果显示结果不为60执行“\q”命令退出数据库。 执行如下命令设置成默认值60。 说明 不建议设置为0即使需要设置也要将所有openGauss节点中的password_reuse_time都设置为0才能生效。 gs_guc reload -N all -I all -c password_reuse_time60配置password_reuse_max参数。 使用如下命令连接数据库。 gsql -d postgres -p 8000postgres为需要连接的数据库名称8000为数据库主节点的端口号。 连接成功后系统显示类似如下信息 gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type help for help.openGauss# 查看已配置的参数。 openGauss# SHOW password_reuse_max;
password_reuse_max
--------------------
0
(1 row)如果显示结果不为0执行“\q”命令退出数据库。 执行如下命令设置成默认值0。 gs_guc reload -N all -I all -c password_reuse_max 0密码有效期限 数据库用户的密码都有密码有效期password_effect_time当达到密码到期提醒天数password_notify_time时系统会在用户登录数据库时提示用户修改密码。 说明 考虑到数据库使用特殊性及业务连续性密码过期后用户还可以登录数据库但是每次登录都会提示修改密码直至修改为止。 配置password_effect_time参数。 使用如下命令连接数据库。 gsql -d postgres -p 8000postgres为需要连接的数据库名称8000为数据库主节点的端口号。 连接成功后系统显示类似如下信息 gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type help for help.openGauss# 查看已配置的参数。 openGauss# SHOW password_effect_time;password_effect_time
----------------------90
(1 row)如果显示结果不为90执行“\q”命令退出数据库。 执行如下命令设置成默认值90不建议设置为0。 gs_guc reload -N all -I all -c password_effect_time 90配置password_notify_time参数。 使用如下命令连接数据库。 gsql -d postgres -p 8000postgres为需要连接的数据库名称8000为数据库主节点的端口号。 连接成功后系统显示类似如下信息 gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type help for help.openGauss# 查看已配置的参数。 openGauss# SHOW password_notify_time;
password_notify_time
----------------------
7
(1 row)如果显示结果不为7执行如下命令设置成默认值7不建议设置为0。 gs_guc reload -N all -I all -c password_notify_time 7密码修改 在安装数据库时会新建一个和初始化用户重名的操作系统用户为了保证帐户安全请定期修改操作系统用户的密码。 以修改用户user1密码为例命令格式如下 passwd user1根据提示信息完成修改密码操作。 建议系统管理员和普通用户都要定期修改自己的帐户密码避免帐户密码被非法窃取。 以修改用户user1密码为例以系统管理员用户连接数据库并执行如下命令 openGauss# ALTER USER user1 IDENTIFIED BY $$$$$$$$ REPLACE XXXXXXXX;
ALTER ROLE说明 $$$$$$$$、XXXXXXXX分别代表用户user1的新密码和原始密码这些密码要符合规则否则会执行失败。 管理员可以修改自己的或者其他帐户的密码。通过修改其他帐户的密码解决用户密码遗失所造成无法登录的问题。 以修改用户joe帐户密码为例命令格式如下 openGauss# ALTER USER joe IDENTIFIED BY abc1234;
ALTER ROLE说明 系统管理员之间不允许互相修改对方密码。系统管理员可以修改普通用户密码且不需要用户原密码。系统管理员修改自己密码但需要管理员原密码。 密码验证 设置当前会话的用户和角色时需要验证密码。如果输入密码与用户的存储密码不一致则会报错。 以设置用户joe为例命令格式如下 openGauss# SET ROLE joe PASSWORD abc1234;
ERROR: Invalid username/password,set role denied.表 1 特殊字符 编号字符编号字符编号字符编号字符1~9*17|25210(18[26.311)19{274#12-20}28/5$13_21]296%1422--7^1523--816\24--表 2 不可重用天数和不可重用次数参数说明 参数取值范围配置说明不可重用天数password_reuse_time正数或0其中整数部分表示天数小数部分可以换算成时分秒。默认值为60。如果参数变小则后续修改密码按新的参数进行检查。如果参数变大比如由a变大为b因为b天之前的历史密码可能已经删除所以b天之前的密码仍有可能被重用。则后续修改密码按新的参数进行检查。说明时间以绝对时间为准历史密码记录的都是当时的时间不识别时间的修改。不可重用次数password_reuse_max正整数或0。默认值为0表示不检查重用次数。如果参数变小则后续修改密码按新的参数进行检查。如果参数变大比如由a变大为b因为b次之前的历史密码可能已经删除所以b次之前的密码仍有可能被重用。则后续修改密码按新的参数进行检查。 设置用户密码失效。 具有CREATEROLE权限的用户在创建用户时可以强制用户密码失效新用户首次登陆数据库后需要修改密码才允许执行其他查询操作命令格式如下 openGauss# CREATE USER joe PASSWORD abc1234 EXPIRED;
CREATE ROLE具有CREATEROLE权限的用户可以强制用户密码失效或者强制修改密码且失效命令格式如下 openGauss# ALTER USER joe PASSWORD EXPIRED;
ALTER ROLEopenGauss# ALTER USER joe PASSWORD abc2345 EXPIRED;
ALTER ROLE说明 密码失效的用户登录数据库后当执行简单查询或者扩展查询时会提示用户修改密码。修改密码后可以正常执行语句。只有初始用户、系统管理员sysadmin或拥有创建用户CREATEROLE权限的用户才可以设置用户密码失效其中系统管理员也可以设置自己或其他系统管理员密码失效。不允许设置初始用户密码失效。 点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富