Go to main content

Oracle SuperCluster M7 系列安全指南

退出打印视图

更新时间: 2016 年 2 月
 
 

访问控制

对于采用云托管环境策略的组织来说,访问控制是要解决的最大难题之一。租户必须保证存储在共享基础结构中的信息得到了保护并且仅对获得了授权的主机、服务、个人、组和角色可用。必须根据最小特权原则进一步约束获得了授权的主机、个人和服务,以便它们仅具有执行特定操作所需的权限和特权。

SuperCluster 便于实施灵活且分层的访问控制体系结构,该体系结构涵盖堆栈的每一层并支持各种角色,包括最终用户、数据库管理员和系统管理员。这使得组织可以分别定义保护主机、应用程序和数据库的策略并保护服务基于其运行的底层计算、存储和网络基础结构。

在虚拟化和 OS 层,首先通过减少在网络上公开的服务数来实施访问控制。这有助于控制对 Oracle VM Server for SPARC 控制台、域和区域的访问。通过减少可以访问系统的入口数,不仅可以减少访问控制策略数,还可以让在系统的生命周期内进行维护变得更加容易。

在 Oracle Solaris OS 中,访问控制结合使用 POSIX 权限与 Oracle Solaris 基于角色的访问控制 (role-based access control, RBAC) 工具来实施。同样重要的是,访问控制能够防止在 SuperCluster 上运行的主机、应用程序、数据库和相关服务遭受基于网络的攻击。为此,租户应首先确认仅获得批准的网络服务运行并侦听传入网络连接。最大限度地减小网络攻击面之后,租户然后应配置剩余服务,以便它们仅侦听获得批准的网络和接口上的传入连接。这种简单的做法有助于确保管理协议(如安全 Shell)无法从除管理网络以外的任何位置访问。

图 6  端到端访问控制摘要

image:插图中显示了计算机节点、存储、网络和数据库组件的主要安全功能。

此外,租户还可以选择实施基于主机的防火墙,例如 Oracle Solaris 的 IP 过滤器服务。基于主机的防火墙非常有用,因为它们在控制对网络服务的访问方面为主机提供了功能更加丰富的方法。例如,IP 过滤器支持有状态包过滤,并且它可以按照 IP 地址、端口、协议、网络接口以及通信方向对包进行过滤。这些功能对于管理许多网络接口并支持各种入站和出站网络通信的平台(例如 SuperCluster)非常重要。

在 SuperCluster 上,可以在 Oracle VM Server for SPARC 域中配置或者在 Oracle Solaris 区域中管理 IP 过滤器。这允许在提供数据库服务的 OS 容器内强制实施网络访问控制策略。在多租户方案中,出站网络活动量可能最小并且可以轻松地分类,以便可以创建策略以将通信对象限制为特定网络接口和目标。所有其他通信流量将遭拒并被记录在“默认拒绝”策略中,以阻止未经授权的通信,不管是入站还是出站通信。

Oracle End User Security 允许租户将其应用程序和数据库与其现有身份管理服务集成,以支持单点登录 (single sign-on, SSO) 以及集中式用户和角色管理。具体地说,Oracle End User Security 帮助对以下事项进行集中化处理:(1) 置备和取消置备数据库用户和管理员;(2) 密码管理和自助密码重置;(3) 使用全局数据库角色进行的授权管理。需要多重验证方法(例如的 Kerberos 或 PKI)的组织可以利用 Oracle Advanced Security。

Oracle Exadata 存储服务器技术支持一组预定义的用户帐户,每个用户帐户都具有不同的特权。执行 Oracle Exadata 存储服务器管理的管理员必须使用这些预定义的角色之一来访问系统。另一方面,ZFS 存储设备支持创建本地和远程管理帐户,这两类帐户都支持单独分配角色和特权。

默认情况下,SuperCluster 中使用的 Oracle Exadata 存储服务器由数据库域通过 Oracle Automatic Storage Management 工具访问。此工具允许云提供商为每个租户创建能够满足其容量、性能和可用性要求的不同磁盘组。在访问控制方面,Oracle Automatic Storage Management 支持三种访问控制模式:开放式安全性、Oracle Automatic Storage Management 范围内的安全性和数据库范围内的安全性。

在多租户方案中,建议使用数据库范围内的安全性,因为它可以提供最精细的访问控制。在此模式中,可以配置磁盘组,以便它们只能由单个数据库访问。具体地说,这意味着数据库管理员和用户都只能访问包含他们有权访问的信息的那些网格磁盘。在数据库整合方案中(在其中各个数据库可能支持不同的组织或租户),让每个租户都只能访问和处理其自己的存储非常重要。特别是,当与之前讨论的工作负荷和数据库隔离策略结合使用时,租户可以有效地分隔对各个数据库的访问。

数据库范围内的安全性是一种有效的工具,可以限制对 Oracle ASM 网格磁盘的访问。此图显示 Oracle ASM 范围内的安全性和 ZFS 安全性。如果在 SuperCluster 平台上部署了大量 Oracle Database 实例,则采用 Oracle ASM 范围内的每租户安全性可能更合适,因为它可以显著减少必须创建、分配和管理的密钥数。另外,由于数据库范围内的安全性要求为每个数据库创建独立磁盘组,因此,此方法还可以显著减少在 Exadata 存储服务器上必须创建的独立网格磁盘数。

图 7  Oracle ASM 范围内的每租户安全性

image:图中显示了 Oracle ASM 范围内的每租户安全性。

SuperCluster 利用 Oracle Solaris 数据链路保护来防止恶意租户虚拟机可能对网络造成的损坏。此集成的 Oracle Solaris 功能可以防御以下基本威胁:IP 和 MAC 地址欺骗以及 L2 帧欺骗(例如网桥协议数据单元攻击)。Oracle Solaris 数据链路保护必须单独应用于在多租户环境中部署的所有 Oracle Solaris 非全局区域。

由于单个租户任何时候都不需要对 Exadata 存储服务器进行管理或主机级别的访问,因此,强烈建议限制此类访问。应将 Exadata 存储服务器配置为禁止对租户的非全局区域和数据库 I/O 域进行直接访问,同时仍允许从 SuperCluster 数据库域(由云提供商管理)进行访问。这可以确保 Exadata 存储服务器只能从管理网络上的可信位置进行管理。

定义和实施租户的安全配置后,服务提供商可以考虑一个额外的步骤,即将特定于租户的全局和非全局区域作为只读环境配置为不可变。不可变区域创建有弹性且高度完整的操作环境,在其中租户可管理其自己的服务。不可变区域基于 Oracle Solaris 固有的安全功能构建,可确保部分(或所有)OS 目录和文件在无云服务提供商介入的情况下无法更改。强制实施这种只读环境有助于防止未经授权的更改、促进更强大的变更管理过程,并阻止基于内核和用户的恶意软件的注入。