使用堡垒服务访问专用子网中的资源
Oracle Cloud Infrastructure Bastion 提供对没有公共端点的资源的专用、有时限的 SSH 访问。
堡垒是网关或代理。它们是逻辑实体,可提供对云中资源的安全访问,而您无法通过互联网访问这些资源。堡垒位于公共子网中,并建立将用户连接到专用子网中的资源所需的网络基础结构。OCI Bastion 是一种基础设施服务,可以取代您在 Oracle Cloud Infrastructure (OCI) 中创建的堡垒服务器。
通过与 Oracle Cloud Infrastructure Identity and Access Management (IAM) 集成,您可以控制堡垒服务中可以管理堡垒或会话的人员。通过与 Oracle Cloud Infrastructure Audit 集成,您可以监视与堡垒服务和堡垒会话相关的管理操作。
体系结构
此体系结构显示了连接到专用子网的两种方式:一种方式是通过中介目标子网进行连接,另一种方式是直接连接到包含受保护资源的子网。
使用 OCI Bastion 时,您可以指定无类域间路由 (CIDR) 块允许列表和最大会话生存时间 (TTL)。OCI 堡垒通过反向连接在堡垒 VCN 和客户 VCN 之间创建网络路径。会话通常由用户或操作员创建。
下图说明了此参考体系结构。

插图 architecture-use-bastion-service.png 的说明
该体系结构包含以下组件:
- OCI 地区
OCI 区域是一个本地化的地理区域,其中包含一个或多个托管可用性域的数据中心。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。
- 可用性域
可用性域是区域中独立的数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响该区域中的其他可用性域。
- 容错域
容错域是可用性域内的一组硬件和基础设施。每个可用性域都具有三个具有独立电源和硬件的容错域。在多个容错域之间分配资源时,您的应用可以容忍容错域内的物理服务器故障、系统维护和电源故障。
- 虚拟云技术网络 (VCN) 和子网
虚拟云网络 (VCN) 是您可以在 OCI 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您控制网络环境。一个 VCN 可以具有多个不重叠的无类域间路由 (classless inter-domain routing,CIDR) 块,在创建 VCN 后可以更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定为某个区域或某个可用性域。每个子网由一系列不与 VCN 中的其他子网重叠的连续地址组成。您可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- OCI 堡垒
Oracle Cloud Infrastructure Bastion 提供对没有公共端点且需要严格资源访问控制的资源(例如裸金属和虚拟机)、Oracle MySQL Database Service 、 Autonomous Transaction Processing (ATP)、Oracle Cloud Infrastructure Kubernetes Engine ( OKE ) 以及允许安全 Shell 协议 (SSH) 访问的任何其他资源的限制性和时间限制的安全访问。借助 OCI Bastion 服务,您无需部署和维护跳转主机即可访问专用主机。此外,您还可以获得基于身份的权限和集中、经过审计且有时限的 SSH 会话,从而改善安全状况。OCI Bastion 消除了对公共 IP 进行堡垒访问的需求,消除了提供远程访问时的麻烦和潜在攻击面。
- 堡垒服务后端
Oracle Cloud Infrastructure Bastion 后端存储会话配置和用于授予对目标系统的访问权限的 SSH 公钥。目标系统在需要时使用服务网关访问 OCI 堡垒后端。
- 专用端点
专用端点将 OCI 堡垒连接到目标子网。目标子网可以是用于实现更细粒度控制的单独子网,也可以位于要访问的实例的同一子网中。
推荐
您的要求可能与此处描述的体系结构不同。使用以下建议作为起点。
- VCN
创建 VCN 时,根据您计划附加到 VCN 中的子网的资源数,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、内部部署数据中心或其他云提供商中)不重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到同一子网,该子网可以用作安全边界。
使用区域子网。
请注意,预配的每个堡垒都会从目标子网获取两个 IP 地址。根据要针对特定子网预配的堡垒数选择 CIDR 块。例如,如果您有一个具有 /30 CIDR 的子网,则表示您有两个可用的地址,如果在该 CIDR 中,您有一个目标资源,则您没有足够的地址来预配堡垒。在这种情况下,堡垒预配将失败。我们建议目标子网的范围大于 /29。
- Cloud Guard
克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定生成警告的安全违规类型以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为公共的 OCI Object Storage 存储桶。
在租户级别应用 Oracle Cloud Guard ,以涵盖最广泛的范围,并减轻维护多个配置的管理负担。
还可以使用“托管列表”功能将某些配置应用于检测器。
- 安全区域
对于需要最大安全性的资源,Oracle 建议您使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,不能从公共 Internet 访问安全区域中的资源,并且必须使用客户管理的密钥对其进行加密。在安全区域中创建和更新资源时,OCI 将根据配方中的策略验证操作,并防止违反任何策略的操作。
- OCI 堡垒
在堡垒级别指定生存时间 (Time-to-Live,TTL) 可确保在该堡垒上下文中创建的任何会话都不会比堡垒本身具有更长的 TTL。将 TTL 设置为您的用例的最小限制。最小值为 30 分钟,最大值为 3 小时。TTL 也可以在会话级别进行配置。
对于您的方案,用于允许列表的 CIDR 块应尽可能窄。这允许您限制可以访问专用目标资源的 SSH 连接的 IP 地址范围。
考虑与 OCI Bastion 关联的目标子网大小以及所需的堡垒实例数。每个 OCI Bastion 实例都具有 2 个 IP 地址。因此,最好有 /29 范围(至少),以便它有 6 个可用的 IP 地址。/30 将有 2 个 IP 地址,但如果将来您希望堡垒的第二个实例指向同一子网,您将无法创建它。目标子网可以是目标资源所在的子网,也可以是目标 VCN 中的其他子网。
安全策略建议:
- 具有目标资源的子网上的入站规则应只允许来自一个 IP 地址(即堡垒的专用端点 IP)的传入 TCP 流量。
- 指定目标上的确切端口,例如 22 for Linux、3389 for windows、33060 for MySql 等。不要将 ALL 用于端口。
对管理员和操作员方案使用特定的 IAM 策略。
注意事项
- 区域
Oracle Cloud Infrastructure Bastion 是一项区域性服务。例如,必须在 PHX 区域中创建堡垒,才能访问 PHX 区域中的资源。一个区域中的堡垒不能用于访问另一个区域中的资源。
- 性能
OCI 堡垒创建应在 SLO 内(在请求创建后 2 分钟内)。会话创建/终止应在 SLO 中。端口转发为 1 分钟(出现紧急情况),托管 SSH 会话为 3 分钟(正常使用)。
- 安全
来自 OCI Bastion 的流量来自子网上的专用端点。为了允许来自堡垒的流量,允许从此专用端点到需要使用堡垒访问的 IP 的入站和出站流量。限制对部分实例的访问的细粒度策略有助于确保适当的访问级别。
- 可用性
该服务应提供高可用性来创建/终止堡垒和会话(基于 API 错误率)。目标可用性为 99.9%。
- 成本
使用 OCI 堡垒无需任何费用。每个租户每个区域最多可以创建五个堡垒。每个堡垒为 VCN 中的目标资源提供服务。
- 使用情况
如果您希望访问运行 OCI 本机映像或基于 Linux 且运行 OCA v2 代理(其中启用了堡垒插件)的专用目标主机,则可以使用托管 SSH 会话。如果您希望访问未运行代理、基于 Windows 或需要访问数据库(ATP 或 MySQL)的专用目标资源,则可以使用端口转发 SSH 会话。