1.2. Security Boundaries 和 Threats
为了了解云部署本身的安全风险,提取提取为具有通用功能、用户和共享安全问题的组件集合会很有帮助。威胁者和向量会按照其动机和对资源的访问进行分类。其目的是让您了解每种区域的安全顾虑,具体取决于您的目标。
1.2.1. 安全区
安全区由用户在系统中共享共同信任要求的用户、应用程序、服务器或网络组成。通常,它们共享相同的身份验证和授权要求和用户。虽然您可能进一步优化了这些区域定义,但本指南引用了以下不同的安全区域,这构成了部署安全强化的 OpenStack 云所需的最小性最小。这些安全区被列为从至少被信任到最受信任:
- public 区域 - 面向公共的 API、neutron 外部网络(用于实例外部连接的浮动 IP 和 SNAT)。
- 客户机区域 - 项目网络(VLAN 或 VXLAN)。
- Storage Access zone - Storage Management (存储监控和集群)、存储(SAN/object/block Storage)。
- 管理区 - Typically 包括 undercloud、主机操作系统、硬件和网络、Undercloud control plane ( overcloud 主机的置备/管理)、overcloud sysadmin/monitoring/backup
- admin zone - 允许通过 overcloud 进行端点访问,包括基础架构 API、DB、RPC (具体取决于 overcloud 上项目的不同 API 访问角色)。overcloud 的管理员访问权限不应要求管理对 undercloud 和硬件的访问权限。
这些安全区可以单独映射,或合并为给定 OpenStack 部署中的大多数可能信任区域。例如,一些部署拓扑可能由一个物理网络上的区组合组成,而其他拓扑则具有独立的区域。对于每个情况,您应该了解适当的安全问题。安全区应映射到特定的 OpenStack 部署拓扑。这些区域及其信任要求将因云实例是公共、私有还是混合而异。
1.2.1.1. 公共区
公共安全区是云基础架构的一个完全不受信任的区域。它可以将互联网称为整个互联网,或者简单地指您没有授权的红帽 OpenStack Platform 部署外部的网络。遍历此区域的机密性或完整性要求的任何数据都应使用补偿控制进行保护。
始终认为此区域不被信任。
1.2.1.2. 客户机区域
通常用于计算实例到实例流量,客户机安全区域负责处理云中实例生成的计算数据,但不处理支持云操作的服务,如 API 调用。
在实例上没有字符串控制的公共和私有云供应商,或者允许不受限制的互联网访问实例访问实例应该认为此区域不被信任。只有实施了正确的控件以表示实例及所有相关项目(包括底层硬件和内部网络)时,私有云供应商可能希望将此网络视为内部且可信。
1.2.1.3. 存储访问区
在此网络中传输的大部分数据都需要高级别的完整性和保密性。在某些情况下,根据部署的类型,也可能具有强大的可用性要求。
除非绝对必要,否则不应在部署外访问存储访问网络。在例外复制要求的情况下,假定此网络被假定无法从云外部访问,除存储设备之外,部署到此区域的组件应当被视为来自安全视角的敏感性。
此网络的信任级别很大程度上依赖于部署决策,因此本指南不会为该区域分配默认信任级别。
1.2.1.4. Control Plane
control plane 是服务交互的位置。此区域传输机密数据的网络,如配置参数、用户名和密码。命令和控制流量通常位于此区域中,需要强大的完整性要求。对此区域的访问应高度限制和监控。同时,此区域应该仍然采用本指南中描述的所有安全良好做法。
在大多数部署中,此区域被视为可信。但是,在考虑 OpenStack 部署时,有许多系统与其它区域桥接,可能会降低您可以在该区域上的信任级别。
1.2.1.5. 管理网络
管理网络用于系统管理、监控和/或备份,但是在没有托管 OpenStack API 或控制接口的地方。此位置是您放置用于内部和/或私有 Red Hat OpenStack Platform 部署的 PXE 网络,包括适用于 director 和 compute/storage/management 节点的任何硬件管理接口、网络设备和底层操作系统访问。