OSSN/OSSN-0049
Nova ironic驱动在调试模式下记录敏感信息
总结
Nova中ironic驱动器的密码和认证令牌配置选项未标记为机密。当控制器在调试模式下运行时,这些选项的值将被记录到标准的日志输出中。
受影响的服务 / 软件
Nova, Ironic, Juno, Kilo
讨论
在使用nova和ironic驱动器时,操作员需要为ironic管理员用户的keystone凭据指定密码或认证令牌。在正常情况下这不成问题,但当API服务器的日志级别设置为包含DEBUG消息级别时,这些凭据将在日志中暴露。
配置值的日志记录由任何oslo配置选项的`secret`标志控制。如果没有设置此标志,配置选项的值将显示在日志中。在ironic凭据的情况下,这些选项未标记为机密。
这给任何可能为了调试或扩展日志收集而提高日志详细程度的操作员带来了挑战。根据权限和日志存储位置,这些值可能会被入侵者读取,从而访问ironic API服务器的管理功能。此外,它们还可以与OpenStack Identity功能结合使用,根据管理帐户访问范围颁发新的认证令牌或执行进一步的恶意活动(例如,修改帐户权限)。
所有在`ironic`部分定义了`admin_password`或`admin_auth_token`选项的值,并且在配置文件的`DEFAULT`部分将`debug=true`的nova安装都将受到此问题的影响。
建议的操作
截至nova的Liberty-1版本,此问题已得到解决。它也已回溯到Kilo和Juno稳定版本,预计分别在2015.1.1和2014.2.4标签中提供。
在可能的情况下,nova部署应更新到以下版本之一:Liberty-1、2015.1.1 (Kilo) 或 2014.2.4 (Juno)。
如果更新nova部署不可行,操作员应在不需要时关闭调试日志级别,并确保从这些调试会话生成的日志文件存储安全。要禁用调试日志级别,应编辑nova配置文件如下
[DEFAULT] debug = False
联系方式 / 参考文献
- 作者:Michael McCune, Red Hat
- 此OSSN:https://wiki.openstack.org/wiki/OSSN/OSSN-0049
- 原始LaunchPad Bug:https://bugs.launchpad.net/nova/+bug/1451931
- OpenStack Security ML:openstack-security@lists.openstack.org
- OpenStack Security Group:https://launchpad.net/~openstack-ossg
- Oslo Config 特殊处理说明:https://docs.openstack.org/developer/oslo.config/cfg.html#special-handling-instructions