Deb Jenson (dejenson@us.ibm.com), 高级软件工程师, IBM
2008 年 4 月 17 日 数据治理是用于访问、管理、使用、改进、监视、维护和保护组织信息的质量控制方法。如何对数据服务器应用数据治理呢?保护数据服务器以及其中存储的数据的最佳方法是什么?我将解释应该采取哪些步骤,以及如何结合使用大多数数据服务器中的特性和第三方工具解决安全性和私密性问题。 来自 IBM Database Magazine 。
直到不久之前,提高因特网计算的性能和可用性一直是 IT 部门最关注的问题。但是现在,另一个问题的重要性甚至超过了这些问题:数据治理。所有组织都需要防止未经授权的人访问敏感的数据(公司机密、客户数据、个人文件等等)。随着政府法规和行业标准越来越严格,这种基本需求变得越来越紧迫和复杂了。许多法律法规要求实施特定的安全措施,还要求组织能够证明已经实施了安全措施。没有任何组织愿意由于发生信息安全事件而出现在新闻中。
数据治理是用于访问、管理、使用、改进、监视、维护和保护组织信息的质量控制方法。如何对数据服务器应用数据治理呢?保护数据服务器以及其中存储的数据的最佳方法是什么?我将解释应该采取哪些步骤,以及如何结合使用大多数数据服务器中的特性和第三方工具解决安全性和私密性问题。
作者 Deb Jenson
组织必须遵守法律法规的要求,这是促使他们采用数据治理工具的主要因素。但是,法律法规(以及相关联的需求和处罚)本身的意图是鼓励组织确保财务信息的精确性和私有信息的保密性。
什么是数据治理?
在过去七年里,公司财务欺诈(通常是公司高管篡改资产余额报告)多次成为商业新闻的头条。因此,国会出台了 Sarbanes-Oxley Act(萨班斯-奥克斯利法案)来制止这种欺诈行为,这个法案要求所有公共公司必须采用严格的财务过程。Sarbanes-Oxley 要求执行官对所有财务错误承担责任。执行官必须在所有财务报告上签字,如果出现违反规定的情况,他们就要面对非常严重的后果(高额罚款和监禁)。因此,许多公司现在都有公司审计人员,他们负责检查对财务数据的所有更新,确保财务数据的完整性。没有任何公司愿意让他们的 CEO 坐牢。
但是,数据治理不仅仅是通过最佳实践确保符合法律的要求;它还要保护数据免受内部或外部安全攻击的危害。如果您拥有敏感数据,那么必须确保数据的安全性。PGP Research 最近的一次调查表明,每次数据安全事件造成的平均损失是 480 万美元,造成的实际损失范围从 200 万到 2200万美元。
可以使用数据治理满足公司面对的各种法律要求,但是它应该解决的主要威胁是安全漏洞。最常见的两种安全威胁是泄露私有数据和篡改或修改数据。
最近的许多法案主要关注个人数据(换句话说,属于特定个人的信息)的私密性。无论个人是客户还是职员,他们都有隐私权。许多国家都有数据私密性法律;公司在日本面对最严格的法律,而美国的大多数公司同时受到州法、联邦法和行业法规的影响(参见第 26 页上的图 1)。许多州的私密性法规要求,当公司由于安全漏洞泄露了个人信息时,必须立即通知相关的个人(和政府官员),让受影响的人员能够尽快采取减轻损失的措施。通常情况下,如果泄露的数据经过加密,就不要求公布安全事件;因此,越来越多的公司对个人数据进行加密。
其他形式的机密信息(财务数据、商业机密等等)也需要保护,任何数据保护计划都应该包含这部分数据。
数据保护分为前瞻性(proactive)和反应性(reactive)两种形式(参见图 2);许多组织要求结合使用这两种形式。前瞻性战略防止数据漏洞,反应性战略尽快探测出已经发生的入侵。
图 1. 大多数州的法律都要求通知相关的个人
访问控制
前瞻性数据保护的一种常用方法是实现严格的访问控制策略,只授权特定的个人访问数据服务器,阻止其他所有人。
大多数数据服务器都提供另一个保护层,它限制对特定行或列的访问,而不是授权访问整个表。在 DB2 和 Informix Dynamic Server 中,这个特性称为基于标签的访问控制(label-based access control,LBAC)。通过使用 LBAC,组织可以把用户和组标签与表行或列标签关联起来,从而实现行或列级的访问控制。另一种方法是实现视图并只授权访问视图,而不允许直接访问底层表。如果使用这种方式,用户只能访问在生成视图时返回的数据。
下面列出一些访问控制方法,其中一部分是 DB2 特有的;但是,其基本概念可以应用于其他数据服务器:
- 删除所有 PUBLIC 特权,尤其是在生产环境中。
- 用 restrictive 关键字创建数据库(DB2)。
- 不要为了方便授予 PUBLIC 任何特权,即使在测试环境中也不要这样做。
- 显式地命名 SYSADM 组并尽可能限制其成员数量(DB2)。
- 通过使用 SECADM 授权(DB2 9 中的新特性),把 DBA 特权和安全性特权分隔开。
- 只把特权授予确实需要的用户。
- 考虑 使用 LBAC 限制对特定行和列的访问。
- 使用视图进一步限制访问。
- 只授权访问存储过程,而不允许直接访问底层表或视图。
数据审计
审计是一种反应性安全措施,世界各地的许多法律都要求数据审计。但是,公司还可以通过实现审计确保没有人篡改数据,从而保证财务数据和其他敏感数据的完整性,这对于那些受 Sarbanes-Oxley 法案影响的公司尤其重要。对业务用户(例如,人力资源和财务部门的职员)、具有无限制访问权的 IT 用户和敏感数据进行审计正在成为标准的业务实践。
IT 和审计部门已经认识到,来自数据库审计集合的数据包含大量信息。这些审计数据包含按时间排序的所有数据库访问的记录,这对于审计人员非常重要;它还有助于了解用户访问数据的行为方式。
尽管审计报告有助于了解访问数据的方式,但是无法防止安全漏洞。审计仅仅报告已经访问的数据。如果出现安全漏洞,审计有助于判断漏洞是如何出现的以及事故的范围。这些信息对于分析漏洞的影响和公布漏洞是必需的。
大多数数据服务器都提供了某种水平的内置审计机制(通常通过打开审计跟踪来启动)。2007 年年末发布的 DB2 9.5 提供了出色的数据库审计功能。每当发生要审计的活动时,审计跟踪会生成审计日志记录。审计的信息越多,开销就越大,所以只对包含敏感数据的表和具有重要访问特权的用户进行审计是有意义的。生成日志记录之后,把记录发送到一个日志文件。这个日志文件很可能需要某种程度的数据挖掘和报告,才能发挥作用。大多数公司会部署第三方审计解决方案,从而减少管理审计过程和生成审计记录所需的手工工作量。
在选择第三方审计解决方案时,应该寻找那些支持您的数据服务器平台,而且能够执行您需要的特定用户和表审计的解决方案。另外,审计解决方案应该能够对值得研究的可疑活动发出警告。最后,非 IT 人员应该能够通过容易使用的管理和报告控制台管理审计解决方案,所需的安全权限应该与数据服务器或操作系统维护的权限分隔开。
图 2. 数据服务器保护的形式
许多公司现在都有公司审计人员,他们负责检查对财务数据的所有更新。
数据加密
数据加密是数据安全性的重要组成部分。尽管大多数组织都使用边界和防火墙防止入侵,但是数据安全事件仍然经常发生。研究表明,大约 80% 的安全事件发生防火墙内部。加密使不掌握加密密钥的任何人都看不出数据的意义,从而防止对数据进行未授权的访问。
一些法规要求对敏感数据进行加密,从而保护个人隐私。一些州的隐私法律规定,如果安全事件涉及的数据经过加密,就可以不对外公布安全事件。因为公布组织出现了安全事件会严重损害声誉,影响业务收入,所以加密成为很有吸引力的做法。对通过网络传输的数据和存储在硬盘等介质上的数据进行加密是很重要的。离线数据(比如备份)也必须加密。数据备份常常成为窃贼的目标,因为磁带等备份介质很容易被偷走。而且,这些离线备份常常被运输到远程站点,这会增加被偷的风险。
加密解决方案应该支持在线和离线(备份)加密,还应该支持各种加密算法和密钥(不对称、对称等等)。要考虑解决方案对应用程序的透明程度;如果解决方案不够透明,那么修改所有需要访问加密数据的应用程序可能需要花费几年时间。解决方案最好在它们保护的数据库之外管理密钥(有些法规要求这样做)。
对于选用列级加密,还是文件级加密,还存在一些分歧。一些公司认为,与文件级加密相比,只加密敏感数据(列级)效率更高(见图 3)。但是,大多数列级加密要求修改使用数据的应用程序,这是一项非常繁重的任务。另外,列级加密会影响性能,这是因为要在应用程序级管理解密的开销,而不是在文件系统级;对于任何列级加密的实现,一定要进行压力测试,从而充分了解它对应用程序的影响。
另一个相关选项 —— 数据屏蔽(data masking) —— 可以在测试环境中保护数据的私密性。在把数据从一个环境复制到另一个环境时(例如,从生产环境到测试环境),可以使用数据屏蔽打乱敏感数据。通常在生产环境中不使用这种技术,因为无法恢复数据。应该寻找提供“现实的”数据屏蔽的解决方案,也就是说,打乱后的数据能够模仿真实数据。例如,如果公司决定打乱 Visa 信用卡号,那么数据屏蔽生成的数字应该反映有效 Visa 卡号的模式。对于参与外包开发,并希望在开发期间保护敏感数据的公司,数据屏蔽是很好的解决方案。
活动监视和警告
对于防止安全入侵来说,数据库活动监视器是另一种重要的工具。数据库活动监视器通常是一个网络设备,它监听并分析从客户机或应用服务器发送到数据库服务器的网络流。因为并非所有数据库活动都要通过网络(存储过程和本地登录就不需要通过网络),所以大多数数据库活动监视解决方案都提供一个驻留在数据服务器上的代理,它负责监视本地活动。
人们常常把数据库活动监视与数据库审计混为一谈,因为这两种解决方案都收集访问活动信息。但是,因为活动监视所观察的是通过网络的实时通信流,所以它是前瞻性的解决方案;而数据库审计常常在日志中记录活动之后很晚才执行(几小时、几天甚至几周之后)。
图 3. 列级加密和文件级加密
通过观察实时通信流,数据库监视器可以在发生安全入侵时发出警告,这样就可以快速采取补救措施,挡住入侵或减少损失。一些活动监视器可以停止可疑或未经授权的通信流,比如多次失败的密码尝试,这样实际上就可以起到数据库防火墙的作用。
数据库活动监视通常由监视策略驱动,这些策略指定应该分析、报警、报告和停止哪些通信流。这个领域的一些产品提供了协作特性,可以观察网络通信流,并帮助管理员根据探测到的正常网络通信流模式设置策略。
许多公司用他们的活动监视器作为数据库审计工具,因为数据库活动监视器收集的许多信息正是数据库审计所需要的。但是,大多数数据库活动监视器并不提供关于数据库记录的内容和所做修改的详细信息;因此,在大多数公司中很可能需要某种数据库审计实现。
表 1. 法规和相关的解决方案
|
需求
|
特性
|
可应用的法规
|
说明
|
可用的 IBM 解决方案
| |
防止数据入侵
|
访问控制
|
所有
|
分配惟一的用户 ID 和密码,基于用户 ID 授予特权
|
内置的访问控制;基于标签的访问控制
| |
审计
|
审计数据库特权Sarbanes-Oxley;HIPAA;PCI授予审计特权IBM Audit Management Expert审计数据库访问所有对数据库访问进行审计跟踪IBM Audit Management Expert
| |
保护私密性
|
加密各州的隐私法律;GLBA;HIPAA;PCI对数据进行加密,确保在发生未授权访问时的私密性IBM Database Encryption Expert测试数据生成和数据私密性各州的隐私法律;GLBA;HIPAA;PCI确保测试数据使用打乱的敏感数据Optim Test Data Management with Optim Test Data Privacy
| |
数据保留和退役
|
数据存档
|
Sarbanes-Oxley;HIPAA
|
对不再访问的数据进行存档
|
Optim Archiving
|
弱点测试
许多法规要求公司有能力测试数据服务器的弱点。这种测试使用各种技术尝试攻破数据服务器。基于网络的弱点评估扫描器可以发现组织中的数据服务器,并评估其安全性。这些扫描器实际上模拟黑客攻击数据服务器的过程。大多数扫描器能够定位、探测和报告这些安全漏洞,甚至能够采取纠正措施。弱点扫描器常常会探测出容易受攻击的用户 ID 和密码、过大的访问权限、SQL 注入和特洛伊木马。
在选择扫描器时,应该寻找能够对防火墙内外执行扫描的扫描器。与反病毒软件一样,弱点扫描器一定要经常更新。随着数据库新版本的发布或应用补丁,攻击技术会频繁变化。在选择弱点扫描器时,一定要确保它们的更新足够快,能够及时跟上新版本并包含新发现的弱点。
没有简便的解决方案
在保护数据服务器免受入侵方面,没有万能的解决方案;这个任务需要制订全面的战略,还需要一套满足所有需求的安全工具(见表 1)。在制订安全战略时,应该分析自己的私密性、安全性和合法性需求,并确定它们的优先次序。实现完整的安全战略要花费时间,而且通常要完成多个实现。了解什么是最重要的,会帮助您决定首先实现什么。
但不幸的是,没有任何数据库是完全不可能攻破的;总有坏人打数据的主意,他们会想尽一切方法实现他们的目的。访问控制有助于阻挡犯罪份子;加密让黑客即使拿到数据,也没用;监视和审计可以把发生的入侵的影响降到最低。
另外,作为安全策略最后的组成部分,您还应该制订良好的应急计划,以免在发生安全事件时措手不及。一定要未雨绸缪。
参考资源
关于作者  | |  | Deb Jenson
[dejenson@us.ibm.com]
于 2004 年加入 IBM,从事 DB2 数据服务器的战略性市场营销。她在软件业有超过 10 年的经验,并且在开发数据库产品方面有丰富的经验。
|
对本文的评价
|