Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

什么是数据库安全:13 大最佳实践

什么是数据库安全:13 大最佳实践

Aug 23, 2024

数据库安全入门

在当今数字化的世界中,任何组织 IT 基础设施的核心,或许就是其数据库系统。数据库承载着从敏感客户数据到专有业务情报等多种信息——这也使其成为网络攻击的首要目标。作为数据库管理员(DBA),你需要牢固掌握 数据库安全,以保护组织的数据库免受停机和数据泄露的影响。本文将解释你需要了解的关键概念、最佳实践和工具,帮助你从正确的起点开始。

什么是数据库安全?

数据库安全包括为防止数据库遭受不当的用户访问、滥用、盗窃或丢失而采取的措施、工具和政策。这包括控制谁可以访问数据库、保护数据库内的数据,以及在数据传输或被访问时对其进行保护。有效的数据库安全标准能够保护组织宝贵的信息资产,从而有助于维护客户信任,并避免数据泄露所带来的财务与声誉损害。

然而,组织需要记住:旨在最大化 数据安全 的措施往往会让用户感到挫败,并影响他们的工作效率。悖论在于,这可能会促使用户绕过安全措施——最终反而损害安全性。比如,要求密码足够复杂并且频繁更换有助于防止账号被攻破,但也可能让用户感到不满,从而导致诸如重复使用密码或将密码写下来等不安全的做法。组织需要在数据安全措施与对用户体验的影响之间取得平衡,以避免这些问题。

数据库安全的组成部分

数据库保护措施的核心目标是确保敏感信息的机密性、完整性和可用性。让我们分别展开每个目标。

机密性

机密性是指确保只有被授权可以访问特定信息的人才能访问该信息。防范未经授权的披露、数据泄露以及信息被滥用,尤其对于个人信息、金融细节和知识产权等敏感数据至关重要。保持数据机密性同样对于满足法律与监管要求也至关重要,包括 GDRP 等法律,这些法律明确保护个人的隐私权。违反数据机密性可能带来严重后果,包括法律处罚、经济损失以及对组织声誉的损害。

完整性

这指的是数据在其整个生命周期中的准确性、一致性和可靠性。目标是确保在存储、传输和检索过程中,数据绝不会被不恰当地篡改,从而防范数据损坏、未经授权的访问以及错误。保持数据完整性对于决策中数据的可信度同样至关重要,也有助于遵守各项法规。维护数据完整性的技术包括访问控制、数据校验、加密以及定期审计。

可用性

数据在需要时必须能够让授权用户随时方便地访问。可用性对业务持续运营、决策制定、遵守服务水平协议(SLA)以及运营效率至关重要。确保数据高可用性需要实施能够减轻数据丢失和停机的系统与实践。这可能包括通过备份系统和故障切换机制实现冗余、维护并监控网络基础设施,以及遵循灾难恢复规划中的最佳实践。

数据库安全威胁

许多独立的威胁都可能破坏数据库系统中存储数据的机密性、完整性和可用性。以下列出了一些最常见的威胁。

  • 内部威胁s
  • 利用软件漏洞
  • 拒绝服务攻击
  • 恶意软件攻击
  • 对备份的攻击

让我们逐一来看。

内部威胁

任何已被授予数据库访问权限的账户都可能构成威胁。这些威胁主要分为两类:

  • 无意的威胁
  • 蓄意威胁

无意的威胁

  1. 无意的威胁通常包括疏忽大意的内部人员,他们可能通过粗心的行为造成危害。例如,业务用户可能会犯下诸如:
  2. 数据处理不当
  3. 使用 弱口令
  4. 中了网络钓鱼骗局并提供数据库凭据
  5. IT 专业人员可能会向用户授予过多的访问权限,
  6. 未能对敏感数据进行加密
  7. 错误配置数据库,使其暴露给攻击者
  8. 未能应用安全补丁,从而让已知漏洞处于随时可被攻击者利用的状态。

打击科技行业的内部威胁

了解更多

蓄意威胁

