IBM Cloud Docs
实施网络安全组,确保三层网络架构工作负载的安全 Power Virtual Server

实施网络安全组,确保三层网络架构工作负载的安全 Power Virtual Server


IBM Power Virtual Server 于 IBM 数据中心


本主题借助插图和示例介绍网络安全组(NSG)的架构概述,并解释 NSG 如何在 Power Edge Router (PER) 和支持 CRN 的增强型 IBM® Power® Virtual Server 工作区中工作。 网络安全组(NSG)用于定义安全规则,以允许或拒绝与 Power Virtual Server 工作区中配置的资源相关的特定网络流量。 有关 NSG 及其核心组件的更多信息,请参阅 网络安全组

在 Power Virtual Server 工作区运行三层网络应用程序通常需要一个包含以下组件的网络:

  • 虚拟私有云 (VPC) 中的应用负载平衡器 (ALB)
  • 多个虚拟服务器实例,如网络服务器、应用服务器和数据库 (DB) 服务器
  • 跳转主机进行管理访问
  • 跨 Power Virtual Server 工作区复制数据库
  • 私人端点,如域名系统(DNS)和 Secrets Manager

网络的高层结构

下图提供了 Power Virtual Server 环境中示例网络的高级架构视图,并说明了各种子网和组件的连接方式。 图中包括不同的虚拟机(VM),如网络服务器、数据库服务器和应用服务器。 网络还包括子网范围、跳转主机、中转网关和专用端点(DNS 和 Secrets Manager )等组件。

高级别网络架构
高级别网络架构

下表解释了高层网络架构图中描述的网络组件:

网络组件
组件 描述
Transit Gateway (TGW) 连接 VPC 和 Power Virtual Server 工作区。 中转网关可实现不同子网和区域之间安全高效的通信。 有关中转网关的更多信息,请参阅 关于 IBM Cloud Transit Gateway
Z1 Power Virtual Server 工作区,其中包含用于生产工作负载的网络服务器(虚拟机)、应用服务器 ( ) 和数据库服务器 ( )。VM2VM3
Z2 Power Virtual Server 工作区,其中包含另一个数据库服务器 ( ),用于数据库复制和灾难恢复 (DR)。VM4
应用程序负载均衡器 (ALB) 在多个网络服务器实例之间分配传入的网络流量,以平衡负载,提供高可用性和高性能。 ALB 位于虚拟私有云 (VPC) 10.10.10.0/24 子网中。 更多信息,请参阅 关于应用程序负载平衡器
跳转主机 ( VM1 ) 提供对 Power Virtual Server 资源的安全管理和行政访问。 跳跃宿主也被称为堡垒宿主。 跳转主机位于 VPC 内的 10.10.11.0/24 子网。
网络服务器( Z1 Workspace 中的虚拟机) 管理传入的 HTTP 或 HTTPS 网络请求。 网络服务器(虚拟机)托管在 Z1 Workspace 的 10.10.20.0/24 子网中。
应用程序服务器 ( VM2 in Z1 Workspace) 运行应用程序工作负载,并与网络服务器(虚拟机)和数据库服务器 ( VM3 ) 通信。 应用服务器 ( VM2 ) 与网络服务器 (10.10.20.0/24) 位于同一子网。
DB 服务器 ( VM3 in Z1 Workspace) 充当数据库服务器,存储应用程序数据。 DB Sever ( VM3 ) 位于 Z1 工作区的 10.10.21.0/24 子网中。 该数据库服务器实例与网络服务器(虚拟机)和应用服务器( VM2 )隔离。
DB 服务器 ( VM4 in Z2 Workspace) 在 Z1 工作区中充当数据库服务器 ( VM3 ) 的副本。 DB 服务器 ( VM4 ) 位于 Z2 工作区的 10.10.30.0/24 子网中。 工作区之间的数据库复制有助于确保冗余和高可用性。
DNS(专用端点) 用作网络中的专用端点。 DNS 在云环境中安全地提供内部域名解析,并托管在 161.26.0.0/16 子网中。
Secrets Manager ( Private Endpoint) IaaS 用作 IaaS 专用端点,可安全地存储和管理 API 密钥和登录凭证等敏感数据。 Secrets Manager 托管在 166.8.0.0/14 子网中。 更多信息,请参见 IBM Cloud Secrets Manager.

网络地址组和 CIDR 成员

