你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

优化 Oracle 工作负载的安全性

安全性对于任何体系结构都至关重要。 Azure 提供了一系列全面的工具来有效地保护 Oracle 工作负载。 本文介绍 Azure 控制平面的安全建议,这些平面与部署在 Azure 上的虚拟机 (VM) 上的 Oracle 应用程序工作负荷相关。 有关 Oracle 数据库中的安全功能的详细信息,请参阅 Oracle 数据库安全性指南

大多数数据库存储敏感数据。 仅数据库级别的安全措施不足以保护这些工作负载所在的整个体系结构。 深度防御是一种全面的安全方法,可在其中实现多个防御机制层来保护数据。 你不依赖于特定级别的单个安全措施,例如网络安全机制。 使用深层防御策略结合使用各种层安全措施来创建可靠的安全态势。

可以使用强大的身份验证和授权框架、强化的网络安全性以及静态数据和传输中的数据加密,为 Oracle 工作负载构建深层防御方法。 可以将 Oracle 工作负载部署为基础结构即服务, (Azure 上的 IaaS) 云模型。 重新访问 共担责任矩阵 ,更好地了解分配给云提供商和客户的具体任务和责任。

应定期评估采用的服务和技术,以确保安全措施与不断变化的威胁环境保持一致。

使用集中式标识管理

标识管理是一个基本框架,用于控制对重要资源的访问。 与各种人员(如临时实习生、兼职员工或全职员工)合作时,标识管理变得至关重要。 这些个人需要不同级别的访问,你需要根据需要监视、维护和立即撤销。

你的组织可以通过与 Microsoft Entra ID 集成来提高 Azure 中 Windows 和 Linux VM 的安全性,这是一种完全托管的标识和访问管理服务。

在 Windows 或 Linux 操作系统上部署工作负载

可以将 Microsoft Entra ID 与单一登录 (SSO) 结合使用,以访问 Oracle 应用程序,并在 Linux 操作系统Windows 操作系统上部署 Oracle 数据库。 将操作系统与Microsoft Entra ID集成,以增强其安全状况。

通过确保强化操作系统来消除攻击者可能利用的漏洞来损害 Oracle 数据库,从而提高 Azure IaaS 上的 Oracle 工作负载的安全性。

有关如何提高 Oracle 数据库安全性的详细信息,请参阅 Azure 虚拟机登陆区域加速器上的 Oracle 工作负载的安全指南

建议

  • 使用安全外壳 (SSH) 密钥对进行 Linux 帐户访问,而不是密码。

  • 禁用受密码保护的 Linux 帐户,并仅在短时间内应请求启用它们。

  • 禁用特权 Linux 帐户(例如根帐户和 oracle 帐户)的登录访问,这仅允许对个性化帐户进行登录访问。

  • sudo使用 命令从个性化帐户授予对特权 Linux 帐户(如根帐户和 oracle 帐户)的访问权限,而不是直接登录。

  • 确保使用 Linux syslog 实用工具捕获 Linux 审核跟踪日志并将 sudo 日志访问到 Azure Monitor 日志中。

  • 仅从受信任的源定期应用安全修补程序和操作系统修补程序和更新。

  • 实施限制以限制对操作系统的访问。

  • 限制对服务器的未经授权的访问。

  • 在网络级别控制服务器访问,以提高整体安全性。

  • 除了 Azure 网络安全组 (NSG) 之外,请考虑使用 Linux 防火墙守护程序作为额外的保护层。

  • 确保将 Linux 防火墙守护程序配置为在启动时自动运行。

  • 扫描网络侦听端口以确定潜在的接入点。 使用 Linux netstat –l 命令列出这些端口。 请确保 Azure NSG 或 Linux 防火墙守护程序控制对这些端口的访问。

  • 为可能具有破坏性的 Linux 命令(如 rmmv)设置别名,以强制它们在交互式模式下运行,以便在运行不可逆命令之前至少提示你一次。 高级用户知道如何根据需要删除别名。

  • 将 Oracle 数据库统一系统日志配置为使用 Linux syslog 实用工具将 Oracle 审核日志的副本发送到 Azure Monitor 日志。

