注意:

通过 OCI CLI 自动化 Oracle Data Safe 注册,简化持续数据库监视

简介

在当今复杂的威胁环境中,保持强大的 Oracle 数据库网络安全态势至关重要。持续监视是主动识别漏洞、错误配置和潜在威胁的关键,然后才能被利用。随着网络威胁变得更加复杂和有针对性,对合规性、异常活动和未经授权的访问进行定期评估变得越来越重要。

使用 Oracle Data Safe 控制台在 Oracle Data Safe 中手动注册多个数据库可能耗费大量人力和时间。此教程提供了一种简化的方法,可以在 OCI Cloud Shell 界面中使用 Oracle Cloud Infrastructure 命令行界面 (OCI CLI) 命令和脚本自动执行注册流程,从而显著减少手动操作和所需时间。

导航至区间

目标读者

目标

先决条件

任务 1:访问 OCI Cloud Shell

访问 OCI Cloud Shell 以利用其集成功能。

  1. 登录到 OCI 控制台。

    导航至区间

  2. 单击控制台标题中的 Cloud Shell/Code Editor(云 Shell/代码编辑器)图标,然后从下拉菜单中选择 Cloud Shell 。请注意,OCI Cloud Shell 启动时,在 OCI Cloud Shell 中运行的 OCI CLI 将针对控制台区域选择菜单中选择的区域执行命令。

    选择创建区间

任务 2:为目标数据库创建专用端点

Oracle Data Safe 支持使用公共或专用 IP 地址连接到 Oracle 数据库。对于具有专用 IP 地址的数据库,您可以选择两种方式:Oracle Data Safe 专用端点或 Oracle Data Safe 内部部署连接器。在本教程中,我们将重点创建用于注册 DBaaS 数据库的专用端点。

脚本名:generate_private_endpoints_and_commands_for_missing_vcns.sh

说明:此脚本标识指定 OCI 区间中缺少 Oracle Data Safe 专用端点的 VCN。它生成 CSV 文件,列出缺少的 VCN 及其关联的子网,并创建包含 OCI CLI 命令的 shell 脚本,以便为每个 VCN 创建必要的专用端点。

执行相应步骤:

  1. 提示用户输入区间 OCID。

  2. 确定缺少 Oracle Data Safe 专用端点的 VCN。

  3. 列出缺少的 VCN 及其关联的子网。

  4. 生成名为 list_vcns_without_private_endpoints.csv 的 CSV 文件,其中包含缺少 VCN 和子网的详细信息。

  5. 创建名为 create_private_endpoints_commands.sh 的 shell 脚本,其中包含 OCI CLI 命令,以便为标识的 VCN 创建专用端点。

输出样例:

选择创建区间

任务 3:以 JSON 格式生成目标数据库身份证明

在本教程中,所有目标数据库都使用单个 Oracle Data Safe 服务账户。因此,对于所有目标数据库,数据库身份证明 JSON 文件将相同。

脚本名:generate_target_db_credentials.sh

说明:此脚本提示用户输入用户名和密码,然后创建名为 Credentials_Target_DBaaS.json 的 JSON 文件,其中包含提供的身份证明。JSON 文件用于安全地存储目标数据库的用户名和密码。

执行相应步骤:

  1. 提示用户输入用户名。

  2. 提示用户输入口令。

  3. 创建一个名为 Credentials_Target_DBaaS.json 的 JSON 文件,其中包含用户名和密码。

示例脚本输出:

选择创建身份域

任务 4:生成 JSON 格式的专用端点连接选项

脚本名:generate_Connection_Options_private_endpoints.sh

说明:此脚本自动列出 OCI 区间中的 VCN、子网和 Oracle Data Safe 专用端点。它生成 CSV 文件,其中包含有关每个专用端点的详细信息(包括关联的 VCN 和子网名称),并为每个端点创建单独的 JSON 文件以定义 Oracle Data Safe 连接选项。

执行相应步骤:

  1. 提示用户输入区间 ID。

  2. 列出所有 VCN 并将输出保存到 vcn_list.txt

  3. 列出所有子网并将输出保存到 subnet_list.txt

  4. 列出所有 Oracle Data Safe 专用端点,并将输出保存到 PE_list.txt

  5. 生成名为 list_All_private_endpoints_details.csv 的 CSV 文件,其中包含有关每个专用端点的详细信息。

  6. 为每个专用端点创建 JSON 文件以指定 Oracle Data Safe 连接选项。

示例脚本输出:

选择创建身份域

任务 5:将自治数据库注册到 Oracle Data Safe

将 Oracle Autonomous Database Serverless 注册到 Secure Access from Everywhere 时,您无需选择连接选项或指定服务账户详细信息,因为默认情况下会包括这些信息。在本教程中,我们将演示如何管理和注册 Oracle Autonomous Database Serverless。

脚本名:generate_Autonomous_database_details_with_data_safe.sh

说明:此脚本自动列出 OCI 区间中的 Oracle Autonomous Databases 并检查其 Oracle Data Safe 注册状态的过程。它生成包含所有 Oracle 自治数据库详细信息的 CSV 文件,并为未注册到 Oracle Data Safe 的数据库创建 JSON 文件。此外,该脚本还为每个未注册的数据库准备 Oracle Data Safe 注册命令,并将其保存在 shell 脚本中。这样,用户可以通过运行生成的命令来快速注册未注册的数据库。

