VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

设置帐户安全策略

背景信息

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

自动锁定和解锁帐户

  • 为了保证帐户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系统将自动锁定该帐户,默认值为5。次数设置越小越安全,但是在使用过程中会带来不便。
  • 当帐户被锁定时间超过设定值(password_lock_time),则当前帐户自动解锁,默认值为1440分钟。时间设置越长越安全,但是在使用过程中会带来不便。

    • 参数password_lock_time的取值范围:整型,最小值为1,最大值为525600,单位为分钟,默认值为1440分钟。
    • 参数failed_login_attempts的取值范围:整型,最小值为1,最大值为1000,默认值为5。
    • 参数failed_login_attempts表示在任意时候,如果输入密码错误的次数达到设定值则当前帐户被锁定,password_lock_time分钟后被自动解锁。因此,只有两个配置参数都为正数时,才可以进行常规的密码失败检查、帐户锁定和解锁操作。
    • 这两个参数的默认值都符合安全标准,用户可以根据需要重新设置参数,提高安全等级。建议用户使用默认值。

配置failed_login_attempts参数

1、以安装Vastbase的操作系统用户(vasbase为例)登录数据库主节点。

2、使用如下命令连接数据库。

vsql -d vastbase -p 5432

vastbase为需要连接的数据库名称,5432为数据库主节点的端口号。

连接成功后,系统显示类似如下信息:

vsql ((Vastbase G100 V2.2 (Build 10) Alpha) compiled at 2022-06-10 02:16:40 commit 7387 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
    
vastbase=# 

3、查看已配置的参数。

SHOW failed_login_attempts;

返回结果如下所示:

failed_login_attempts
-----------------------
 5
(1 row)

如果显示结果不为5,执行\q命令退出数据库。

4、执行如下命令设置成默认值5。

vb_guc reload -D $PGDATA -c "failed_login_attempts=5"

配置password_lock_time参数

1、以安装Vastbase的操作系统用户(vasbase为例)登录数据库主节点。

2、使用如下命令连接数据库。

vsql -d vastbase -p 5432

vastbase为需要连接的数据库名称,5432为数据库主节点的端口号。

连接成功后,系统显示类似如下信息:

vsql ((Vastbase G100 V2.2 (Build 10) Alpha) compiled at 2022-06-10 02:16:40 commit 7387 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
    
vastbase=# 

3、查看已配置的参数。

SHOW password_lock_time;

返回结果如下所示:

password_lock_time
-----------------------
    1440
(1 row)

如果显示结果不为1440,则修改为1440,执行\q命令退出数据库。

4、执行如下命令设置成默认值1440。

 vb_guc reload -D $PGDATA -c "password_lock_time=1440"

手动锁定和解锁帐户

若管理员发现某帐户被盗、非法访问等异常情况,可手动锁定该帐户。

当管理员认为帐户恢复正常后,可手动解锁该帐户。

以手动锁定和解锁用户joe(joe为已经存在且需要锁定和解锁的用户)为例,用户的创建请参见用户,命令格式如下:

  • 手动锁定

    ALTER USER joe ACCOUNT LOCK;
    
  • 手动解锁

    ALTER USER joe ACCOUNT UNLOCK;
    

删除不再使用的帐户

当确认帐户不再使用,管理员可以删除帐户。该操作不可恢复。

当删除的用户正处于活动状态时,此会话状态不会立马断开,用户在会话状态断开后才会被完全删除。

以删除帐户joe为例,命令格式如下:

DROP USER joe  CASCADE;