安全认证配置

确保客户端认证超时时间配置正确

说明

参数authentication_timeout控制完成客户端认证的时间上限,默认为一分钟。如果一个客户端没有在参数设定时间内完成与服务器端的认证,则服务器自动中断与客户端的连接,这样就避免了出问题的客户端无限制地占用连接数。

实现

检查方法:

检查authentication_timeout参数设置,建议设置为1min。

openGauss=# show authentication_timeout;
 authentication_timeout
------------------------
 1min
(1 row)

修复方法:

gs_guc reload -Z datanode -N all -I all -c "authentication_timeout=1min"

确保认证加密迭代次数配置正确

说明

通过auth_iteration_count参数配置对认证凭据进行单向哈希时的迭代次数。迭代次数设置过小会降低口令存储的安全性,设置过大会导致创建用户和认证等涉及口令加密的场景性能劣化。请根据实际硬件条件合理设置迭代次数,迭代次数最低应设置为10000次。

实现

检查方法:

检查auth_iteration_count参数配置,如果小于10000则失败。

openGauss=# show auth_iteration_count;
 auth_iteration_count
----------------------
 10000
(1 row)

修复方法:

gs_guc reload -Z datanode -N all -I all -c "auth_iteration_count=10000"

确保账户登录失败尝试次数配置正确

说明

通过参数failed_login_attempts配置帐户登录失败尝试次数可以防止口令被暴力破解。参数failed_login_attempts默认值为10,表示连续认证失败次数超过10次后,帐户将被自动锁定。

实现

检查方法:

检查failed_login_attempts参数值配置,如果参数为0则配置失败。

openGauss=# show failed_login_attempts;
 failed_login_attempts
-----------------------
 10
(1 row)

修复方法:

配置failed_login_attempts为大于0小于或等于1000的整数值,建议保持默认值10。

gs_guc reload -Z datanode -N all -I all -c "failed_login_attempts=10"

确保开启服务端内部Kerberos认证

说明

使用gs_om工具开启和关闭服务端内部Kerberos认证。如果数据库部署在非安全网络中,通过开启服务端内部Kerberos认证可解决数据库服务端内部节点被仿冒风险。

实现

检查方法:

可以通过查看DN数据目录下pg_hba.conf配置文件,确认服务端内部节点认证方式是否为gss,如果为gss表示已开启Kerberos认证。执行cm_ctl query -Cv查看数据库状态,可以看到Kerberos进程状态。

修复方法:

确保数据库处于正常运行状态。首先,执行如下命令停止数据库:

gs_om -t stop

安装server,执行如下命令,其中USER为数据库初始用户,安装服务端,IP1表示主server所在的IP节点,IP2表示备server所在的IP节点。服务端主备IP指定服务端内任意IP即可:

gs_om -t kerberos -m install -U USER --krb-server IP1 --krb-standby IP2

安装client,在服务端内任一节点执行一次命令即可:

gs_om -t kerberos -m install -U USER --krb-client

使环境变量配置生效:

source ~/.bashrc

启动数据库:

gs_om -t start
意见反馈
编组 3备份
    openGauss 2024-12-02 00:55:14
    取消