OpenStack Bobcat 中的新功能:Horizon 团队引入基于时间的 One-Time Password (TOTP) 身份验证支持

Horizon 添加了基于时间的 One-Time Password (TOTP) 身份验证支持,利用 Keystone 已经存在的双因素身份验证。现在,如果用户在 Keystone 上激活 TOTP,它也会在 Horizon 上激活。 

这个特定功能请求来自 Infomaniak 的公共云客户的需求。他们希望 Horizon 具有 TOTP 功能,并认为这将提高安全性。如果 OpenStack 云上的用户密码泄露(被盗、笔记本电脑被黑等),TOTP 仍然需要第二台设备。TOTP 身份验证令牌通常存储在运行 Android 或 IOS 的手机上(但也有“numberstation”之类的,可以在任何基于 Debian 的操作系统上运行,包括 Mobian 平台,因此它实际上可以在任何手机上运行)。

作为 OpenStack 运营商,Infomaniak 的政策是始终发送补丁到上游,绝不将未经合并的补丁投入生产。一旦补丁被合并,通常可以将其回移植到非官方的 Debian 包回移植中,该回移植由 http://osbpo.debian.net 维护。这样,始终存在可用的升级路径,这非常重要。

此功能是对 OpenStack Horizon 的重要贡献,因为如果 OpenStack 出现问题,而 TOTP 仅在 Keystone 中启用,用户将无法连接到 Horizon。这将移除操作员访问 Web 界面以管理其 OpenStack 服务的权限。 

Infomaniak 的站点可靠性工程师 Benjamin Lasseye 于 2023 年 4 月 24 日开始尝试不同的模拟图。一旦他对用户体验感到满意,他就继续开发此功能。第一个补丁集于 6 月 6 日发送,补丁于 8 月 29 日合并。这花费了令人惊讶的时间,因为从 6 月初到 7 月底,Horizon CI 出现故障,因此无法检查我们的补丁是否破坏了任何内容。Thomas 写信给邮件列表询问发生了什么,Horizon 团队能够以一种连贯的方式做出很好的回复:他们不得不解决与 JQuery 相关的依赖地狱。在这种情况下,只需要耐心等待。

然后,为了使一切正常,需要进行多达 29 次补丁迭代。Benjamin 非常有耐心,并解决了 Horizon 核心团队提出的所有建议,最终取得了这一成果。

所有这些都只有因为存在一种经过验证的将补丁合并到上游 OpenStack 的方法,并且该方法被仔细遵循。必须确保补丁中包含:

  • 正确的文档
  • 发行说明 
  • 一些有意义的单元或功能测试

在功能完成方面,Benjamin 简化了 OTP 功能的激活,默认情况下该功能处于关闭状态,以允许更平滑的升级。在获得更多反馈后,它可以被实现到 Horizon 的默认配置中。仍然有贡献的空间。Horizon 可以添加一个功能,允许管理员使用 Horizon 为用户激活 TOTP。即使任何人都可以贡献此功能,Infomaniak 也不计划这样做,因为自动化任务是在他们自己的 Web 界面中完成的,使用 Keystone API(通过 openstacksdk)。 

要启用 TOTP,以下是一些指导和文档

我们欢迎 OpenStack 运营商和开发人员社区继续我们在这里开始的工作,以继续优先考虑所有 OpenStack Horizon 用户的安全性!  

感谢为 OpenStack 2023.2, Bobcat 构建、审查和合并此功能的 OpenStack 贡献者

  • NEC Corporation 印度公司的技术负责人 Vishal Manchanda 非常乐于助人,并在补丁审查中写了许多评论。
  • Red Hat 波兰的软件工程师 Radomir Dopieralskim 也帮助审查了补丁。
  • Infomaniak 的 SRE Benjamin Lasseye 是补丁的主要作者。
  • Infomaniak 的高级 OpenStack 管理员 Thomas Goirand 兼 Debian 包维护者,自 2011 年以来一直维护 OpenStack,他为 Benjamin 提供了建议并帮助他将补丁调整到足够好的状态,以便可以合并。

关于 Infomaniak:
Infomaniak 自 2014 年以来一直在生产中使用 OpenStack,首先提供 VM 服务,他们至今仍在提供。Infomaniak 现在运营一个适度的 大型公共云集群(10k 物理核心,超过 1PB NVMe Ceph 存储,为大约 4k 个 VM 提供支持)。Infomaniak 还提供市场上最好的定价,运行在最新的硬件上(AMD Epyc 和 Gen 4 NVMe)。所有内容都使用免费软件设置和维护,包括 集群管理工具Ceilometer 的计费附加组件,或一些 Designate 工具。所有这些都上传到 Debian(由于 Thomas Goirand 自 2011 年以来一直在 Debian 中维护 OpenStack)。这项公共云服务已经运行两年了,Infomaniak 目前正在致力于设置第二个区域,该区域即将开放用于生产(希望在 2024 年初完成),使用更先进的硬件(AMD EPYC Genoa、PCI 5、DDR5 等)。

了解更多关于 OpenStack Bobcat 的信息,OpenStack 第 28 个版本于 2023 年 10 月 4 日发布。

标签:

发表评论

您的电子邮件地址将不会被公开。 必填字段已标记 *