数据安全审计
数据级安全性对职责分离的重要性
处理数据的组织需要关注遵守不同程度的职责分离强制执行情况。 这意味着要确保没有多人参与和审查就无法完成任务,因为欺诈和人为错误的可能性较小。 这就是为什么典型的审核流程需要多个人的审查和签字才能充当制衡系统的原因。
关于数据,类似的概念是确保人们只有在需要完成工作的范围内才能访问数据。 换句话说,客户支持代表没有理由要查看客户的社会保险号,部门经理就没有理由要查看对等经理团队的工资数据。 这个问题就是为什么某些数据库供应商实施了更精细的安全性选项,例如DB2行和列访问控制或Oracle虚拟专用数据库。
InfoSphere Guardium是企业范围内的数据活动监视和审计解决方案,它还支持用于按角色和数据划分职责的基础架构。 换句话说,使用InfoSphere Guardium,您可以在系统中为组织角色和层次结构建模,并根据角色自动过滤审核数据。 这是确保效率并消除企业部署冗余的关键要素,因为您无需更改流程即可无缝地将数据库活动监视合并到审核流程中。
定义利益相关者及其职责可以实现职责分离,但更重要的是,它简化了创建和更新审核报告的过程,而无需为不同的利益相关者创建单独的审核报告。 这对于具有多个涉众的大型环境尤其重要。 考虑人员变更,职责变更和合并的方案。 通过定义组织结构,您所需要做的就是指定新职责,并且审核过程保持不变。 无需更新所有审核报告和工作流程。 这是一项隐性成本,可能是成功实施与需要比原始预期更多资源的昂贵正在进行的操作之间的差额。
本文将更详细地描述Guardium数据级安全性的工作方式,然后使用示例方案将其实际应用。
了解InfoSphere Guardium中的数据级访问控制
用户和角色
在Guardium系统中,定义和修改用户涉及确定谁将使用Guardium系统以及将他们分配给哪些角色。 Guardium使用安全角色来控制对解决方案组件和应用程序的访问(报告,警报,审计流程定义,等等)。 将安全角色分配给其任何组件时,只有那些还被分配了该安全角色的Guardium用户才能访问该组件。 因此,可以将安全角色视为一组Guardium用户,这些用户都具有相同的访问特权。
合规工作流程
IBM InfoSphere Guardium法规遵从性工作流自动化应用程序简化了整个法规遵从性工作流流程,从而有助于自动生成审计报告,分发给关键利益相关者,进行电子签名和升级。 工作流程过程完全可由用户自定义; 特定的审核项目可以通过签字单独进行路由和跟踪。 所有这些信息都可用于您的审核报告,这有助于增强内部流程的安全性。
遵从性工作流使您可以捆绑一组报告,对作业(敏感数据的自动位置)或漏洞评估(VA)运行进行分类,并计划将其交付给指定的收件人。 如图1所示,使用自动电子邮件通知以及在其InfoSphere Guardium Web界面上的“待办事项”列表的更新,向分配了动作的个人通知他们在执行工作流程过程中需要执行的特定动作。
图1.合规性工作流跨越角色边界
![该图显示了通过DBA,信息安全以及审核员或经理的审核流程。](https://i-blog.csdnimg.cn/blog_migrate/b670cdc20ed3fe9c5ceea183cc4e4469.png)
另外,InfoSphere Guardium通过跟踪哪些收件人已审阅或签名来自动管理分发状态。 可以通过Web界面安全地执行所有必需的操作,包括查看结果,提供批准,评论和升级操作。
操作是逐行执行的,可以进行快速而彻底的检查,并确保流程不会被需要调查的单个行项阻塞。 例如,收到每日PCI DSS异常报告的个人可能会发现它包含五个事件,其中四个是由已解决的已知问题引起的。 可以将这四个项目快速标记为已审核并批准,而在调查并解决事件之前,不会批准第五个项目。 四个批准的项目将立即进入工作流程的下一步,随后是第五个项目。 也可以在行项目的基础上添加注释,例如指示已采取了哪些补救措施的注释。
用户层次结构和用户数据库关联
Guardium通过使管理员能够将特定数据库或系统的职责分配给用户及其分层管理,来支持职责分离。
- 数据安全性用户层次结构定义了组织管理树。 管理者可以选择继承分配给被管理人员的数据视图。
- 用户与数据库的关联是如何向特定用户分配特定的数据库服务器(通过数据库名称和IP)。 该用户将仅看到分配服务器的审核。 这与支持集中式IT部门业务线的企业组织结构非常吻合。
如前所述,通过实现数据级安全性,可以将单个报告分发给不同的用户以供他们查看。 每个用户都将看到他或她负责的部分。
方案概述
一个简单的示例说明了数据级安全性的好处。 假设Sample Company要创建一个通用报告,用于检查数据库活动。 一项关键要求是确保DBA仅审查其负责的数据库的活动报告。 这不仅是为了强制分工,而且还通过过滤与他们无关的信息来帮助DBA将精力集中在他们的直接责任上。
如图2所示,DB2 DBA(被授予所有DB2数据库InfoSphere Guardium权限的DBA组成员)将仅看到与DB2数据库相关的活动报告,而被授予Oracle数据库活动权限的Oracle DBA报告中,只会看到那些结果。
图2.用于审计目的的样本公司组织结构
![DBA管理器向他报告了oracle,db2和mysql DBA。审计管理人员有一名SOX经理和一名HIPAA审计员向他报告。](https://i-blog.csdnimg.cn/blog_migrate/20de4cc134ef561bd55151cb95bd8ed4.png)
MySQL DBA被授予查看MySQL数据库活动报告的权限。 在这种情况下,DBA组管理器负责所有数据库管理员,并允许查看所有数据库活动报告。
还有一个审计部门负责内部审计。 在审核员组中,SOX审核员负责财务数据,例如销售,薪水和订单,无论这些数据存储在何处。 HIPAA审核员审核与患者信息相关的数据,无论该数据存储在何处。
下一节将向您展示如何设置此环境。
启用数据级安全性
可以通过IBM InfoSphere Guardium Web控制台轻松配置数据级别安全性功能。
- 以管理用户身份登录。 单击管理控制台 ,单击配置 ,然后选择全局配置文件 ,如图3所示。
图3.使用全局概要文件配置来启用数据级安全性
- 向下滚动全局配置文件,直到找到“ 数据级别安全性”选项 。
- 点击启用 。 将选择“ 数据级别安全过滤” ,如图4所示。
图4.使用全局概要文件配置来启用数据级安全性
以下讨论了此“全局配置文件”屏幕上的其他几个相关项目。
- 默认过滤选项有两个单独的复选框,其值如下:
- “全部显示”仅与特殊的数据安全豁免角色一起使用,这意味着具有此角色的人员将始终看到报告中的所有数据。
- 包含间接记录是一种启用全局默认设置的方法,该默认设置使层次结构中较高的用户可以查看层次结构中较低的人员的报告数据。 您暂时不会打开此功能。 您将学习如何在单个报表上使用该选项。
- 将结果升级给所有用户复选框与合规性工作流程相关。 启用此功能意味着,在合规性任务流中成为接收者的某人可以将其升级为任何其他用户,而不仅仅是其经理(或层次结构中位于其上方的另一个用户)。 如果您使用的是数据级安全筛选,则将接受这些设置,这意味着其他用户可能或可能无权查看任务报告中的数据。 如果此框保持清除状态,则他们只能升级到其层次结构中较高的某个人。
定义用户和角色
通常为访问管理器帐户保留Guardium系统中用户和角色的管理,以帮助在Guardium环境中强制执行职责分离。 这是分配了accessmgr用户名的Guardium用户。 定义和修改用户涉及确定谁将使用Guardium系统以及将分配给他们什么角色。 角色是一组用户,所有用户都被授予相同的访问权限。
可以由访问管理器使用Guardium Web用户界面创建前面提到的方案,如下所示。
- 以accessmgr身份登录到Guardium。
- 单击访问管理选项卡。
- 单击Add User按钮,如图5所示。
Guardium还可以从您现有的Active Directory或LDAP目录中导入,以提供用户访问权限和定义。
图5. Guardium中的用户浏览器
- 这将显示您可以添加用户的表单。 输入完每个用户后,单击Add User ,如图6所示。
图6.使用全局概要文件配置来启用数据级安全性
在图2所示的组织中,有两个部门,每个部门有七个用户。 可以使用前面描述的简单过程创建每个用户。 最终结果将类似于图7所示。
图7.用户浏览器显示添加了Sample Company用户
创建用户层次结构
与用户和角色一样,用户层次结构的管理保留给访问管理器。 定义和修改用户层次结构涉及确定谁将向谁报告(层次结构),以及谁将需要哪些数据。
利用用户层次结构信息,访问管理器可以如下定义用户之间的层次结构顺序。
- 以accessmgr身份登录到Guardium用户界面。
- 单击数据安全性选项卡。
- 在左侧导航中,单击User Hierarchy ,这将打开如图8所示的portlet。
图8.用户层次结构-第一个屏幕
- 使用下拉菜单选择DBA管理器。 这将在右侧弹出另一个面板。
- 右键单击DBA管理器,然后选择Add user以将用户添加到该特定管理器,如图9所示。
图9.在DBA管理器下添加用户
注意:您需要从上至下创建层次结构。
在您的样本公司中,审核经理负责所有审核员。 DBA部门的结构相同,所有DBA均向DBA经理报告,如图10所示。
图10.审核员和DBA层次结构
创建用户和数据库服务器之间的关联
数据安全性用户到数据库的关联表示用户和实例(数据库)之间的关系,并在实例级别为用户强制执行数据级安全性,仅允许指定的用户查看特定的服务器和数据库。 要创建此关联,请执行以下操作。
- 以accessmgr身份登录到Guardium用户界面。
- 单击数据安全性选项卡。
- 从左侧导航栏中单击User-DB Association ,这将显示如图11所示的portlet。
图11.选择一个或多个来源以提供数据服务器建议
您可以让Guardium从以下一个或多个来源中查找服务器和服务名称(数据库)。- 观察到的访问: “服务器和服务名称”是从InfoSphere Guardium收集的数据中选取的。 因为此选项不需要S-TAP(数据库服务器上的监视代理),所以可以在例如聚合设备上使用它。
- 数据源定义:此选项查看Guardium系统中现有的数据源定义。 对于可能需要数据源的任何活动,例如漏洞评估或数据分类,您可能都有这样的列表。
- S-TAP定义:此选项查看与已安装和配置的S-TAP关联的数据库信息。 即使S-TAP没有主动收集数据,也可以从中获取数据库信息。
- 自动发现的主机:此选项依赖于从InfoSphere Guardium中的数据库发现功能返回的数据库信息。
- GIM发现的系统:此选项依赖于从Guardium Installation Manager(GIM)发现返回的信息。
- 单击您要使用的建议来源,然后单击“ 转到” 。
- Guardium将为您的数据库显示IP地址和实例名称的树形结构。 右键单击任何适当的节点,以将用户与该数据库或节点中包括的所有数据库关联。 例如,图12显示了选择的DB2INST1 。
图12.右键单击服务器以选择要关联的用户
- 如图13所示,SOX审核器和DB2DBA与此服务器相关联。
图13.与DB2INST1关联的用户
- 完成添加用户后,单击“ 完全更新活动用户-数据库关联图”按钮。
为了验证您的工作,您可以使用Guardium报告(在“数据安全性”选项卡的左侧导航中)查看您刚刚创建的关系,或者查看未定义关联的位置。 图14显示了一个这样的报告,称为Servers Associated 。
图14.用户和服务器之间的关联
由于默认情况下,全局概要文件不包含间接访问记录,因此没有一个审核管理器可以直接访问任何数据库审核数据。
数据安全用户到数据库的关联会过滤来自访问,异常和策略违规域的报告。 数据安全用户与数据库的关联未过滤所有其他域(报告)。
实际过滤:报告结果
现在,检查是否已成功配置数据级安全性。 如果一切顺利,则用户可以查看与其直接关联的数据源的活动。 此外,通过选中给定报告上的“ 包括间接记录”复选框,管理者可以查看向其报告的那些用户的数据服务器数据。
例如,请参见图15中名为“每种类型的数据库数量”的预定义报告。当您以用户身份登录时,可从初始“ 视图”选项卡使用此报告。
图15.审计经理看不到任何记录,因为不包括间接记录
在此示例中,审核管理器未选中“ 包括间接记录”复选框。 如果您从图14回忆起,审核管理器没有直接访问权限,因此默认情况下将看不到任何数据。
但是,如图16所示,选择了带有“ 包含间接记录”选项的同一报告,并且审计经理现在可以从数据库中查看与SOX和HIPAA审计员相关联的信息。
图16.审计经理查看其员工的记录
让我们看另一个例子。 DBA使用的典型报告是吞吐量报告,当您以用户身份登录时可以使用该报告。
单击查看选项卡,然后从左侧导航选择性能 > 吞吐量(图形) 。
该报告将生成报告期间内所有可见服务器IP的计数以及总访问量。 在最外面的级别,访问按访问期限实体的“期限开始时间”进行分组,通常为一小时。
如图17所示,DBA管理员看不到任何活动,因为他对数据库没有任何直接责任。
图17. DBA管理器看不到任何记录,因为不包括间接记录
但是,如果DBA经理想要查看其团队的报告,那么他必须选中包括间接记录复选框,然后他才能看到结果,如图18所示。
图18. DBA经理查看工作人员的记录
实际过滤:工作流结果
最后但并非最不重要的一点是,数据级安全性也适用于通过合规性工作流路由的报告。 在本部分中,您将看到如何将单个数据服务器访问报告路由到不同的用户以进行查看和签名,以及这些用户将如何仅查看他们负责的数据源的信息。 此外,通过选中给定报告上的“ 包括间接记录”复选框,管理者可以查看向其报告的那些用户的数据服务器数据。
要创建工作流程,请执行以下操作。
- 以admin登录到Guardium用户界面。
- 单击Tools选项卡下的Audit Process Builder ,如图19所示。
图19.创建一个新的合规性工作流程
- 点击新建 。
- 创建一个称为DB Server List的审核过程定义。
- 添加此审核过程的接收者: DBAManager , DB2DBA和OracleDBA 。 图20显示完成后的外观。
图20.用于接收和查看报告的Receiver表
- 在“审核流程生成器”中的接收方表下方,您将看到可以在哪里为该新流程创建任务。 在这种情况下,您想将“数据库服务器列表”报告发送到您的DBA。 输入任务的描述,然后选择“ 报告”单选按钮以激活用于填写报告名称和报告其他参数的字段。 图21显示了审核任务定义的样子。
图21.完成的审计流程任务
- 保存 ,然后运行审核过程。
- 现在,OracleDBA,DB2DBA和DBAManager可以登录Guardium并在其“ To-Do”列表中查看报告,如图22所示。
图22.用户的待办事项列表
当Oracle DBA查看他的报告时,他将仅看到与Oracle数据库有关的信息,如图23所示。图23. Oracle DBA看到了他的报告版本(部分)
当DB2 DBA查看她的报告时,她只会看到与其DB2数据库有关的信息,如图24所示。图24. DB2看到了她的报告版本
最后,当数据库管理员查看他的报告时,如果他没有选择Include indirect records复选框,他将不会看到任何结果,如图25所示。图25. DBA管理器看不到任何数据
数据库管理员需要选中Include indirect records复选框以查看其员工的所有记录,如图26所示。图26.带有间接记录的DBA管理器结果(部分)
结论
InfoSphere Guardium提供了一种数据安全和合规性解决方案,该解决方案支持职责分离,同时消除了冗余配置,并使组织能够简化企业部署。 正如您通过阅读本文所看到的,可以自动执行合规性要求所需的流程。 应用数据级安全性和用户层次结构的能力使审计数据可以针对接收者自动适当地定制,而无需为单个用户创建单独的报告和流程。
致谢
作者要感谢Joe DiPietro的审查和支持。
翻译自: https://www.ibm.com/developerworks/data/library/techarticle/dm-1302datalevelsecurity/index.html
数据安全审计