第 3 章 身份和访问权限管理
3.1. 身份
本节包含有关身份的概念信息。
3.1.1. 身份验证
身份验证是任何现实 OpenStack 部署的一个完整部分。谨慎考虑系统设计方面。本主题的完整处理方式已超出本指南的讨论范围,但以下部分将介绍一些关键主题。
在其最基本的情况下,身份验证是确认身份(用户实际上就是他们声称的身份)的过程。熟悉的示例是在登录系统时提供用户名和密码。
OpenStack 身份服务(keystone)支持多种身份验证方法,包括用户名、密码、LDAP 以及其他外部身份验证方法。身份验证成功后,身份服务会为用户提供用于后续服务请求的身份验证令牌。
传输层安全性(TLS)使用 X.509 证书在服务和人员之间提供身份验证。虽然 TLS 的默认模式仅用于服务器端身份验证,但您应该考虑将证书用于客户端身份验证,因为它在美国政府标准中规定。
3.1.1.1. 无效的登录尝试
身份服务(keystone)不提供在重复登录尝试失败后限制帐户访问的方法。重复失败的登录尝试模式通常是暴力攻击的指示。这种攻击在公共云部署中更加广泛。您可以使用外部身份验证系统来缓解这个问题,该系统在配置了失败次数的登录尝试后阻断帐户。然后,可能只解锁帐户以进一步管理干预。
检测技术也可以用于降低损坏。检测涉及频繁的访问控制日志,以识别未经授权访问帐户的尝试。可能的补救包括检查用户密码的强度,或者通过防火墙规则阻止攻击的网络源。您可以在 keystone 服务器上添加限制连接数量的防火墙规则,这有助于降低攻击效率。
另外,检查帐户活动异常登录时间和可疑操作会很有用,并采取纠正措施,如禁用帐户。
3.1.1.2. 多因素身份验证
对特权用户帐户使用多因素身份验证。身份服务可以与提供此功能的外部身份验证服务集成。例如,keystone 可以和 Active Directory、Red Hat Identity Manager、FreeIPA 或通用 LDAP 服务器集成,其中之一可实施多因素身份验证。
本建议有助于缓解可能危害密码攻击的各种暴力强制、社交工程,以及预置攻击。有关与红帽身份管理集成的部署,请参阅 配置和管理身份管理 指南。