解读 Oracle 数据库最高安全架构 (MSA)

一、 现状:数据即资产,安全即合规

在数字经济时代,敏感数据直接等同于商业价值 。然而,近年来数据泄露事件频发,例如华住集团约 5 亿用户数据泄露、万豪集团约 5 亿数据泄露以及 Capital One 约 1 亿用户受影响等,对受害者、品牌和企业造成了不可逆转的损害 。

目前,全球已有 107 个国家制定了数据隐私保护相关法律法规 。我国自 2019 年 12 月 1 日起实施的 等保 2.0 (GB/T 22239-2019) 以及《网络安全法》中明确要求:网络运营者应当采取数据分类、重要数据备份和 加密 等措施 。因此,合规地保护核心数据资产已成为数据库管理的重中之重。


二、 Oracle 最高安全架构 (MSA) 概览

Oracle 提出了一套完整的“最高安全架构” (Maximum Security Architecture),旨在从不同的入侵角度去应对安全威胁 :

  • 事前防范: 包含透明数据加密 (TDE)、实时数据编纂 (Data Redaction)、数据脱敏 (Data Masking) 以及特权分析 (Privilege Analysis) 等手段 。

  • 事中监控阻止: 包含数据库保险库 (Database Vault) 以防范内部越权,以及数据库防火墙 (Database Firewall) 。

  • 事后审计: 依靠审计数据仓库 (Audit Vault Database Firewall, AVDF) 进行事后追踪 。

  • 定期评估与统一管理: 使用数据库安全评估工具 (DBSAT)、数据库生命周期管理 (DBLM) 和秘钥保险库 (Key Vault) 进行态势评估与集中管理 。


三、 19c 核心安全新特性:更智能、更精细

在 Oracle Database 19c 中,安全特性得到了进一步的演进和增强 :

  1. 数据字典加密: TDE 能够加密包括 SYSTEM SYSAUX TEMP UNDO 在内的所有 Oracle 表空间,实现数据库的完全加密 。

  2. Schema-Only Accounts: 19c 引入了无需身份验证的帐户 。从 19c 开始,大部分 Oracle 自带的 schema(除了 SYS、SYSTEM 以及 Sample Schema User Accounts 外)默认均为 Schema Only Account,这免去了管理员周期性维护密码的麻烦,并降低了攻击者使用默认密码侵入的风险 。

  3. Database Vault 操作控制 (Operations Control): 专门针对多租户数据库面临的挑战 。它可以对 PDB 用户透明地阻止 Common User(如云端运营人员或 IT 基础设施管理员)访问 PDB 中的本地敏感数据 。


四、 实战点拨:如何玩转高级安全选件?

1. 透明数据加密 (TDE):核心数据拿不走

TDE 能够保护存储在磁盘或备份中的数据文件,其最大优势是 不需要修改应用

  • 架构设计: 采用两级架构,由存储在 Oracle Wallet 或 Oracle Key Vault 中的主秘钥 (Master Key) 去加密数据的加密秘钥 (Table/Tablespace Key) 。

  • 在线迁移: 在 12cR2 及以上版本中,支持以最少的停机时间将未加密表空间数据迁移为加密数据,实现在线加密、增量存储最少且无停机 。

  • 性能优异: 由于压缩过程完成后才对数据进行加密,因此由于压缩而实现的存储节省将维持不变 。

2. 实时编纂 (Redaction):敏感数据看不见

Redaction 可根据用户名、IP 地址、应用程序上下文和其他因素,即时改写显示数据 。

  • 高度透明: 能够避免改变应用程序、查询和报表,即可实现跨应用高度透明的实施和使用 。例如,将实际的信用卡号 5105-1051-0510-5100 改写显示为 XXXX-XXXX-XXXX-5100 ,有效保护客户与员工的个人隐私等敏感数据 。


五、 DBA 运维建议:Wallet 管理注意事项

在部署 TDE 并管理 Oracle Wallet 中的 Master Key 时,务必遵循以下注意事项 :

  • 密码与备份: 关键牢记 Wallet 密码;关键不要删除 Wallet。即使采用自动登录,也一定要保存好基于密码的 Wallet 备份 。初始创建 Wallet 后应立即备份,并在每次 Key 轮换操作之前和之后备份 。

  • 隔离原则: 关键不要让多个数据库共享相同的 Wallet 。自动打开的 Wallet 备份和加密数据的备份要分开保存 。

  • 定期轮换: 建议大约每 6 个月轮换一次 master encryption key 和 wallet 密码 。

  • 职责分离: 对于 DB 12c 以上版本,建议使用 SYSKM 角色分离职责 。



请使用浏览器的分享功能分享到微信等