OSSN/OSSN-0034
< OSSN
重启 memcached 会丢失已撤销的令牌列表
总结
当使用 Memcached 作为 Keystone 令牌后端部署云环境时,存在安全隐患:重启 Memcached 会丢失已撤销的令牌列表,可能导致在令牌已被撤销后,恶意令牌/用户仍然可以访问系统。
受影响的服务 / 软件
Keystone, Memcached, Havana, Icehouse, Juno
讨论
如果 Memcached 服务在撤销列表持久化到磁盘之前停止或崩溃,存储在 Memcached 中的已撤销令牌列表可能会丢失。
未来可能有一些方法来缓解此问题,例如在多台机器上运行 Memcached,以确保在 Keystone 服务器发生故障时的冗余。在集群环境中,只有当所有 Memcached 机器都关闭时才会出现问题。这需要 Memcached 后端之间的数据复制,而 Keystone 目前尚不支持此功能。
Memcachedb 也是一种潜在的缓解此问题的方法
注意: 某些部署可能会有意响应 https://bugs.launchpad.net/ossn/+bug/1179955 清空 Memcached - 在考虑如何解决此问题时,请谨慎操作。
建议的操作
将安全信息存储在易失性内存中存在根本性问题。如果您的部署具有严格的安全要求或依赖于最新的已撤销令牌信息,我们建议您考虑使用磁盘数据库,例如 MySQL / PostgreSQL,或者研究 Memcachedb。
联系方式 / 参考文献
- 作者:Robert Clark, HP
- 此 OSSN: https://wiki.openstack.org/wiki/OSSN/OSSN-0034
- 原始 LaunchPad Bug: https://bugs.launchpad.net/keystone/+bug/1182920
- OpenStack Security ML:openstack-security@lists.openstack.org
- OpenStack Security Group:https://launchpad.net/~openstack-ossg