蓄意的威胁通常包括恶意的内部人员,他们会 刻意滥用自己的访问权限来窃取、泄露或破坏数据。恶意内部人员不仅包括合法账户的所有者,还包括任何成功入侵并获取该账户的对手。他们可能出于个人利益而采取行动,例如向竞争对手出售敏感信息,或对组织进行报复。内部威胁尤其隐蔽,因为合法账户的“不当行为”可能很难被发现。

利用软件漏洞

软件漏洞是数据库管理软件在设计、实现或配置方面存在的薄弱环节。攻击者可以利用这些漏洞获得未授权访问、提取敏感数据或中断数据库服务。这些漏洞可能来自多种来源,具体如下:

  • 编码错误
  • 缺乏输入验证
  • 不安全的默认设置
  • 过时的软件版本。

注入攻击

利用软件漏洞的一种常见策略是 注入攻击。 这些攻击利用 Web 应用程序软件中的漏洞,通过未验证的输入发送恶意代码,目的是以未经授权的方式操纵数据库。虽然 SQL 注入针对传统的关系型数据库,但 NoSQL 注入则侧重于更新的无模式数据库,例如 MongoDB、Couchbase 和 Cassandra。

缓冲区溢出利用

另一种攻击涉及 缓冲区溢出利用。当程序向缓冲区(临时数据存储区域)写入的数据超过其容量时,溢出的数据可能会覆盖相邻的内存空间,从而擦除重要数据或可执行指令。攻击者可以利用缓冲区溢出来获得未授权访问、破坏数据,甚至导致系统崩溃。

拒绝服务攻击

在拒绝服务(DoS)攻击中,攻击者会向目标系统大量涌入压倒性的流量或查询,以扰乱业务。具体来说,这些攻击可能导致响应时间变慢、交易处理失败,甚至造成系统完全停机。如果流量来自多个来源,则该攻击被称为分布式拒绝服务(DDoS)攻击。

恶意软件攻击

攻击者可以通过多种方式使用恶意软件来攻击数据库。有的恶意软件会对数据库文件进行加密,并要求以赎金换取解密密钥。还有一些恶意软件会秘密监控数据库,并将其收集到的信息回传给攻击者。自我复制的恶意代码可能会破坏数据库文件,或利用漏洞来进一步传播恶意软件。此外,特洛伊木马(伪装成合法软件的恶意软件)可能会在安全系统中打开后门。

对备份的攻击

攻击者明白,备份通常包含与正在运行的数据库相同的敏感信息,但可能受到较弱的安全措施保护。因此,他们可以使用与攻击正在运行的数据库相同的方式来攻击备份,包括从备份中窃取数据,以及通过加密备份来拒绝访问,直到支付赎金为止。黑客还可能尝试破坏备份数据,以通过让恢复变得更加困难或不可能来增大对正在运行系统的攻击影响。

现代数据库安全挑战

如今,多个因素使组织的数据库安全管理变得愈发具有挑战性。包括:

数据量不断增长

组织存储的数据越多,其攻击面(attack surface)就越大。现有的安全措施可能无法有效扩展,以充分保护所有数据。

基础设施复杂性

如今,组织往往同时拥有部署在本地(on-premises)的数据库和基于云的服务,呈现出复杂的混合架构。每一种环境都各自带有一套安全协议和挑战,使得难以实施统一的访问管理以及其他安全实践。

监管不断加强

保护数据机密性、完整性和可用性的相关新法规不断出台,而现有法规也常被修改,以要求更强有力的保护措施。组织可能在实现、维持并证明合规方面面临困难。

网络安全技能短缺

组织可能会发现,吸引并留住具备数据库安全经验的专业人员十分具有挑战性。其结果是,现有员工可能会变得工作负担过重,从而导致倦怠并增加出错的可能性。此外,由于需要熟练人员来实施和管理这些安全技术,组织可能无法保持与最新安全技术同步。

数据库攻击的影响

对数据库的攻击可能导致多种后果,包括以下情况:

数据丢失

如果攻击者或恶意的内部人员从组织的数据库中窃取敏感信息,造成的损害可能非常严重。例如,窃取知识产权(IP)可能导致收入和市场份额的流失;而对即将推出的产品或服务进行不当披露,则可能危及发布策略和合作伙伴关系。

