当前位置: 首页 > 科技观察

如何评估数据库安全风险

时间:2023-03-18 23:16:36 科技观察

数据已经成为企业最重要的资产之一。企业通常将数据存储在数据库中,因此了解如何保护这些数据至关重要。本文将介绍如何量化数据库的安全级别,从1到10。CISO和数据库管理员(DBA)可以使用它来确定他们的安全成熟度级别并确定进一步改进的步骤。查找数据库安全级别1到10的安全级别,其中1级为最低安全级别,10级为最高安全级别。所有安全级别的内容都是累加的,所以每一级都包含了上一级的所有要求。安全级别的顺序反映了随着成本和复杂性的增加而增加的安全性。虽然无需额外软件即可实现较低级别,但实现更高级别的安全性变得越来越困难,需要合适的产品。1.没有额外的安全措施Level1适用于不安全的数据库。这些数据库都提供了固有的安全级别,没有额外的安全措施。例如,他们需要凭据才能连接并拥有角色和特权。管理数据库中的数据是确保数据安全的第一步。2.标准安全和最低权限级别2适用于根据行业标准和最佳实践配置数据库和操作系统的数据库。此级别还要求所有数据库帐户具有最低权限,这意味着授予帐户的权限是履行其职责所需的最低权限。作为第2层要求的一部分,应努力消除共享账户。如果存在共享帐户,则不应经常使用它们,并且应将其凭据保密。对于数据库中内置的特权共享帐户的限制使用尤其如此。Oracle公司中的SYS、SYSTEM、SQL-Server中的SA等数据库账户不宜经常使用,应妥善保管其密码并限制其访问权限。此要求可能具有挑战性,例如,当应用程序对特权或共享帐户的使用是企业运营方式的一部分时。减少和控制这些帐户的使用对安全至关重要。3.变更控制和元数据快照级别3适用于受变更控制约束的数据库。这意味着对元数据(例如用户、权限、配置和对象)的任何更改都应经过更改控制批准流程。作为第3级要求的一部分,需要获取配置、用户、权限和对象元数据的每日快照。应及时调查和批准快照之间的更改。还建议将这些快照与类似的数据库进行交叉比较,以确保一致和统一的配置、用户、权限等。变更控制的挑战在于它可能很麻烦并且被视为无用的繁文tape节。但是,缺乏对元数据更改的控制会很快变成缺乏对数据的控制。4.会话监控和审计级别4适用于定期监控和审计所有登录的数据库。组织应及时调查来自意外用户、程序或机器的登录。破坏数据库安全的最简单方法之一是窃取凭据。例如,窃取数据库管理员(DBA)用户名??和密码将授予攻击者不受限制的数据访问权限。监控登录可以降低这种风险。大多数数据库允许以最小的开销审计登录和失败的登录。实施方面的挑战是通过报告提供对信息的有效审查。5.BasicSQLAudit(DDL&DML)Level5适用于定期记录、报告和审查高风险SQL活动的数据库。高风险SQL活动包括:所有DDL(包括DCL)-修改数据库配置、对象、用户、权限等的SQL。来自意外来源的DML,例如特权用户和特定程序。此要求的目的是加强对不频繁和高风险活动的控制。审计罕见的活动通常不会产生性能开销,并且需要最少的时间投入。实施方面的挑战是允许及时有效地审查活动。6.完整的SQL审计和网络加密6级适用于接受完整SQL审计的数据库,其中所有潜在风险的SQL活动都会定期记录、报告和审查。这转化为审计大量活动,包括查询。例如:使用查询和DML访问敏感表。所有数据库管理员(DBA)和特权用户活动。来自高风险程序(例如SQLPlus、ManagementStudio等)的所有活动。来自应用程序帐户以外的应用程序帐户的活动。甚至由数据库内部的存储过程或触发器执行的敏感活动。级别6还要求对所有数据库网络活动进行完全加密,以防止网络嗅探和欺骗。此要求的目的是开始对SQL活动应用严格的安全措施并防止许多网络攻击。大多数数据库免费内置网络活动加密功能,而且很容易启用。此要求中的主要实施挑战是在没有适当解决方案的情况下审计过多的活动,这会对数据库性能产生重大影响。第二个挑战是以最少的时间投资实现高效报告和及时审查信息。在寻找审计解决方案时,请务必注意某些产品无法避免数据库性能开销,而另一些则不支持网络加密。7.SessionAnomalyDetectionandAlertingLevel7适用于自动检测异常活动源并发出警报的数据库。与第4层中执行的手动会话审查不同,该层需要自动化,可以检测活动提要配置文件更改并发出警报。其中包括:对连接到数据库的新用户、程序、机器或它们的组合发出警报。检测共享帐户(多个人使用的帐户)和使用多个帐户的个人。此要求的目的是通过自动化来补充人工审查,以注意并突出显示异常活动。这有助于避免意外疏忽并确保快速检测和响应。实施需要适当的解决方案来执行分析。8.SQL异常检测和报警级别8适用于自动检测异常SQL活动并报警的数据库。与第5级和第6级中的人工SQL审查不同,第8级需要自动化来分析数据库中的所有SQL活动,包括应用程序活动。其中包括:异常的应用程序行为,例如潜在的SQL注入。不寻常的活动水平。例如,执行的SQL量或访问的行数异常高。在一天中不固定的时间进行活动。涉及敏感表的新SQL。此要求的目标远远超出了避免意外疏忽和缩短检测时间的范围。其目的是控制数据库中无法接受人工审查的大量活动。即使是低活动度的数据库也可能每天执行数百万个SQL查询,如果没有自动化,就不可能对它们应用任何级别的控制。实施需要能够捕获所有活动并以低开销执行分析的软件。9.主动取证审查级别9适用于定期审查活动活动的数据库。这意味着熟悉数据库活动概述的人会定期(例如,每月一次)检查活动。取证审查的目的是识别可能未被发现的行为,包括内部滥用和外部攻击。还可以强调控制、风险实践等方面的差距。实施取证审查需要一种解决方案,以最小的开销捕获所有活动,将其减少并存储在合理数量的磁盘空间中,并提供取证工具来分析和审查它。10.限制对DBA和应用程序的访问级别10适用于具有受限访问帐户的数据库,否则这些帐户可以不受限制地访问数据,例如数据库管理员(DBA)帐户、特权帐户和应用程序帐户。此类限制通常不是本机数据库功能的一部分,可能包括:防止特权帐户访问它们不应访问的模式、表或对象。例如,数据库管理员(DBA)帐户通常不应具有数据访问权限。防止程序或机器访问它们不应访问的帐户。例如,只有应用程序和应用程序服务器可以访问应用程序帐户。防止在不应使用帐户的日期和时间访问帐户。防止帐户访问比预期更多的数据(速率限制)。通过要求安全人员预先授权某些特权活动来强制执行职责分离。此要求需要一个解决方案来实施,因为它超出了内置数据库预防控制的范围。对数据库应用预防性控制会带来阻止合法活动的操作风险。因此,必须根据适当??的最佳实践谨慎部署此类措施,以尽量减少中断的可能性。结语如果企业的安全等级没有想象中那么高,不要着急,继续加强。而维护数据库安全需要不懈的追求,这将逐步提高企业的安全级别。数据库安全是一项必不可少的投资,可以让企业相信他们的数据是安全的。