执行相应步骤:

  1. 区间 ID 的提示。

  2. 使用 Oracle Autonomous Database 详细信息生成 CSV 文件。

  3. 为未注册的数据库创建 JSON 文件。

  4. 在 shell 脚本中准备 Oracle Data Safe 注册命令。

  5. 运行注册命令以注册数据库。

示例脚本输出:

选择创建身份域

任务 6:将 Oracle Cloud 数据库注册到 Oracle Data Safe

脚本名:generate_Cloud_database_details_with_data_safe.sh

说明:自动提取和处理 Oracle 云数据库详细信息及其专用端点,创建 JSON 配置文件并生成 Oracle Data Safe 的注册命令。

执行相应步骤:

  1. 区间 ID 的提示。

  2. 列出 DBaaS 数据库并保存到 Output1.txt

  3. 为缺少 VM 集群 ID 和数据库系统 ID 的数据库附加子网 ID。

  4. 将结果保存到 Oracle_Cloud_Databases_Details.csv

  5. 列出专用端点并保存到 Datasafe_Private-Endpoint_List.txt

  6. 为每个 PDB 名称生成 JSON 文件。

  7. Datasafe_CloudDB_Registration_Commands.sh 中创建注册命令。

示例脚本输出:

选择创建身份域

任务 7:更新安全性和用户评估计划

您可以配置调度,以自动将目标数据库的最新安全性和用户评估保存到 OCI 中的指定区间。有关更多信息,请参阅安排安全性评估安排用户评估

脚本名:generate_datasafe_assessment_schedules.sh

说明:此 shell 脚本用于自动执行检索 Oracle Data Safe 目标数据库及其相应的安全性和用户评估,以及为 OCI 生成更新调度的过程。该脚本会提示用户输入区间 ID,在 Oracle Data Safe 中检索活动目标数据库,并生成两个更新调度脚本,一个用于安全评估,一个用于用户评估。

执行相应步骤:

  1. 区间 ID 的提示。

  2. 输入区间 ID。

  3. 列出活动目标:保存到 Datasafe_Active_TargetDB_list.txt

  4. 检索评估:将详细信息附加到 Datasafe_Active_TargetDBs.txt

  5. 生成脚本:创建 schedule_security_assessments.shschedule_user_assessments.sh

示例脚本输出:

选择创建身份域

任务 8:开始收集目标数据库的审计日志

注册目标数据库时,Oracle Data Safe 会自动检测可用的审计线索并为每个目标数据库创建相应的审计线索资源。启动审计线索收集后,Oracle Data Safe 会将审计记录从目标数据库复制到其资料档案库以进行监视和分析。您可以根据需要启动或停止审计数据收集,从而控制审计数据收集。有关详细信息,请参阅审计线索

脚本名:Generate_DataSafe_Audit_Collection_Scripts.sh

说明:脚本 Generate_DataSafe_Audit_Collection_Scripts.sh 自动收集 Oracle Data Safe 目标数据库的审计线索数据的过程。它会提示用户输入区间 ID 和审计线索收集开始时间,检索状态为 NOT_STARTED 的审计线索,并生成单个 shell 脚本来为所有目标数据库启动审计线索收集。

执行相应步骤:

  1. 输入区间 ID:提示用户输入 OCI 区间 ID。

  2. 输入开始时间:YYYY-MM-DD 格式提示审计收集开始时间。

  3. 提取审计线索:从 OCI 检索状态为 NOT_STARTED 的审计线索。

  4. 生成 CSV:将相关的审计线索数据提取到 audit_trails.csv 中。

  5. 创建脚本:使用命令生成 Data_safe_Target_DB_Audit_Collection_Start.sh,以便为所有目标启动审计收集。

示例脚本输出:

选择创建身份域

任务 9:准备 Oracle Data Safe 库存

脚本名:generate_data_safe_db_inventory.sh

说明:此 shell 脚本与 OCI 进行交互,以根据以下类型检索和处理 Oracle Data Safe 目标数据库信息:AUTONOMOUS_DATABASE、DATABASE_CLOUD_SERVICE 和 INSTALLED_DATABASE。它生成包含每种数据库类型详细信息的输出文件。

执行相应步骤:

  1. 输入区间 ID:提示用户输入数据库所在的区间 ID。

  2. 列出和筛选数据库:列出指定区间中的所有 Oracle Data Safe 目标数据库,并按类型筛选它们。

  3. 检索数据库详细信息:

    • AUTONOMOUS_DATABASE:检索详细信息,例如显示名称、数据库 ID 和基础结构类型。

    • DATABASE_CLOUD_SERVICE:检索详细信息,例如数据库系统 ID、VM 集群 ID(处理空值)和监听程序端口。

    • INSTALLED_DATABASE:检索信息,包括实例 ID、IP 地址和服务名称。

  4. 生成输出文件:使用收集的详细信息为每个数据库类型创建单独的文件。

  5. 清除:删除临时文件并最终确定输出。

示例脚本输出:

选择创建身份域

确认

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心