设计网络拓扑

网络拓扑是 Azure 上 Oracle 工作负载的分层安全方法的基本组件。

将所有云服务置于单个虚拟网络中,并使用 Azure NSG 监视和筛选流量。 添加防火墙来保护传入流量。 确保专用并安全地将部署数据库的子网与 Internet 和本地网络分开。 评估内部和外部访问数据库的用户,以帮助确保网络拓扑可靠且安全。

有关网络拓扑的详细信息,请参阅 Azure 上的 Oracle 的网络拓扑和连接虚拟机登陆区域加速器

建议

  • 使用 Azure NSG 筛选 Azure 虚拟网络中 Azure 资源之间的网络流量,并筛选本地网络与 Azure 之间的流量。

  • 使用 Azure 防火墙 或网络虚拟设备 (NVA) 来保护环境。

  • 使用 Azure 提供的 Microsoft Defender for Cloud 实时访问 (JIT) 访问Azure Bastion 功能等 Azure 提供的功能,保护 Oracle 数据库工作负载所在的 VM 免受未经授权的访问。

  • 使用适用于 X Windows 系统的 SSH 端口转发和虚拟网络计算 (VNC) 实用工具通过 SSH 隧道连接。 有关详细信息,请参阅 打开 VNC 客户端并测试部署的示例

  • 通过将 VM 放置在与 Internet 和本地网络隔离的专用子网中,引导所有流量通过中心虚拟网络。

使用加密来保护数据

在将数据写入存储以保护数据时加密静态数据。 加密数据时,未经授权的用户无法公开或更改数据。 只有经过授权和经过身份验证的用户才能查看或修改数据。 Microsoft Azure 提供各种数据存储解决方案,包括文件、磁盘和 Blob 存储,以满足不同的需求。 这些存储解决方案具有加密功能来保护静态数据。

加密传输中的数据,以保护通常通过网络连接从一个位置移动到另一个位置的数据。 可以使用各种方法来加密传输中的数据,具体取决于连接的性质。 Azure 提供了许多机制,用于在数据从一个位置移动到另一个位置时保持传输中的私密性。

建议

  • 了解 Microsoft 如何 加密静态数据

  • 请考虑 Oracle 高级安全性的功能,这些功能包括透明数据加密 (TDE) 和数据修订。

  • 使用 Oracle 密钥保管库管理密钥。 如果实现 Oracle TDE 作为额外的加密层,请注意,Oracle 不支持 Azure 密钥管理解决方案,例如 Azure 密钥保管库或其他云提供商的密钥管理解决方案。 默认的 Oracle 电子钱包位置位于 Oracle 数据库 VM 的文件系统中。 但是,可以使用 Oracle 密钥保管库 作为 Azure 上的密钥管理解决方案。 有关详细信息,请参阅在 Azure 中预配 Oracle 密钥保管库

  • 了解 Microsoft 如何 加密传输中的数据

  • 请考虑使用 Oracle 本机网络加密和数据完整性功能。 有关详细信息,请参阅 配置 Oracle 数据库本机网络加密和数据完整性

集成 Oracle 数据库审核线索

应用程序日志监视对于在应用程序级别检测安全威胁至关重要。 Azure Sentinel 是云原生安全信息和事件管理 (SIEM) 解决方案,可用于监视 Oracle 工作负载的安全事件。

有关详细信息,请参阅 适用于 Microsoft Sentinel 的 Oracle 数据库审核连接器

建议

  • 将 Microsoft Sentinel 解决方案用于 Oracle 数据库工作负载。 Oracle 数据库审核连接器使用行业标准 syslog 接口检索 Oracle 数据库审核记录并将其引入 Azure Monitor 日志。

  • 使用 Azure Sentinel 查看应用程序、Azure 基础结构和来宾操作系统的审核记录。

后续步骤