下表列出了本主题中用作示例的网络地址组 (NAG) 和相关的无类别域间路由 (CIDR) 成员。 NAG 使用逻辑组而不是单个 IP,从而简化了 NSG 规则的实施。 有关 NAG 的更多信息,请参阅 网络地址组

国家咨询小组和国际发展研究中心成员
国家咨询组 CIDR 成员
ALB(负载平衡器) 10.10.10.0/24
MGMT(管理学) 10.10.11.0/24
REPL(复制) 10.10.30.0/24
IBM (云服务) 161.26.0.0/16166.8.0.0/14

网络地址组和网络安全组布局

下图说明了 NAG 和 NSG 的布局以及流量在网络中的流动方式。

NAG 和 NSG 布局
NAG 和 NSG 布局

下表列出了 NAG 和 NSG 布局图中使用的 NAG 和 NSG,并解释了布局图中每个组件的用途:

NAG 和 NSG 布局
NAG/NSG 关联组件 用途
ALB NAG ALB (10.10.10.0/24) 包含 ALB,并确保 ALB 可以与 WEB NSG 中的网络服务器(虚拟机)通信。
MGMT NAG 跳转主机 (10.10.11.0/24) 包含跳转主机 ( VM1 ) 并控制对生产 ( Z1 ) 和灾难恢复 ( Z2 ) 工作区组件的 SSH 访问。
REPL NAG DR DB 服务器 (10.10.30.0/24) 包含灾难恢复数据库服务器 ( VM4 ) 并允许从 DB NSG 中的数据库服务器 ( VM3 ) 复制 MySQL。
IBM NAG DNS (161.26.0.0/16) 和 Secrets Manager (166.8.0.0/14) 专用端点 包含 DNS 和 Secrets Manager 专用端点,允许 DNS 和 HTTPS 流量。
WEB NSG 网络服务器 (10.10.20.0/24) 对网络服务器 (VM) 进行分组,以应用允许来自 ALB 的 HTTP 流量并启用到 APP NSG 中应用服务器 ( VM2 ) 的出站 HTTPS 流量的规则。
APP NSG 应用程序服务器 (10.10.20.0/24) 组应用服务器 ( VM2 ) 应用规则,允许来自 WEB NSG 的 HTTP 流量和 DB NSG 中数据库服务器 ( VM3 ) 的 MySQL 流量。
DB NSG DB 服务器 (10.10.21.0/24) 对数据库服务器 ( VM3 ) 进行分组,以应用允许来自 APP NSG 中应用服务器 ( VM2 ) 的 MySQL 流量和启用到 REPL NAG 中灾难恢复数据库服务器 ( VM4 ) 的复制流量的规则。

跨网络组件的流量

下表概述了使用不同协议的各网络组件之间的预期流量及其用途,如 NAG 和 NSG 布局图所示。

跨网络组件的流量
目标 协议 用途
ALB 网络服务器(虚拟机) HTTP 将传入的 HTTP 流量分配和路由到网络服务器(虚拟机)。
跳转主机 ( VM1 ) 网络服务器(虚拟机) SSH 控制对生产 ( Z1 ) 和灾难恢复 ( Z2 ) 工作区组件的 SSH 访问。
网络服务器(虚拟机) 应用程序服务器 ( VM2 ) HTTP 将 HTTP 请求发送到应用程序服务器 ( VM2 ) 进行进一步处理。
应用程序服务器 ( VM2 ) DB 服务器 ( VM3 ) MySQL 允许数据库操作所需的流量。 应用程序服务器 ( VM2 ) 查询数据库服务器 ( VM3 ) 以存储或检索数据。
DB 服务器 ( VM3 ) DB 服务器 (DR) ( VM4 ) MySQL 允许数据库服务器 ( VM3 ) 和其他数据库服务器 ( VM4 ) 之间的数据复制流量,以实现灾难恢复和冗余。
网络服务器(虚拟机)
应用程序服务器 (VM2)
DB 服务器 (VM3)
DNS 专用端点 DNS 为内部和外部通信解析域名。
网络服务器(虚拟机)
应用程序服务器 (VM2)
DB 服务器 (VM3)
Secrets Manager 私人端点 HTTPS 存储和管理敏感数据,如应用程序接口密钥和登录凭证。

有关在 Power Virtual Server 工作区中实施 NSG 时如何处理网络流量和安全规则并确定其优先级的更多信息,请参阅 NSG 中的网络流量规则和优先级

为网络服务器定义 NSG 规则

