暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 设置密码安全策略

墨天轮 2019-09-23
1054

设置密码安全策略

GaussDB 100设置了完善的密码安全策略,保证数据安全。安全策略主要分为密码复杂度、密码重用、密码有效期、密码修改和密码验证五个部分。

密码复杂度

创建数据库、创建用户、修改用户时需要指定密码。密码必须要符合复杂度的要求,否则会提示用户重新输入密码。帐户密码的复杂度要求如下:

  • 密码长度必须大于等于8个字符,小于等于64个字符。
  • 若密码不以单引号括起来,则密码首字符必须是字母、#号或下划线。
  • 密码不能与用户名或者用户名的倒序相同(校验时,不区分大小写)。
  • 密码只能包含以下4种类型,并且至少选取其中3种类型的组合。
    • 数字。
    • 小写字母。
    • 大写字母。
    • 空格或特殊字符(GaussDB 100支持的特殊字符列表,请参见下方的“特殊字符”表)。
  • 创建密码时,若密码中包含_#$以外的特殊字符或者空格,则密码须用单引号括起来。
  • 若创建的密码中包含特殊字符$,通过zsql连接数据库时密码在单引号里面$不需要使用\转义字符转义,密码不在单引号里面$需要使用\转义字符转义,否则会登录失败。
  • 若创建的密码中包含特殊字符空格,只能通过交互式登录。
  • 使用conn命令登录数据库密码段都认为是密码字符。
  • 使用zsql命令登录数据库密码字段使用单引号括起来。密码中不能出现单引号。
表1 特殊字符

编号

字符

编号

字符

编号

字符

编号

字符

1

`

9

&

17

\

25

"

2

~

10

*

18

|

26

,

3

!

11

(

19

[

27

<

4

@

12

)

20

{

28

.

5

#

13

-

21

}

29

>

6

$

14

_

22

]

30

/

7

%

15

=

23

:

31

?

8

^

16

+

24

'

-

-

密码重用

用户修改密码时,只有超过不可重用天数(PASSWORD_REUSE_TIME)或不可重用次数(PASSWORD_REUSE_MAX)的密码才可以使用。

说明:

这两个参数值越大越安全,但是在使用过程中会带来不便,其默认值符合安全标准,用户可以根据需要重新设置参数,提高安全等级。

  • PASSWORD_REUSE_TIME

    指定密码在多少天内不能重复使用。

    取值范围:正数,其中整数部分表示天数,小数部分可以换算成时、分、秒。

    如果参数变小,则后续修改密码按新的参数进行检查。

    如果参数变大(比如由a变大为b),因为b天之前的历史密码可能已经删除,所以b天之前的密码仍有可能被重用。则后续修改密码按新的参数进行检查。时间以绝对时间为准,历史密码记录的都是当时的时间,不识别时间的修改。

  • PASSWORD_REUSE_MAX

    在重设密码时,指定当前密码至少需要间隔多少次,才能被重复使用。如果参数变小,则后续修改密码按新的参数进行检查。如果参数变大(比如由a变大为b),因为b次之前的历史密码可能已经删除,所以b次之前的密码仍有可能被重用。则后续修改密码按新的参数进行检查。

    PASSWORD_REUSE_TIME和PASSWORD_REUSE_MAX这两个参数必须互相关联设置。PASSWORD_REUSE_TIME指定了密码不能重用前的天数,而PASSWORD_REUSE_MAX则指定了当前密码至少需要间隔多少次,才能被重复使用。

    设置原则:

    • PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME都为UNLIMITED,密码可以随意重用,没有任何限制。
    • PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME均指定值时,必须满足这两者的条件时才可以重用密码。
    • 当PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME两个有其中一个不为UNLIMITED,则密码永远不能重用。取值范围:正整数。

命令示例如下:

--查看已配置的PASSWORD_REUSE_TIME SELECT * FROM ADM_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_REUSE_TIME';
--更改PASSWORD_REUSE_TIME参数为60。 ALTER PROFILE DEFAULT LIMIT PASSWORD_REUSE_TIME 60;
--查看已配置的PASSWORD_REUSE_MAX SELECT * FROM ADM_PROFILES WHERE RESOURCE_NAME='PASSWORD_REUSE_MAX';
--更改PASSWORD_REUSE_MAX参数为3。 ALTER PROFILE DEFAULT LIMIT PASSWORD_REUSE_MAX 3;

密码有效期

示例命令如下:

--查看PASSWORD_LIFE_TIME参数 SELECT * FROM ADM_PROFILES WHERE RESOURCE_NAME ='PASSWORD_LIFE_TIME';
--更改PASSWORD_LIFE_TIME参数为90。 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90;
  • PASSWORD_LIFE_TIME

    指定同一密码所允许使用的天数。

    默认值:180。

密码修改

在创建数据库时,会新建一个和初始DBA用户重名的操作系统用户,为了保证帐户安全,请定期修改操作系统用户的密码。建议数据库系统管理员和普通用户都要定期修改自己的帐户密码,避免帐户密码被非法窃取。数据库系统管理员可以修改自己的或者其他帐户的密码。通过修改其他帐户的密码,解决用户密码遗失所造成无法登录的问题。

  • 系统管理员之间不允许互相修改对方密码。
  • 系统管理员可以修改普通用户密码且不需要用户原密码。
  • 系统管理员修改自己密码但需要管理员原密码。

以修改用户Tom密码为例,示例命令如下:

ALTER USER Tom IDENTIFIED BY '1234@abc' REPLACE '5678@def';

1234@abc、5678@def分别代表用户Tom的新密码和原始密码,这些密码要符合密码规则,否则会执行失败。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论