声誉受损

数据库安全泄露可能对公司的声誉造成深远且持久的损害。泄露消息一经报道,可能迅速在社交媒体、新闻媒体和在线论坛上传播,进而让消费者质疑品牌的可靠性与完整性。现有客户可能会出于对个人信息进一步风险的担忧,选择将业务转移到其他地方;而潜在的新客户也可能因其较差的安全记录而被劝止,不再与该品牌建立合作关系。

业务中断

在泄露事件中关键数据的丢失或损坏可能会扰乱必不可少的业务流程,从客户关系管理到供应链物流。此外,在数据泄露之后,受影响的系统可能需要下线以进行取证分析和修复,从而造成停机时间,进而阻碍生产力和服务交付。这些运营中断会导致销售额下降、合同被取消以及商机流失,严重影响收入来源。

合规处罚

  • 如果数据泄露涉及受监管的数据,监管机构可能会处以罚款及其他处罚。旨在保护数据安全的法律包括 HIPPA、通用数据保护条例(GDPR)、以及 California Consumer Privacy Act(CCPA)和新加坡的《个人数据保护法》(PDPA)。

额外成本

修复数据泄露造成的损害需要付出一系列复杂的直接与间接成本,且通常不止于合规罚款。相关成本可能包括为和解诉讼而产生的法律费用、聘请顾问评估如何更好地保障数据库以防止未来事件所产生的支出,以及对新的安全解决方案和流程的投入。

安全控制的类型

组织需要实施强有力的数据库安全控制,以应对现代数据安全挑战,并避免代价高昂的泄露事件和停机时间。这些控制可以分为三类:

管理控制

管理控制是为降低与人为错误相关的风险而设计的程序和政策。例如:通过基于角色的访问控制(RBAC)来实施最小特权、定期审查账户及其访问权限,以及变更管理流程。

预防性控制

预防性控制是指旨在在未经授权的行为发生之前将其阻止的措施。常见示例包括防火墙、入侵检测与入侵防御系统(IDS/IPS)、VPN 以及强认证机制。

侦测性控制

侦测性控制旨在发现正在进行的威胁,并提醒管理员,以便他们能够及时响应、将损害控制在最小范围内。数据库监控工具可以实时分析登录尝试、数据访问活动以及管理操作,以识别异常和其他可疑行为。部分解决方案利用机器学习(ML)和人工智能(AI)来识别偏离常规的行为模式,并与安全信息和事件管理(SIEM)系统集成,从而对整个 IT 基础设施中的活动提供更全面的视图。

数据库安全最佳实践

以下最佳实践对于确保数据库安全至关重要:

  1. 了解威胁态势
  2. 制定安全策略
  3. 实施强有力的访问控制
  4. 使用加密和令牌化
  5. 定期开展安全审计和漏洞评估
  6. 实施核心预防性控制
  7. 监控数据库活动
  8. 对用户进行安全教育
  9. 建立健全的补丁和更新流程
  10. 制定全面的事件响应计划
  11. 保护数据库备份
  12. 考虑容器化技术
  13. 将安全实践集成到 DevOps 流水线中(DevSecOps)

了解威胁态势。

保护数据库的第一步是了解它们面临的威胁。网络威胁不断演变,这使得组织必须及时了解最新的安全风险。数据库常见的威胁包括 SQL 注入攻击、未授权访问、恶意软件和数据泄露。通过理解这些威胁,组织可以更好地为防御做好准备。

制定安全策略

安全策略是正式文件,用于概述组织的安全方法,明确需要保护的内容、保护的原因以及负责保护的人员。当您制定数据保护策略时,请牢记以下最佳实践:

使策略与业务目标保持一致

数据库安全不应仅被视为一项纯粹的技术挑战或合规要求,而应作为帮助企业实现目标的不可或缺的组成部分,例如开拓新市场、推出新产品或提升客户体验。举例来说,对业务目标有清晰的理解有助于确定哪些数据资产最为关键,因此需要更高等级的保护。它还可以帮助组织在市场营销和销售活动中突出其对安全的承诺,以吸引新客户并留住现有客户。