本节概述了可在 NSG 中定义的规则,以控制允许或拒绝哪些流量进入 Web 服务器。 请考虑下列要求:

  • 拒绝其他网络服务器之间的 SSH 流量。
  • 允许从 ALB HTTP。
  • 允许从跳转主机访问 SSH。
  • 允许来自网络服务器的所有流量。
  • 允许从 IBM 解析器返回 DNS 数据包。
  • 允许从 Secrets Manager 返回 HTTPS 数据包。
  • 允许从应用服务器返回 HTTP 数据包。
  • 定义一条隐式拒绝规则,限制所有其他未指定的流量。

根据这些要求,您可以创建 NSG 并通过以下配置定义安全规则。 下表中的每一行代表一条单独的安全规则。

网络服务器的 NSG 规则
rule 操作 协议 远程 目标 标志
拒绝其他网络服务器之间的 SSH 连接 拒绝 TCP WEB NSG 1-65535 22-22
允许从 ALB HTTP 允许 TCP ALB NAG 1-65535 80
允许从跳转主机使用 SSH 允许 TCP MGMT NAG 1-65535 22-22
允许来自其他网络服务器的所有流量 允许 任意 WEB NSG
允许从 IBM 解析器返回 DNS 数据包 允许 UDP IBM NAG 53 1-65535
HTTPS 允许从 Secrets Manager 允许 TCP IBM NAG 443-443 1-65535 ACK,FIN
允许从应用服务器返回 HTTP 数据包 允许 TCP APP NSG 80-80 1-65535 ACK,FIN
隐性否认 拒绝 任意 任意

为应用服务器定义 NSG 规则

本节概述了可在 NSG 中定义的规则,以控制允许或拒绝应用服务器访问的流量。 请考虑下列要求:

  • 允许来自网络服务器的 HTTP 流量。
  • 允许从跳转主机使用 SSH。
  • 允许来自其他应用服务器的所有流量。
  • 允许从 IBM 解析器返回 DNS 数据包。
  • 允许从 Secrets Manager 返回 HTTPS 数据包。
  • 允许从数据库服务器返回数据包。
  • 定义一条隐式拒绝规则,限制所有其他未指定的流量。

根据这些要求,您可以创建 NSG 并通过以下配置定义安全规则。 下表中的每一行代表一条单独的安全规则。

应用服务器的 NSG 规则
rule 操作 协议 远程 目标 标志
允许从网络服务器 HTTP 允许 TCP WEB NSB 1-65535 80
允许从跳转主机使用 SSH 允许 TCP MGMT NAG 1-65535 22-22
允许来自其他应用服务器的所有流量 允许 任意 APP NSG
允许从 IBM 解析器返回 DNS 数据包 允许 UDP IBM NAG 53 1-65535
HTTPS 允许从 Secrets Manager 允许 TCP IBM NAG 443-443 1-65535 ACK,FIN
允许从数据库服务器返回数据包 允许 TCP DB NSG 80-80 1-65535 ACK,FIN
隐性否认 拒绝 任意 任意

为数据库服务器定义 NSG 规则

本节概述了可在 NSG 中定义的规则,以控制允许或拒绝进入数据库服务器的流量。 请考虑下列要求:

  • 允许来自应用服务器的 MySQL 流量。
  • 允许来自跳转主机的 SSH 流量。
  • 允许来自其他数据库服务器的所有流量。
  • 允许从 IBM 解析器返回 DNS 数据包。
  • 允许从 Secrets Manager 返回 HTTPS 数据包。
  • 允许从复制服务器返回数据库数据包。
  • 定义一条隐式拒绝规则,限制所有其他未指定的流量。

根据这些要求,您可以创建 NSG 并通过以下配置定义安全规则。 下表中的每一行代表一条单独的安全规则。

数据库服务器的 NSG 规则
rule 操作 协议 远程 目标 标志
允许从应用服务器 MySQL 允许 TCP APP NSG 1-65535 3306-3306
允许从跳转主机使用 SSH 允许 TCP MGMT NAG 1-65535 22-22
允许来自其他数据库服务器的所有流量 允许 任意 DB NSG
允许从 IBM 解析器返回 DNS 数据包 允许 UDP IBM NAG 53 1-65535
HTTPS 允许从 Secrets Manager 允许 TCP IBM NAG 443-443 1-65535 ACK、FIN
允许从复制服务器返回数据库数据包 允许 TCP REPL NAG 3306-3306 1-65535 ACK、FIN
隐性否认 拒绝 任意 任意

有关设置、配置和管理 NSG 的更多信息,请参阅 在工作区中设置网络安全组