在 Oracle Cloud Infrastructure 上实施网络恢复解决方案
随着全球不断发生恶意软件和勒索软件攻击,网络安全已成为日益关键的主题。对于关键任务数据库,导致数据丢失和系统停机的此类攻击在收入、运营、声誉甚至处罚方面可能对整个企业产生巨大的影响。
您可以实施一个解决方案,通过创建和存储不可变备份来保护 Oracle Cloud Infrastructure (OCI) 上托管的 Oracle 应用程序免受网络攻击。如果发生网络攻击(例如勒索软件加密攻击),不可变备份可用于将 Oracle 应用程序恢复到以前的状态,从而尽可能减少业务操作中断。
体系结构
此参考架构展示了如何实施 OCI 上部署的自动化备份和恢复解决方案。
Oracle E-Business Suite 应用程序 (EBS) 用作此解决方案的示例,但您可以轻松将其用于其他 Oracle 应用程序。
下图说明了此参考体系结构。
oci-cyber-recovery-arch-oracle.zip
- 要部署此引用体系结构,请创建一个新的 OCI 租户(名为网络恢复租户)来存储备份的不可变副本。
- 网络恢复租户将提供一个平台,以便在网络攻击时安全地测试和恢复系统。
- 网络恢复租户将从生产网络“空闲”状态,仅允许在网络恢复调用或定期测试期间进行入站连接。
- OCI 网络恢复租户在访问管理方面会有所不同,无需与 Active Directory 集成。复制到 OCI 网络恢复租户的所有数据都将在租户内启动,并通过 OCI 的网络干线进行复制,以确保完全安全。
- 根据定义的备份计划,将所有生产实体(数据库、服务器、文件存储等)备份到生产租户内的一组网络恢复对象存储桶。
- 网络恢复对象存储桶必须设置其保留和生命周期策略来满足您的要求(例如,将有一个具有自己的保留策略的每日周期存储桶)。
- 网络恢复对象存储桶必须设置权限,以便可以通过从网络恢复租户启动的同步脚本读取它们。
- 根据需要使用其他备份解决方案来重新处理现有生产备份。
- 生产租户中应部署不同的存储技术,每个存储技术都具有不同的技术解决方案,但遵循创建网络恢复数据集的逻辑顺序。
- 网络恢复租户的 CRS 区间中的同步脚本将定期运行(例如,备份时段内每 15 分钟运行一次)。
- 应用管理策略,以便允许访问生产租户。
- 将生产网络恢复对象存储桶中标识的任何新对象复制到等效的网络恢复租户对象存储桶中。
- 禁用管理策略以阻止访问生产租户。
- 数据将通过 OCI 的网络干线复制到网络恢复租户,并且所有入站访问都限制为 OCI 控制台访问。
- 对象与网络恢复租户同步后,其生命周期不再与其等效生产环境关联。例如,在不太可能发生的情况(例如,生命周期策略不匹配)中,将删除生产备份对象,这不会导致删除网络恢复租户备份对象。
- 网络恢复对象存储桶将放置在具有安全区域策略的 CRS 区间中,以防止对它进行未经授权的更改。
- 设置网络恢复租户对象存储桶的权限,使其只能由租户中的授权用户读取(必须设置权限,以便只有同步脚本才能写入该存储桶)。
- 在 Cyber Recovery 对象存储桶中设置保留策略,以管理要删除的对象生命周期(例如,对象在 15 天后将被删除)和归档(例如,10 天内的归档对象)。
- 在 Cyber Recovery 对象存储桶中创建新对象时,将对其进行病毒扫描,并检查其 sha2/数字签名以确保备份文件未被篡改。考虑对数据库备份执行 sha2/数字签名检查,具体取决于解决方案的备份大小和恢复点目标 (Recovery point objective,RTO)/恢复时间目标 (Recovery time target,RTO)。
注:
您可以使用 Terraform 脚本、Ansible 手册、Shell 和 RMAN 脚本自动执行大部分流程,这些脚本在此参考体系结构的 部署 部分中进行了介绍。下图说明了网络恢复租户的部署拓扑样例。
图 oci_cyber_recovery_deploy.png
oci-cyber-recovery-deploy-oracle.zip
在此示例中,我们在 EBS_BlueRoom 和 EBS_RedRoom 中使用与生产应用程序 VCN 相同的 IP 范围。选择此方法后,可以在 EBS_RedRoom 中对备份进行自动测试,所需更改极少。这指示网络设计,其中 EBS_BlueRoom VCN 和 EBS_RedRoom VCN 无法同时连接到 DRG。
可以考虑将租户所有权分离为:
- 支持网络恢复租户(无法访问生产租户)的专用团队。
和
- 生产应用程序支持团队在季度应用程序测试期间只能访问红色客房区间。此团队可以从公司内部部署网络访问 CRS 网络。
该体系结构包含以下组件:
- 租户
租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在租户中的 Oracle Cloud 中创建、组织和管理资源。租户与公司或组织同义。通常,公司只有一个租户并反映在该租户中的组织结构。单个租户通常与单个订阅关联,单个订阅通常只有一个租户。
- 区域
Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。
- 区间
区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定哪些人可以访问资源以及他们可以执行的操作。
用户(包括本地和联合用户)将添加到一个或多个组,这些组又附加到用于控制每个区间对 OCI 资产的访问的 IAM 策略。
通过区间,可以组织和隔离 Oracle Cloud Infrastructure 租户中的资源。他们将在为将新工作负载部署到租户奠定基础方面发挥重要作用。虽然它们似乎具有 OCI 资源逻辑分组的性质,但它们充当策略实施点,因此它们对于租户的安全性至关重要。
可以根据功能、操作或项目层次结构部署区间。这样可以保持不同角色、函数和组织层次结构的资源之间的隔离。根据要求,区间层次结构最多可以具有 6 个级别。访问控制由策略定义。
每个区间应具有分配给相关组的特定权限。一般来说,用户无法将权限提升到其他区间。网络恢复租户中将使用以下区间层次来区分应用程序和环境。
- 可用性域
可用性域是区域中的独立独立数据中心。每个可用性域中的物理资源与提供容错能力的其他可用性域中的资源隔离。可用性域不共享基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 故障域
故障域是可用性域内一组硬件和基础设施。每个可用性域都具有三个具有独立电源和硬件的容错域。在多个容错域中分配资源时,您的应用可以承受容错域中的物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的流量源、目标和类型。
- 云卫士
您可以使用 Oracle Cloud Guard 监视和维护 Oracle Cloud Infrastructure 中资源的安全性。Cloud Guard 使用您可以定义的部门配方来检查资源是否存在安全漏洞,以及监视操作员和用户是否有风险的活动。检测到任何配置错误或不安全活动时,Cloud Guard 会根据您可以定义的对应方配方建议更正操作并帮助执行这些操作。
- 对象存储
通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及丰富的内容(例如图像和视频)。您可以安全可靠地存储数据,然后直接从互联网或云平台检索数据。您可以无缝扩展存储,而不会降低性能或服务可靠性。将标准存储用于“热”存储,您需要快速、立即和频繁地访问这些存储。将归档存储用于保留很长时间、很少或很少访问的“冷”存储。
- FastConnect
Oracle Cloud Infrastructure FastConnect 提供了在数据中心与 Oracle Cloud Infrastructure 之间创建专用专用连接的简单方法。FastConnect 与基于 Internet 的连接相比,提供更高的带宽选项和更可靠的网络体验。
- Local peering 网关 (LPG)
使用 LPG,可以将一个 VCN 与同一区域中的另一个 VCN 对等。对等连接意味着 VCN 使用专用 IP 地址进行通信,而不会产生通过互联网或通过内部部署网络进行路由的流量。
- Exadata DB 系统
Oracle Exadata Database Service 可让您利用云端 Exadata 的强大功能。您可以预配灵活的 X8M 系统,以便根据需要不断增加将数据库计算服务器和存储服务器添加到系统中。X8M 系统提供 RoCE(RDMA over Converged Ethernet,基于融合以太网的 RDMA)网络,可用于实现高带宽和低延迟、持久性内存 (PMEM) 模块以及智能 Exadata 软件。可以使用等效于四分之一机架 X8 系统的配置预配 X8M 系统,然后在预配后随时添加数据库和存储服务器。
建议
- VCN
创建 VCN 时,根据计划附加到 VCN 中的子网中的资源数,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择与您打算设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、您的内部部署数据中心或其他云提供商中)不重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑您的流量流和安全要求。将特定层或角色中的所有资源连接到可充当安全边界的同一子网。
- 安全性
生产 EBS 和 SOA 系统托管在客户管理的 OCI 区间中,客户共享的安全状况。其目的是在网络恢复租户中复制环境的安全状况,包括安全列表和网络拓扑。网络恢复租户中的访问管理与生产租户不同,没有与客户的 Active Directory 解决方案集成的 IAM。
干净的房间,蓝色和红色将受到限制,所有入站都将通过专用于该角色的堡垒/跳转服务器进行路由。此访问权限仅在测试时段内启用,并且将在红色房间完成测试后删除,而蓝色房间可以每天访问。进入蓝色的房间将仅限于指定的网络恢复托管服务合作伙伴,而访问红色的房间将仅限于指定的托管服务合作伙伴和关键员工。
通过连接到网络恢复租户的 IPsec/VPN 隧道的入站访问将每天提供给蓝色房间,而正常操作期间将完全阻止访问红色房间,并且仅在红色的房间测试活动期间才会打开预定义的 IP 地址。
从网络恢复租户通过 IPsec/VPN 隧道的出站访问将被完全阻止。只有在备份文件同步期间才能从网络恢复租户访问生产租户,在这些时段之外,删除策略将阻止此访问。网络恢复租户不会有入站或出站互联网访问。
- 云卫士
克隆并定制 Oracle 提供的默认配方以创建定制检测器和响应器配方。通过这些配方,您可以指定哪种类型的安全违规生成警告以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为 public 的对象存储桶。
在租户级别应用 Cloud Guard 以涵盖范围最广,并减轻维护多个配置的管理负担。
您还可以使用“托管列表”功能将某些配置应用于检测器。
- 网络安全组 (NSG)
您可以使用 NSG 定义一组适用于特定 VNIC 的入站和出站规则。我们建议使用 NSG,而不是安全列表,因为 NSG 可以将 VCN 的子网架构与应用的安全要求分开。
- 负载平衡器带宽
创建负载平衡器时,您可以选择提供固定带宽的预定义配置,或者指定在其中设置带宽范围的定制(灵活)配置,并让服务根据流量模式自动缩放带宽。无论使用哪种方法,都可以在创建负载平衡器后随时更改配置。
考虑事项
部署此引用体系结构时,请考虑以下几点。
- 性能
对象存储传输:生产数据库和计算备份的大小可能很大。测试在租户之间传输每日备份所需的时间。考虑在与生产租户相同的 OCI 区域中部署 CRS 租户,以获得最佳数据传输性能。
CRS 租户中的反病毒和签名扫描:作为 CRS 进程的一部分,可以包括对备份文件的反病毒和签名扫描。应该在编排服务器上提供足够的资源,以便及时完成扫描。
- 安全性
配置 Oracle Cloud Guard/最大安全区域以监视对象存储策略是否已到位并匹配网络恢复安全态势,以确保阻止任何更改此策略的尝试。
还应实施其他安全措施来保护云环境和备份解决方案免受潜在攻击。
- 可用性
此解决方案可以部署在任何 OCI 区域中。通过部署冗余编排和堡垒服务器,可以实现高可用性。
- 成本
在估计成本时,请考虑以下要素:
- 对象存储:该解决方案假定生产环境的每日数据库和块存储卷备份存储多天。
- 计算成本:测试备份需要启动计算和数据库资源。
- 软件许可证费用:如果包括应用程序测试,则必须为将在测试期间启动的应用程序服务获取相应的软件许可证。
部署
可以通过从 GitHub 下载代码并根据特定要求对其进行定制来部署此引用体系结构。
- 设置 OCI CIS 登录区域。有关详细信息,请参阅 部署符合 Oracle Cloud CIS 基础基准的安全登录区域 链接的浏览更多部分。
- 在生产租户和网络恢复租户中预配两个 VM 作为业务流程服务器来执行脚本。
- 转到 GitHub 。
- 将生产脚本(Ansible 脚本)从存储库克隆到生产编排服务器。
- 将网络恢复脚本(Ansible、Terraform 和 Shell 脚本)从存储库克隆到网络恢复租户编排服务器。
- 按照
README
文档中的说明执行备份脚本(生产租户)、同步和恢复(网络恢复租户)。