关注合规要求

数据库安全策略需要与适用的监管标准保持一致,这些标准规定了数据应如何进行管理和保护。由于法规会发生变化,并且会引入新的要求,组织需要定期审查并更新其 数据安全策略 以确保持续合规。

记录职责

明确参与保障数据库系统安全的各方角色与职责。相关干系方可以包括:

  • 数据库管理员 负责实施访问控制、监控数据库活动、定期执行备份并开展恢复演练,以及应用安全补丁
  • 开发人员 需要确保安全的编码实践,在应用程序内加密敏感数据,并遵循访问生产数据的相关策略
  • IT 安全团队 需要定期开展漏洞评估和渗透测试,评估安全控制措施,并响应安全事件
  • 第三方服务提供商,需要遵守已商定的安全标准和协议,并及时提供有关威胁的安全更新和告警

实施强有力的访问控制。

组织需要确保只有正确的用户能够访问数据库,并且用户只能按照其角色和实际需求执行相应操作。以下最佳实践对于实施强有力的访问控制至关重要:

  • 实施强身份验证
  • 严格遵循 最小特权原则
  • 采用基于角色的访问控制
  • 定期审查用户账户及其权限

让我们逐一看看。

实施强身份验证

至少要求强健且唯一的密码。为了获得更强的安全性,请实施多因素认证(MFA),它需要两种或更多种认证方式,例如“密码 + 生物特征标识符”,或“密码 + 发送到用户设备的验证码”。

严格遵循最小特权原则

应为每位用户授予完成其职责所需的最小权限,并应及时停用或删除前员工账号以及处于非活动状态的账号。此做法可限制用户可能因意外或故意操作而造成的损害,以及攻破账号的威胁行为者所能达到的范围。为了获得更强的保护,请考虑使用一种现代 just-in-time access 权限来替代高权限账号,仅针对特定任务在需要时授予。privileged access management (PAM) solution

采用基于角色的访问控制

  • RBAC 简化了对最小特权原则的遵循:将权限授予预定义的角色,然后再把每个用户分配到执行其工作所需的角色。
  • 定期检查用户账号及其权限
  • 定期审计对于及时发现意外或恶意的 权限提升 同时还能识别那些停用的账号,并在其被滥用之前将其移除。

使用加密和令牌化。

加密工具会使用算法和加密密钥,将明文转换为被打乱的格式,称为密文(ciphertext)。令牌化会用没有可被利用价值的非敏感替代物(称为令牌 tokens)替换敏感数据要素。原始数据存储在安全的令牌库(token vault)中,并在处理或交易目的下维持数据与其令牌之间的对应关系。

即使对手成功外传(泄露)了加密数据,该数据仍然无法读取。可选方案包括列级加密:可对数据库列中的特定数据进行粒度更细的加密;以及应用级加密:加密和解密操作在应用程序内部完成,而不是在数据库中完成。

透明数据加密(Transparent Data Encryption, TDE)常用于加密静态数据(data at rest),而对传输中数据(data in transit)的加密通常通过 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)等协议实现。

定期进行安全审计和漏洞评估。

定期检查是否存在过时软件、错误配置以及薄弱的访问控制。此外,开展渗透测试以模拟网络攻击,并评估现有安全措施的有效性。

实施核心预防性控制。

  • 安全配置数据库系统。例如,禁用不必要的服务,并更改默认账户名称和密码。
  • 使用物理安全措施。 为确保只有授权人员能够访问存放数据库服务器的区域,请实施诸如安全徽章、生物识别扫描仪或密钥代码等物理安全选项。此外,请使用安防摄像头和保安人员监控出入口,以阻止未经授权的进入尝试,并便于开展调查与问责。
  • 分割数据库。 可考虑将数据库拆分为更小的部分,或使用数据库隔离技术。
  • 验证、清理或转义用户输入。这些选项在防御注入攻击方面尤其有帮助。
  • 实施终端保护。 利用诸如杀毒软件和反恶意软件等解决方案,以保护设备免受可能破坏数据库安全的恶意软件的侵害。
  • 实施网络访问控制解决方案。 这些工具有助于确保只有合规设备和授权用户才能访问数据库服务器上的资源。

