openstack用户安全加固

萧元徽
2023-12-01

作者:【吴业亮】

博客:https://wuyeliang.blog.csdn.net/

从Newton版本开始,Identity服务启用安全加固,用于满足支付行业和数据行业安全标。默认情况下,所有功能均禁用,大多数功能仅适用于driver为SQL的认证方式。

修改方法:

修改keystone.conf的 keystone.conf部分

几次错误重试锁定用户

[security_compliance] 
lockout_failure_attempts  =  6

锁定用户时间

[security_compliance] 
lockout_duration  =  1800

注意:
如果你没有设置lockout_duration,用户将被无限期锁定,直到通过API启用用户

通过api启用用户永不被锁定, 操作:PATCH /v3/users/{user_id}

{
    "user": {
        "options": {
            "ignore_change_password_upon_first_use": true
        }
    }
}

禁用非活动用户
90天未登陆锁定用户
[security_compliance]
disable_user_account_days_inactive = 90

通过api将某个用户排除在外, 操作:PATCH /v3/users/{user_id}

{
    "user": {
        "options": {
            "ignore_password_expiry": true
        }
    }
}

强制第一次登陆修改密码

[security_compliance] 
change_password_upon_first_use  =  True

密码过期时间

[security_compliance] 
password_expires_days  =  90

设置密码复杂度

[security_compliance] 
password_regex  =  ^(?=。* \ d)(?=。* [a-zA-Z])。{7,} $

示例:
至少一个字母,一个数字,最短7个字符

密码复杂度提示

[security_compliance]
password_regex_description = Passwords must contain at least 1 letter, 1
                             digit, and be a minimum length of 7
                             characters.

密码不允许和前几次相同

[security_compliance] 
unique_last_password_count =  5

设置在用户更改之前必须使用密码的天数minimum_password_age

[security_compliance] 
minimum_password_age  =  1

在上面的例子中,一旦用户更改密码,他们将无法在一天内再次更改密码。这可以防止用户立即更改其密码,以便清除密码历史记录并重新使用旧密码。

注意

当你设置时password_expires_days,该值 minimum_password_age应该小于password_expires_days。否则,用户在到期前将无法更改密码。

密码复杂度参数,一直不成功,原因还没找到,希望高手指点下~

参考:
安全规范:

https://specs.openstack.org/openstack/keystone-specs/specs/keystone/newton/pci-dss.html

 类似资料: