如何保护数据库
数据库包含组织最重要的资产。无论是员工的个人身份信息 (PII)、企业知识产权、财务信息、竞争战略还是私人客户的详细信息,保护这些资产对于确保遵守日益增多的政府和行业数据保护和安全条例,以及维护公司声誉都至关重要。 受损的数据库和数据泄露通常会导致巨额罚款,更不用说修复成本和消费者信心丧失了。
主要挑战是什么?
随着组织使用更多信息来经营业务,数据量和数据库数量持续增长。无论数据库托管在何处(本地、云端、多云环境或混合环境),要确保以一致的方式保护数据库,变得越来越具有挑战性。保护用于加密和保护数据机密性的加密密钥至关重要。保护数据库是一项不容忽视的管理挑战,它对于确保健全的数据库安全策略而言至关重要。可扩展的密钥管理使组织能够跨数据库控制加密密钥,保护组织最敏感的资产,并促进监管合规。
如何保护数据库
为了有效地保护数据库,组织需要应用各种工具和技术。组织的目标是保护数据的机密性和完整性,确保数据仅供有访问权限的用户和应用程序使用,即使周边防御失效,也要防止其他人/其他设备访问数据。因此,组织应将数据库安全视为不可或缺的组成部分,以帮助他们控制用户访问,并保护静态的、传输中的和使用中的关键数据,同时促进监管合规。
在保护数据库中的数据时,有六种不同的安全选项。组织可以在存储级别、文件系统、实际数据库架构、应用程序级别、代理或最终用户应用程序上保护数据。
存储级加密
存储级加密包括自加密驱动器 (SED),这些驱动器可提供一种保护数据机密性的机制。商用 SED 通常是按照密钥管理互操作协议 (KMIP) 等标准构建的,因此可以在外部以一致的方式管理加密密钥。 存储级解决方案通常成本低廉,且易于实施和维护。 但是,它们只能防止所存储的物理数据丢失。
文件级加密
文件级加密包括原生操作系统解决方案,例如 Microsoft BitLocker 或 Linux LUKS,也可以通过外部加密功能对其进行增强。根据解决方案的不同,它们还可以防止特权用户入侵。 外部解决方案依赖于操作系统,可能更难以使用。
数据库级加密
数据库级加密是指 Microsoft SQL、Oracle MySQL 等成熟的供应商在本地,以及在 AWS、GCP、Microsoft Azure 和 Oracle Cloud 等云端提供透明数据库加密 (TDE)。此级别可以有效防止数据丢失,但密钥管理通常较弱。 第三方密钥管理器可用于增强此功能。
应用级加密
应用程序级加密可以通过令牌化和格式保留加密等技术来启用,可在不改变结构的情况下保护数据。这些机制提供了极高的安全性,不需要对应用程序进行更改,但通常是自定义的,实施难度较大。
代理层加密
代理层加密在用户和处理数据的 Web 应用程序之间提供了透明的接口。它通常无需更改应用程序即可提供强大的安全性。 但它是一个单点故障,性能和可扩展性可能错综复杂。
终端用户应用程序加密
最终用户应用程序加密提供最高级别的保护和端到端安全性,但需要专用接口,因此实施难度较大。
最佳实践
确保能够在多个方面解决数据库安全问题至关重要。整合各种数据库和数据存储的关键管理功能可防止数据泄露,并避免组织承担责任。 为了安全地管理、轮换和共享加密密钥,集中式密钥管理应符合 KMIP,以便于部署。对于在云中运行的数据库,可以通过自带密钥 (BYOK) 方法来更好地控制密钥和数据,这种方法允许组织在多个云服务提供商之间生成、管理和使用自己的加密密钥。密钥管理解决方案应始终将密钥与加密数据隔离开来,以降低风险并确保合规性。硬件安全模块 (HSM) 为数据库加密密钥的生成、保护和生命周期管理提供了信任根。对所有数据库应用一致的安全策略有助于减少容易出错的手动操作。管理用户和应用程序访问权限可确保数据仅供授权实体使用。而且,建立一致的安全策略有助于审计以及遵守数据保护条例和行业法规。
《通用数据保护条例》(GDPR) 和《加州消费者隐私法》(CCPA) 等数据保护法规,以及支付卡行业数据安全标准 (PCI DSS) 等行业标准特别要求将加密作为保护敏感数据的机制。
在此处了解有关数据库加密密钥管理的更多信息。