监控数据库活动

使用数据库活动监控解决方案,以实时检测并告警可疑活动,从而实现对潜在威胁的快速响应。特别是,应密切审计成功登录、失败的登录尝试、尝试访问特权功能的行为,以及尝试修改、删除或外传数据的行为。

教育用户

为所有用户提供培训,主题包括识别钓鱼(phishing)尝试、确保用于工作的个人设备的安全,以及遵循访问和处理数据的正确流程。根据不同用户群体的需求定制培训内容,定期重复开展,并可考虑开展诸如模拟钓鱼活动之类的测试,以衡量培训效果。

建立健全的补丁和更新流程。

软件漏洞是网络犯罪分子常用的攻击途径,因此,及时应用安全补丁对于保护数据库免受已知攻击至关重要。补丁管理流程应尽可能实现自动化,并定期检查所有软件供应商是否发布了更新。

制定一份全面的事件响应计划。

全面的事件响应计划应概述在发生安全漏洞时要采取的步骤,包括隔离、清除、恢复以及沟通策略。定期测试并更新事件响应计划对于确保其有效性至关重要。

确保数据库备份的安全。

确保对重要且敏感的数据进行备份时安全存储,并且在发生数据丢失、损坏或其他灾难时能够恢复。3-2-1 备份规则建议至少保留数据的三份总副本:其中两份保存在本地但使用不同设备,另外一份保存在异地(off site)。

考虑采用容器化技术。

使用 Docker 和 Kubernetes 等技术对数据库进行容器化,可为更细粒度的安全控制和隔离提供机会。

将安全实践集成到 DevOps 流水线中(DevSecOps)。

确保在数据库应用程序和环境的开发生命周期早期就考虑并落实安全要求。

数据保护工具

组织可从多种数据库安全解决方案中进行选择。下面列出了各项关键功能的一些最佳选项。

发现与漏洞评估

  • IBM Security Guardium 是一款全面的数据安全平台,可发现并分类遍布数据库、数据仓库和大数据环境中的敏感数据,同时还会进行漏洞评估,以识别存在风险的数据,并提供可操作的洞察以实现防护。
  • Rapid7 InsightVM 通过先进分析来识别漏洞、评估风险并对修复工作进行优先级排序。此外,它还可与多种数据存储集成,帮助确定敏感数据所在的位置。
  • Tenable Nessus 会扫描数据库环境以发现漏洞,并提供全面的评估报告。

活动监控

  • IBM Security Guardium 为本地和云端数据库以及大数据平台提供实时活动监控、漏洞评估和数据风险分析。
  • Imperva SecureSphere Database Activity Monitoring 提供对数据库活动的实时可视化,包括特权用户监控和访问控制。
  • McAfee Database Activity Monitoring 在检测到异常数据库活动时通知管理员,并通过虚拟补丁(virtual patching)对数据库漏洞进行防护。
  • Oracle Audit Vault and Database Firewall 通过监控活动并阻止威胁来保护 Oracle 和非 Oracle 数据库。它将来自数据库、操作系统和目录的审计数据进行汇总,以便更轻松地生成合规报告。

加密与令牌化

  • BitLocker 是 Windows 的内置功能,可加密整个卷,以保护静态数据(数据 at rest)。
  • OpenSSL是一套功能齐全的工具,用于传输层安全(Transport Layer Security,TLS)和安全套接字层(Secure Sockets Layer,SSL)协议,同时也能够执行通用型的加密任务。
  • Protegrity提供令牌化(tokenization)、加密以及数据遮蔽(data masking),以保护数据库、文件和云存储中的敏感数据。
  • TokenEx在各类平台上提供基于云的令牌化(tokenization)和数据保险库(data vaulting)服务。
  • VeraCrypt是一款用于加密卷或整个存储设备的开源软件。
  • HashiCorp 的 Vault旨在保障、存储,并严格控制对令牌、密码、证书、API 密钥以及现代计算中的其他机密信息的访问。

