你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
安全对于任何体系结构都至关重要。 Azure 提供了一系列全面的工具来有效保护 Oracle 工作负载。 本文介绍与 Azure 上虚拟机(VM)上部署的 Oracle 应用程序工作负荷相关的 Azure 控制平面的安全建议。 有关 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 集成,以增强其安全态势。
为了提高在 Azure IaaS 上运行的 Oracle 工作负载的安全性,应加固操作系统,以消除攻击者可能利用的漏洞,对 Oracle 数据库造成损害。
有关如何提高 Oracle 数据库安全性的详细信息,请参阅 Azure 虚拟机登陆区域加速器上 Oracle 工作负荷的安全准则。
建议
使用安全 Shell (SSH) 密钥对用于访问 Linux 帐户,而不是使用密码。
禁用受密码保护的 Linux 帐户,并在短时间内仅在请求时启用它们。
对特权 Linux 帐户(例如根帐户和 oracle 帐户)禁用登录访问权限,该帐户仅允许对个性化帐户进行登录访问。
使用
sudo
命令,通过个性化帐户而非直接登录来授予访问特权Linux帐户(如root帐户和oracle帐户)的权限。确保使用 Linux syslog 实用工具,将 Linux 审核跟踪日志和访问日志捕获到 Azure Monitor 日志中。
定期仅从受信任的来源应用安全补丁程序和操作系统补丁程序及更新。
实施限制以限制对作系统的访问。
限制对服务器的未经授权的访问。
控制网络级别的服务器访问,以提高整体安全性。
除了 Azure 网络安全组(NSG)外,请考虑将 Linux 防火墙守护程序用作额外的保护层。
确保将 Linux 防火墙守护程序配置为在启动时自动运行。
扫描网络侦听端口以确定潜在的接入点。 使用 Linux
netstat –l
命令列出这些端口。 确保 Azure NSG 或 Linux 防火墙守护程序控制对这些端口的访问。为潜在的破坏性 Linux 命令设置别名,例如
rm
和mv
,以强制这些命令在交互模式下运行,从而确保在执行不可逆的操作前至少有一次提示。 高级用户知道如何根据需要删除别名。将 Oracle 数据库统一系统日志配置为使用 Linux syslog 实用工具将 Oracle 审核日志的副本发送到 Azure Monitor 日志。
设计网络拓扑
网络拓扑是 Azure 上 Oracle 工作负载分层安全方法的基本组成部分。
将所有云服务置于单个虚拟网络中,并使用 Azure NSG 监视和筛选流量。 添加防火墙来保护传入流量。 确保将用于部署数据库的子网专用化,并与互联网和本地网络安全隔离。 评估在内部和外部访问数据库的用户,以帮助确保网络拓扑可靠且安全。
有关网络拓扑的详细信息,请参阅 Azure 虚拟机登陆区域加速器上 Oracle 的网络拓扑和连接。
建议
使用 Azure NSG 筛选 Azure 虚拟网络中的 Azure 资源之间的网络流量,以及筛选本地网络与 Azure 之间的流量。
使用 Azure 防火墙或网络虚拟设备(NVA)来保护环境。
使用 Azure 提供的功能(如 Microsoft Defender for Cloud 实时访问 和 Azure Bastion 功能),保护 Oracle 数据库工作负荷所在的 VM 免受未经授权的访问。
使用 SSH 端口转发将 X Windows 系统和虚拟网络计算 (VNC) 实用工具的连接通过 SSH 隧道进行传输。 有关详细信息,请参阅 打开 VNC 客户端并测试部署的示例。
通过将 VM 放置在与 Internet 和本地网络隔离的专用子网中,通过中心虚拟网络定向所有流量。
使用加密来保护数据
将数据写入存储时进行静态数据加密以保护数据。 加密数据时,未经授权的用户无法公开或更改它。 只有经过授权和经过身份验证的用户才能查看或修改数据。 Microsoft Azure 提供各种数据存储解决方案,包括文件、磁盘和 Blob 存储,以满足不同的需求。 这些存储解决方案具有加密功能来保护静态数据。
加密传输中的数据,以保护从一个位置移动到另一个位置的数据,通常通过网络连接。 可以使用各种方法来加密传输中的数据,具体取决于连接的性质。 Azure 提供了许多机制,用于在将数据从一个位置移动到另一个位置时将数据保持私密。
建议
了解Microsoft如何 加密静态数据。
考虑 Oracle 高级安全性的功能,其中包括透明数据加密(TDE)和数据修订。
使用 Oracle Key Vault 管理密钥。 如果将 Oracle TDE 实现为额外的加密层,请注意 Oracle 不支持 Azure 密钥管理解决方案,例如 Azure Key Vault 或其他云提供商的密钥管理解决方案。 默认 Oracle 电子钱包位置位于 Oracle 数据库 VM 的文件系统中。 但是,可以使用 Oracle Key Vault 作为 Azure 上的密钥管理解决方案。 有关详细信息,请参阅 在 Azure 中预配 Oracle Key Vault。
了解Microsoft是如何加密传输中的数据的。
请考虑使用 Oracle 本机网络加密和数据完整性功能。 有关详细信息,请参阅 配置 Oracle 数据库本机网络加密和数据完整性。
集成 Oracle 数据库审计日志
应用程序日志监视对于在应用程序级别检测安全威胁至关重要。 Azure Sentinel 是云原生安全信息和事件管理(SIEM)解决方案,可用于监视 Oracle 工作负荷的安全事件。
有关详细信息,请参阅 适用于 Microsoft Sentinel 的 Oracle 数据库审核连接器。
建议
对 Oracle 数据库工作负荷使用 Microsoft Sentinel 解决方案。 Oracle 数据库审核连接器使用行业标准的 syslog 接口检索 Oracle 数据库审核记录并将其引入 Azure Monitor 日志。
使用 Azure Sentinel 查看应用程序、Azure 基础结构和来宾操作系统的审核记录。