|
+ W9 t4 X' E& C/ h; j
9 q! x) H# c, b2 d 数据已成为企业最重要的资产之一。我们通常将数据存储在数据库中,因此了解如何保护这些数据至关重要。 4 A! h. ?, k* r I- b, |
本文提供的十个“段位”可以帮助您为数据库安全定级。CISO和数据库管理员(DBA)可以使用”段位“来确定他们的安全成熟度级别并确定进一步改进的步骤。
0 e0 P! F5 V: b- G9 U 数据库安全等级的十个段位
7 H8 i; D4 S# \- d; u 下表总结了1到10级的安全评级,1级是最低安全级别,10级是最高级别。所有评级都是累积的,因此每个评级都包含所有低于该级别评级的所有要求。 4 ~' w. H# t/ D# d+ Q3 n. v/ t8 \
1.没有任何安全防护
$ J2 b: F! D' W5 P- D/ E f- r 2.标准安全防护,最小化访问权限
5 W. C0 h& x" J5 M7 x; M 3.变更控制和元数据快照 ) h& k2 O- s% N4 e
4.绘画监控和审查 6 W* P" j9 ^5 F1 I, E0 M# A; p
5.基础SQL审计(DDL&DML)
1 D6 V0 S0 o- k 6.全面SQL审计和网络加密 " v( }4 r. l1 E" }) R B* g: p# V5 O
7.会话异常检测与告警
9 t, f6 g H) h6 [' _ 8.SQL异常检测与告警
, @& K4 l9 q) b0 u 9.主动取证检查
0 m; |4 e& N4 \# W 10.DBA和应用的访问限制
# u9 f' y* S( `# p9 U# K/ ] 上述十个安全级别的顺序对应安全性的增加以及成本和复杂性的增加。用户无需额外软件即可实现较低级别安全,但随着段位提升,难度将逐渐变大,并且需要合适的安全产品和解决方案。
. D. N' Y+ X' h 01 8 k- g: N p( Y
没有任何安全保护
I# C: v7 S6 Y, ?/ O; C 等级1 适用于不安全的数据库。所有数据库都自带一定的安全级别,即使您没有采取任何措施来保护它们。
" V8 g( {' w- }0 y l* D, D 02 5 V* u+ p$ V: r! X# q; j
标准安全和最低特权
; o& _! O" s: o1 C7 w0 _$ b6 z 等级2 适用于数据库和操作系统均按照行业标准和最佳实践进行配置的数据库。
1 X( M8 W3 i/ ~4 o) L* J. K3 s 此评级还要求所有数据库帐户的权限最低,这意味着授予帐户的权限是履行其职责所需的最低权限。
) V* t+ x4 i: P4 O) z' l 作为评级2要求的一部分,应该努力消除共享帐户。如果存在共享帐户,则不应经常使用它们,并且它们的凭据应保密。
; L* a% d7 k% B; r7 D% Q/ v$ J 对于内置于数据库中的特权共享帐户,尤其需要限制使用。Oracle中的SYS和SYSTEM或SQL-Server中的SA等数据库帐户不应经常使用,它们的密码应安全保存并限制访问。
* {6 E; x w, H# L2 Q z 例如,当应用程序使用特权帐户或共享帐户是我们运营方式的一部分时,此要求可能具有挑战性。但是,减少和控制这些帐户的使用对于安全至关重要。
" ^. u j8 l2 `% H# L3 [' k) ~( ^ 03 3 M, U0 |9 A4 O/ K; t2 B
变更控制和元数据快照
2 T+ P2 {& z, _! z 等级3 适用于受变更控制的数据库。这意味着对元数据(例如用户、权限、配置和对象)的任何更改都应经过更改控制批准流程。
; B' L5 g4 q7 \% m' R+ t 作为评级3要求的一部分,需要制作配置、用户、权限和对象元数据的每日快照。应及时调查和批准快照之间的更改。
+ [+ |# @: P6 u- E 本级别安全要求还建议将快照与类似数据库进行交叉比较,以确保一致和统一的配置、用户、权限等。 # }5 w/ H1 O# W! O& Z$ d
变更控制的挑战在于它可能很麻烦,而且往往被视为无用的繁文缛节。然而,缺乏对元数据更改的控制很快就会变成对数据的缺乏控制。
" W5 g6 ]9 B% L) Q+ k: g, } 04 4 a6 i" q+ {; v
会话监控和审查
8 g' G1 q0 J/ k% y 等级4 适用于所有登录都受到监控和定期审查的数据库。应及时调查来自意外用户、程序或机器的登录。 2 f9 k- a; g e" X/ ^
破坏数据库安全的最简单方法之一是窃取凭证。例如,窃取DBA用户名和密码将授予攻击者对数据的无限制访问权限。监控登录可以降低这种风险。 " X. B9 P- k8 Y+ D
大多数数据库允许以最小的开销审计登录和失败的登录。实施挑战是通过报告提供对信息的有效审查。 1 R4 I$ G" Q- [/ Y- \5 w4 s
05
/ a- i# T0 f. U) ^1 d5 { 基本的SQL审计(DDL&DML)
4 y( V$ [+ _- Z- ]: l 等级5 适用于定期记录、报告和审查高风险SQL活动的数据库。 2 B1 T2 [. Z& |6 d7 O
高风险SQL活动包括: 所有DDL(包括DCL)——修改数据库配置、对象、用户、权限等的SQL;来自意外来源的DML,例如特权用户和特定程序。/ A% O% ^( q) t" m" r$ J$ B
该要求的目的是对不频繁和高风险的活动实施控制。审核异常活动通常不会产生性能开销,并且需要投入的时间也很少。实施方面的挑战主要如何对活动进行及时有效的审查。 ; a' z& v3 a4 M
06 . p- W' R) [! N- f2 m% Q
完整的SQL审计和网络加密 ) C: w# t7 r! W9 [4 I
等级6 适用于在全面SQL审计下的数据库,其中所有潜在风险的SQL活动都会定期记录、报告和审查。
1 y1 K5 C; T3 v& g3 V4 L3 n 这转化为审计大量活动,包括查询。例如: 使用查询和DML访问敏感表;所有DBA和特权用户活动;来自高风险程序的所有活动,如SQL Plus、Management Studio等;不是来自应用程序服务器的应用程序帐户的活动;即使在数据库内部由存储过程或触发器执行的敏感活动。0 x4 [( S) J/ N4 ^
等级6还要求所有数据库网络活动完全加密,以防止网络嗅探和欺骗。
: C5 n. L6 M) U2 W7 i 此要求的目标是开始对SQL活动应用严格的安全措施并防止许多网络攻击。 ; |) h7 ~( b! Q1 `3 A
网络活动加密在大多数数据库中都是免费内置的,而且很容易开启。此要求中的主要实施挑战是在没有适当解决方案的情况下审计过多活动可能会对数据库性能产生重大影响。第二个挑战是实现有效的报告,以最少的时间投入及时审查信息。 " D) L; ]% b# f( I( C
在寻找审计解决方案时,请注意一些产品没有避免数据库性能开销,而另一些产品不支持网络加密。 5 Y# n6 P: A, `: F# t P$ ^
07 " S4 e7 Q* x5 C( L
会话异常检测和告警
- o$ D; y6 ~# K( O5 ^! N, \' o1 @; P 评级7 适用于对异常活动源进行自动检测和警报的数据库。与评级4中执行的手动会话审查不同,此评级需要能够检测活动源配置文件变化并实现告警的自动化。 0 r* e4 _0 n. j# F
包括: 对连接到数据库的新用户、程序、机器或它们的组合发出警报;检测共享帐户(多个个人使用的帐户)以及使用多个帐户的个人。- w3 c. I, e3 J( f# i2 M" L
此要求的目的是通过自动化来补充人工审查,以注意到并突出异常活动。这有助于避免意外疏忽,并确保快速检测和响应。实施需要适当的解决方案来执行分析。 8 D6 t! Z/ K9 y" P* R& n
08 0 d* \ k* I8 F! H. z2 [
SQL异常检测与告警
% |6 V# }. {8 [9 x4 y0 o6 B$ W 评级8 适用于对异常SQL活动进行自动检测和警报的数据库。与评级5和6中的手动SQL审查不同,此评级需要能够分析数据库中所有SQL活动(包括应用程序活动)的自动化。
' b7 F0 j5 A' j& u% m! [ 包括: 不寻常的应用程序行为,如潜在的SQL注入;异常活动水平。例如,执行的SQL数或访问的行数异常多;在一天中的奇怪时间活动;涉及敏感表的新SQL。9 d- h7 T# w' P, I; x
此要求的目标远不止避免意外疏忽和缩短检测时间。其目的是对无法进行人工审查的数据库中的大量活动进行控制。
- }+ Z4 Q& O+ A 即使是低活跃数据库每天也可能执行数百万次SQL查询,如果没有自动化,就不可能对它们应用任何级别的控制。该级别安全的实施需要能够以低开销捕获所有活动并执行分析的软件。
& k1 W1 B& W; f' H 09
1 J6 g, \- j* c" C" V2 U- p. c: A+ r& \ s 主动取证审查
4 r# F; [6 D7 W b$ H* j2 F 评级9 适用于定期进行主动活动审查的数据库。这意味着熟悉数据库活动概况的人员会定期检查活动(例如每月一次)。
" h1 P& ~; F. \7 Y& V; ^2 {/ V 审查的目的是确定可能未被发现的行为,包括内部滥用和外部攻击。检查还可以突出控制、风险做法等方面的差距。
7 J2 F$ M0 l+ T2 w 该级别实施需要一个解决方案,能够以最小的开销捕获所有活动,精简并将其存储在合理容量的磁盘空间中,并提供取证工具来分析和审查它。 0 W4 Y) f6 M3 K4 @
10
" Q& `3 ]" t5 {% ^# u! I o" N: z 限制对DBA和应用程序的访问
- W/ x$ \( N- L: h H7 J 等级10 适用于限制访问帐户的数据库,例如DBA帐户、特权帐户和应用程序帐户,否则对数据的访问将不受限制。 0 T/ Z5 E8 {4 I- v
此类限制通常不是本机数据库功能的一部分,可能包括: 防止特权帐户访问他们不应访问的模式、表或对象。例如,DBA帐户通常不应访问数据;阻止不应访问它的程序或机器访问该帐户。例如,只有应用程序和应用服务器才能访问应用帐号;阻止在不应该使用数据库的时间访问帐户;防止帐户访问比预期更多的数据(速率限制);通过要求安全人员预先授权某些特权活动来强制分离职责。
/ R" I* s& W$ B. {' l4 w 该级别安全控制需要一个单独的特权访问控制解决方案来实施,因为它超出了本地数据库的预防控制。对数据库应用预防控制会带来阻止合法活动的操作风险。因此,必须按照适当的最佳实践谨慎部署此类措施,以最大程度地减少中断的可能性。 5 I4 v4 b3 t$ l
. p; ]. k/ A' I9 w
& _" c+ R9 M: l7 e# r |