风险分析与报告

  • IBM QRadar Security Intelligence Platform 是一种 SIEM 解决方案,用于收集、规范化并关联日志和事件数据,以识别威胁和漏洞。它还提供用于审计、合规和风险管理的详细报告。
  • Qualys Cloud Platform 提供集成的漏洞管理、合规监控和 Web 应用扫描,从而全面洞察 IT 安全与合规情况。
  • Rapid7 InsightVM 将漏洞管理与先进分析相结合,以便对风险进行优先级排序,并提供如何提升安全性的洞察。
  • Tenable Nessus 会在广泛的各种平台上扫描漏洞、配置问题和恶意软件,并帮助组织优先处理安全风险。

云数据安全

  • Amazon Web Services (AWS) Shield 和 AWS Key Management Service (KMS) 为整个 AWS 服务中的数据加密提供 DDoS 防护和密钥管理服务。
  • McAfee MVISION Cloud 可在 SaaS、PaaS 和 IaaS 环境中全面洞察数据、上下文以及用户活动。
  • Microsoft Azure Security Center 在云端与混合工作负载中提供统一的安全管理以及先进的威胁防护。
  • Netskope Security Cloud 为云服务、网站和私有应用提供实时数据保护与威胁防护。
  • Veeam Backup & Replication 为云端、虚拟和物理工作负载提供备份、恢复和复制功能。

结论

当今的数据库安全需要采取全面的方法。关键的数据库安全措施包括识别关键数据、对静态数据和传输中的数据都使用加密、实施诸如 RBAC 和 MFA 之类的强访问控制措施,以及监控可疑的数据库活动。同样重要的是定期开展漏洞评估、渗透测试和用户账户审计,并建立健全的备份与灾难恢复计划。这些措施对于数据库安全以及遵从 GDPR、HIPAA 和 PCI-DSS 等法规都至关重要,因为这些法规对数据保护和隐私有特定要求。

数据库安全不仅仅是部署合适的工具和技术。还需要制定强有力的政策、流程,并在员工中强化安全意识,以防范人为错误;而人为错误往往是数据库安全中最薄弱的环节。

常见问题解答

数据安全是什么?

数据安全是指为保护数据而采取的防护措施和协议,旨在防止未经授权的访问、数据泄露或任何以破坏数据完整性、保密性和可用性为目标的恶意活动。这包括广泛的流程与策略,用于保护数字信息、防止数据丢失,并确保数据仅对具备适当授权的人员保持可访问性。

什么是安全数据?

安全数据是指能够防止未经授权的访问、修改和销毁的信息。它通过仅允许授权用户访问来确保保密性;通过准确且一致来维护完整性;并通过在需要时随时可访问来保证可用性。安全数据还会验证与其交互的用户和系统的真实性,并确保操作与交易可追溯,从而防止对操作的否认。

为什么数据安全很重要?

数据安全对于保护敏感信息、维护隐私、遵守法律法规、建立信任、防止经济损失、确保业务连续性以及保障国家安全至关重要。

如何保护数据库?

要保护数据库,请实施强有力的访问控制,使用加密,保持软件更新,定期备份数据,监控访问与变更,保护底层系统,应用最小特权原则,确保物理访问安全,并定期开展安全评估。

如何在数据库中存储敏感数据?

要在数据库中安全地存储敏感数据,请使用加密方法:对静态数据(data at rest)使用 AES-256,对传输中的数据(data in transit)使用 SSL/TLS。实施访问控制,例如基于角色的访问控制(Role-Based Access Control,RBAC),并确保用户仅拥有完成工作所需的最低权限。可以使用数据脱敏(data masking)和令牌化(tokenization)来模糊处理并替换敏感数据。此外,定期监控与记录数据库活动、定期进行安全审计以及开展合规性检查也同样至关重要。

分享到

了解更多

关于作者

Sean bergman

Sean Bergman

首席产品分析师

Sean Bergman 是 Netwrix 的首席产品分析师。其职业生涯始于 2009 年,积累了支持、售前工程、产品工程以及产品管理方面的经验,最终担任产品管理副总裁(Vice President of Product Management)。在当前岗位中,他专注于对所有产品开展研究与需求收集,重点面向云与企业业务解决方案。