编辑的注解:本文反映了由于宣布JSonar的SonarG解决方案已作为IBM Guardium产品组合的一部分(名称为Guardium Big Data Intelligence)从IBM获得的结果,这些变化。
使用IBM Security Guardium活动监视来确保数据安全性和合规性的组织在收集的审计数据数量方面遇到了困难,尤其是当它们有10个或更多Guardium收集器时。 IBM Security Guardium大数据智能提供了大数据平台的功能,该平台是专门为满足数据安全要求而构建的。 它具有快速创建优化的安全性数据湖的能力,从而有助于扩展现有的Guardium部署,该湖可以长时间保留大量历史数据。
本文介绍了Guardium大数据智能解决方案,它如何适合Guardium企业部署以及如何将大数据智能解决方案与Guardium数据和文件活动监视解决方案集成。
Guardium的活动监视生成多少数据?
IBM Security Guardium提供了全面的数据保护解决方案来帮助保护数据和文件。 功能包括漏洞评估,活动监视和静态加密。 Guardium使用基于主机的探针主动监视对敏感数据的所有访问。 然后,在Guardium收集器中收集并处理数据事件(请参见图1)。
图1:从S-TAP到收集器的数据流
由于将如此多的数据高速发送到收集器,因此解决方案可以水平扩展以允许许多收集器处理工作负载。 在典型的Guardium部署中,存在如图2所示的组件层次结构。S-TAP拦截数据库活动并将其发送给收集器。 收集器分析活动并将其记录到收集器上的本地存储中。 收集器转储数据并将其复制到聚合器,在聚合器中数据被合并以在整个企业中进行报告。 最后,中央管理器管理整个联合系统。
图2:企业Guardium部署中的设备
![企业Guardium部署中的设备](https://i-blog.csdnimg.cn/blog_migrate/1af4117aa828327256aef036158ff5da.png)
Guardium收集大量与数据相关的事件,例如会话数据,查询数据,异常,授权失败和其他违规。 典型的Guardium系统将捕获数十亿个复杂记录。 与其他安全事件不同,数据库活动包括复杂的数据,例如正在操作的对象,正在执行的操作,会话中操作的上下文等。 由于数据的数量和速度,Guardium是利用大数据技术的主要候选人。
Guardium大数据智能
如图3所示,Guardium大数据智能是一个大数据解决方案,用于整合,存储和管理Guardium活动监视捕获的所有复杂数据,还提供了丰富数据以扩展上下文的方法。 这样,它可以优化Guardium活动监视的价值和功能,并为获得新功能和收益铺平道路。 它利用大数据技术来简化对不断增长的大型Guardium活动监视数据池的收集和分析。
图3:Guardium大数据智能为数据安全洞察提供了大数据解决方案
Guardium大数据智能在四个主要方面增强了活动监视平台:
- 通过简化数据收集并减少汇总和报告的成本和时间。
- 通过以低成本高效的方式实现Guardium数据的长期在线保留。 此外,使组织能够轻松快速地与数年的数据交互。 例如,以下来自内部日志的摘录显示了一个复杂的查询,该查询从270亿条完整SQL的数据集中找到19个匹配项(代表了12个月内来自100个收集器的数据)。 在查看会话级信息(例如客户端IP,数据库用户名)和完整SQL本身的正则表达式时,此查询用了不到5分钟的时间:
清单1:Guardium大数据智能日志中的样本数据
command gdm3.$cmd command:{"aggregate":"full_sql","pipeline":[{"$match":{"Full Sql":/GUARD_TABLE73/i,,"Timestamp":{"$gte":ISODate('2014-01- 01T05:00:00.000Z'),"$lte”:ISODate('2014-01-10T05:00:00.000Z')}}},{"$join": {"$joined":"session","$as":"session","$match":{"Session Id":"$session.$Session Id"},"$project": {"Client IP":"$session.$Analyzed Client IP","Server IP":"$session.$Server IP","Server Type":"$session.$Server Type","Service Name":"$session.$Service Name","Source Program":"$session.$Source Program","DB User":"$session.$DB User... ntoreturn:0 keyUpdates:0 locks(micros) w:0 reslen:130 Execution Time = 245501ms
- 通过创建对有价值的活动数据的更快,更广泛的访问,为组织中的不同组提供自助服务访问。 这种自助服务功能减少了Guardium管理员参与业务所需的每个报告的需求,并使多个利益相关者能够更好地利用Guardium捕获的高价值数据。
- 通过对扩展的数据集进行高性能分析。 例如,图4显示了大型收集器环境在6个月内的每日会话吞吐量的图表。 图5显示了为期6个月的所有异常的分析,清楚地突出显示了高异常事件的几个时期。 由于分析是在很长时间内对所有收集器数据进行的,因此它们在识别异常值方面非常精确。 例如,图5通过异常值模型显示了一段时间内异常用户连接的可视化。
Guardium大数据智能提供增强的功能,快速的报告和高级分析。 同时,它通过减少硬件和提高运营效率,简化了Guardium部署并降低了解决方案的总成本。
图4:6个月的会话吞吐量
图5:为期6个月的异常分析
从体系结构的角度来看,Guardium大数据智能与传统的Guardium体系结构集成在一起,作为聚合层的替代方案。 收集器配置为使用Guardium数据集市机制来创建各种活动/数据的每小时数据提取。 这些数据集市摘录被收集器复制到SCP上的大数据智能解决方案中,在其中被消费并合并到所有Guardium数据的单个大数据存储中,即使它们来自数百个收集器。 我们将在下一节中更详细地介绍这一点。
大数据智能对Guardium企业部署的影响
如前所述,Guardium企业部署使用收集器和聚合器。 收集器从S-TAP(基于主机的探针)获取提要,并首先在本地存储数据。 然后,每个收集器每隔24小时将其日常数据移动到一个聚合器中,在该聚合器中聚合数据,如图6所示。当需要企业级查询时,组织要么使用在这些聚合器上运行的分布式报告(通过使用报告服务器)。或在较旧的部署中,通过使用第二层聚合。 典型的企业级Guardium部署将具有多个聚合器,因为建议的比率是每个收集器在1:8到1:10的聚合器之间。
图6:Guardium基础架构
![Guardium基础架构](https://i-blog.csdnimg.cn/blog_migrate/cf105fe7db6f7b9fd551304b68cd6809.png)
使用Guardium大数据智能体系结构,收集器可以直接与大数据湖进行通信,如图7所示。这种通信极大地简化了数据收集机制,并促进了对较大数据集的更有效收集,同时还使用了较少的硬件基础结构。
图7:Guardium大数据智能可以简化Guardium部署
收集器每隔一小时将数据推送到Guardium Big Data Intelligence数据湖,在此数据与以前的数据合并,避免了以前的体系结构中常见的24-48小时的数据滞后。
Guardium Big Data Intelligence甚至可以跨多个Central Manager域整合活动数据。 这对于通常使用多个Central Manager合并数据的大型企业部署尤其重要,因为它提供了企业范围内活动数据的真实视图。
Guardium收集器和大数据智能仓库之间的接口基于Guardium数据集市机制。 数据集市是Guardium V9中引入的,它是一种强大的机制,可在不进行聚合过程且收集器处理器使用率非常低的情况下,持续生成查询报告。 数据集市还提供了从Guardium提取数据的最有效方法。
Guardium包括几个数据集市,用于为Big Data Intelligence数据湖提供数据。 这些数据集市按小时计划运行,并使用计划的作业将文件复制到数据湖,这些作业会生成提取文件并通过加密通道(通过使用SCP)复制文件。 这些文件由ETL处理,并以使报告和分析快速而简单的形式放置,如图8所示。
图8:Guardium收集器生成由ETL处理的数据
使用Guardium大数据智能解决方案对大数据架构的优势
从基础结构的角度来看,此方法有很多优点,包括以下潜在好处:
- 降低了聚合的硬件和运营成本。
- 将数据整合的延迟时间从24小时减少到1小时。
- 通过更频繁地从收集器清除数据来减少收集器的存储空间。
重要的是,无论是实验室测试还是生产部署,都表明报告在大数据平台上的运行速度比在聚合器上快10-100倍 ,从而使该系统对于合规性报告和安全分析都更具价值。 该系统使用各种压缩技术来降低长期保留的成本,同时还以一种允许长时间报告而不需要恢复存档文件的形式保存数据。
Guardium大数据智能要求
Guardium Big Data Intelligence需要运行Linux®,并且通常安装在组织的标准Linux构建之上。 它可以在各种Linux风格上运行,但通常安装在Red Hat Enterprise Linux上。
典型的Guardium Big Data Intelligence节点将具有2个CPU,64-128G内存(取决于负载和并发要求)和2TB-30TB磁盘(取决于收集器的数量,保留需求和Guardium策略)。 该系统可以是物理的或虚拟的。 虚拟系统更易于部署,但是具有本地磁盘的物理系统由于可以访问成本较低的本地存储而价格较低。
Guardium Big Data Intelligence允许使用廉价的商品旋转磁盘,并且经过专门优化以利用新的云和对象存储技术。 这些使企业能够以传统企业存储成本的一小部分轻松构建大规模安全数据湖。
数据集市:将大数据智能数据湖与Guardium收集器和中央管理器集成在一起
Guardium活动收集与大数据湖之间的集成依赖于在Guardium收集器和中央管理器上使用数据集市,以组织和打包适当的数据,以将其定期从Guardium导出到Big Data Intelligence数据湖中。
这些数据提取文件通常每小时发送一次,尽管它取决于特定的数据集。 例如,每5分钟发布一次诸如S-TAP运行状况之类的操作数据,以进一步减少信息的等待时间并提高对问题的响应能力。 分类和漏洞评估(VA)结果每天发布。
数据集市推送机制具有高度的弹性。 如果由于网络中断或其他任何原因未能按时推送数据,则会在以后的周期中推送数据。 通过使用附加的独立数据集市摘录对所有数据进行计数和交叉引用,该摘录使Guardium Big Data Intelligence可以验证所有数据传输并确认数据传输的完整性。 如果数据未到达或存在不一致,则会立即向操作员发出有关详细信息的警报。
集成中使用的数据集市与以下类型的数据相关联:
- 特定于收集器的数据,例如活动数据和S-TAP状态数据。 活动数据包括:会话数据,异常数据,完整SQL数据,查询数据等。 活动数据也是转移到大数据湖中的绝大多数数据。 活动数据和S-TAP状态数据都仅在收集器上激活。 (S-TAP仅连接到收集器。)
- 分组数据: Guardium分组透明地复制到大数据湖中,以便您可以在报告中使用分组。 在中央管理器上调度组数据集市。
如果您具有多CM环境,请在每个CM上安排组数据集市,并在Guardium Big Data Intelligence系统上更改/etc/sonar/sonargd.conf
使其具有:split-collector: - group_members
- 非活动数据,例如漏洞评估和分类器数据。 在执行扫描的Guardium设备上激活这些数据集市。 它们是收集器,聚合器还是中央管理器都没有关系。
- 系统级数据集市包括缓冲区使用情况数据,系统信息数据,以及其他由Guardium Big Data Intelligence用于提供Guardium系统操作方面的企业视图的数据。 在所有Guardium设备上激活这些系统级数据集市。
构成集成层的数据集市可用于Guardium V9和V10,但并非两者都可用。 例如,V9和V10.1.2中的异常数据看起来有所不同。 表1显示了不同的数据集市名称。 对于V10.1.2及更高版本,使用DM 49和DM。 对于V10.1.2之前的版本,请使用DM 27和DM(但不要同时使用两者)。 表1列出了2016年底可用的DM。
重要提示:通常,根据实现范围和Guardium版本选择精确的DM集。
表1:Guardium大数据智能的可用数据集市
数据集市名称 | 报告标题 | 单位类型 | Guardium版本 | 数据集市ID |
---|---|---|---|---|
导出:访问日志 | 导出:访问日志 | 集电极 | 所有 | 22 |
导出:会话日志 | 导出:会话日志 | 集电极 | 所有 | 23 |
导出:会话日志结束 | 导出:会话日志 | 集电极 | 所有 | 24 |
导出:异常日志 | 导出:异常日志 | 任何 | 所有 | 25 |
导出:完整SQL | 导出:完整SQL | 集电极 | 所有 | 26 |
导出:异常值列表 | 分析异常值列表 | 任何 | V10.1.2之前的版本 | 27 |
出口:按小时分类的异常值摘要 | 分析异常值摘要 按日期 | 任何 | V10.1.2之前的版本 | 28 |
导出:导出提取日志 | 用户定义的提取日志 | 任何 | 所有 | 31 |
出口:集团成员 | 出口:集团成员 | 任何 | 所有 | 29 |
出口:违反政策 | 出口:违反政策 | 集电极 | 所有 | 32 |
出口:增益使用情况监视器 | 增益监控 | 任何 | 所有 | 33 |
导出:VA结果 | 安全评估输出 | 任何 | 所有 | 34 |
出口:违反政策-详细 | 出口:违反政策 | 集电极 | 所有 | 38 |
导出:访问日志-详细 | 导出:访问日志 | 集电极 | 所有 | 39 |
导出:发现的实例 | 发现的实例 | 任何 | 所有 | 40 |
导出:发现数据库 | 发现数据库 | 任何 | 所有 | 41 |
导出:分类器结果 | 分类器结果 | 任何 | 所有 | 42 |
导出:数据源 | 数据源 | 中央经理 独立的 | 所有 | 43 |
导出:S-TAP状态 | S-TAP状态监控器 | 集电极 | 所有 | 44 |
导出:已安装的补丁 | 已安装的补丁 | 任何 | 所有 | 45 |
导出:系统信息 | 已安装的补丁 | 任何 | 所有 | 46 |
导出:用户-角色 | 用户角色 | 中央经理 独立的 | 所有 | 47 |
导出:分类过程日志 | 分类过程日志 | 任何 | 所有 | 48 |
导出:异常值列表-增强 | 分析异常值列表-增强 | 任何 | V10.1.2及更高版本 | 49 |
导出:按小时分类的异常值摘要-已增强 | 按日期划分的分析异常值摘要-增强 | 任何 | V10.1.2及更高版本 | 50 |
这些数据集市通常捆绑到最新的GPU中,但也作为单独的单独补丁程序提供给尚未应用GPU的客户。 根据您的补丁程序级别,安装适当的补丁程序:
- V9:
- GPU750
- V10:
- V10.1(p120)和p172,p174,p175
- V10.1.2(p200)和p175
- 截至本文发布时,高于10.1.2的版本没有特定的依赖性。 您将需要检查所使用的Guardium Big Data Intelligence发行的适当先决条件。
配置Guardium设备
您需要在Guardium设备上执行三个主要步骤,以实现与Big Data Intelligence解决方案的集成:
- 确保您处于正确的补丁程序级别。
- 使用下一节中描述的GuardAPI(
grdapi
)命令启用和计划数据集市提取。 - 调整收集器上的吹扫时间表以减少存储空间(可选)。
启用和调度数据集市提取
启用和调度各种数据集市提取还涉及以下三个主要步骤:
- 启用适当的DM,并将其输出指向Guardium Big Data Intelligence系统。
- 安排摘录。
- 确定提取数据的开始(可选)。
以下样本grdapi
命令字符串使会话数据可以传递到Guardium Big Data Intelligence解决方案。 此grdapi
命令告诉Guardium收集器通过SCP进程在何处复制数据集市数据。 配置任何其他数据集市仅需要更改“名称”字段。
grdapi datamart_update_copy_file_info destinationHost="yourhosthere"
destinationPassword="yourpwdhere"
destinationPath="/local/raid0/sonargd/incoming" destinationUser="sonargd"
Name="Export:Session Log" transferMethod="SCP"
每个CM仅执行一次数据集市配置命令,因为所有收集器随后都可以从CM接收此信息。 替换主机名,密码和数据路径,以反映您的Guardium Big Data安装的详细信息。
启用数据集市后,您需要计划提取。 由于Guardium调度程序对于设备而言是本地的,因此您需要在grdapi
中提取数据的每个设备上运行grdapi
调度命令。 例如,对于每个需要发送会话数据的收集器,您将运行:
grdapi schedule_job jobType=dataMartExtraction cronString="0 45 0/1 ? * 1,2,3,4,5,6,7"
objectName="Export:Session Log"
这是有关如何删除会话数据集市的计划的示例:
grdapi delete_schedule deleteJob=true jobGroup="DataMartExtractionJobGroup"
jobName="DataMartExtractionJob_23
作业名称为"DataMartExtractionJob_"
并与表1中所示的ID "DataMartExtractionJob_"
。
因为有很多grdapi
调用要发出,所以请使用SonarCLI Expect脚本自动执行该过程并减少工作量(请参阅下一节)。
表2显示了启用所有数据集市时的建议计划。
表2:推荐的数据集市时间表
导出:访问日志 | 0 40 0/1? * 1,2,3,4,5,6,7 | 00:40 |
导出:会话日志 | 0 45 0/1? * 1,2,3,4,5,6,7 | 00:45 |
导出:会话日志结束 | 0 46 0/1? * 1,2,3,4,5,6,7 | 00:46 |
导出:异常日志 | 0 25 0/1? * 1,2,3,4,5,6,7 | 00:25 |
导出:完整SQL | 0 30 0/1? * 1,2,3,4,5,6,7 | 00:30 |
导出:异常值列表 | 0 10 0/1? * 1,2,3,4,5,6,7 | 00:10 |
出口:按小时分类的异常值摘要 | 0 10 0/1? * 1,2,3,4,5,6,7 | 00:10 |
导出:导出提取日志 | 0 50 0/1? * 1,2,3,4,5,6,7 | 00:50 |
出口:集团成员 | 0 15 0/1? * 1,2,3,4,5,6,7 | 00:15 |
出口:违反政策 | 0 5 0/1吗? * 1,2,3,4,5,6,7 | 00:05 |
出口:增益使用情况监视器 | 0 12 0/1? * 1,2,3,4,5,6,7 | 00:12 |
导出:VA结果 | 0 0 2吗? * 1,2,3,4,5,6,7 | 每天凌晨2点 |
出口:违反政策-详细 | 0 5 0/1吗? * 1,2,3,4,5,6,7 | 00:05 |
导出:访问日志-详细 | 0 40 0/1? * 1,2,3,4,5,6,7 | 00:40 |
导出:发现的实例 | 0 20 0/1? * 1,2,3,4,5,6,7 | 00:20 |
导出:发现数据库 | 0 20 0/1? * 1,2,3,4,5,6,7 | 00:20 |
导出:分类器结果 | 0 20 0/1? * 1,2,3,4,5,6,7 | 00:20 |
导出:数据源 | 0 0 7吗? * 1,2,3,4,5,6,7 | 每天早上7点 |
导出:S-TAP状态 | 0 0/5 0/1吗? * 1,2,3,4,5,6,7 | 每5分钟 |
导出:已安装的补丁 | 0 0 5吗? * 1,2,3,4,5,6,7 | 每天凌晨5点 |
导出:系统信息 | 0 0 5吗? * 1,2,3,4,5,6,7 | 每天凌晨5点 |
导出:用户-角色 | 0 5 0/1吗? * 1,2,3,4,5,6,7 | 00:05 |
导出:分类过程日志 | 0 25 0/1? * 1,2,3,4,5,6,7 | 00:25 |
导出:异常值列表-增强 | 0 10 0/1? * 1,2,3,4,5,6,7 | 00:10 |
导出:按小时分类的异常值摘要-已增强 | 0 10 0/1? * 1,2,3,4,5,6,7 | 00:10 |
在大多数情况下,您计划数据集市时,它将开始“从现在开始”到将来导出数据。 如果您已经有收集器上的数据(例如,过去10天中的数据),并且希望将数据也移到大数据湖中,则可以将数据集市的开始日期设置为过去的日期如图9所示。在发出grdapi
schedule命令之前,在CM GUI中编辑数据集市并设置所需的开始日期。 如果您具有GPU 200(V10.1.2 p200)或更高版本,则可以使用grdapi
设置开始日期。 您不需要使用GUI。
grdapi update_datamart Name="Export:User - Role" initial_start="2016-12-01 00:00:00"
图9:启用过去的开始日期
可选:减少收集器的存储空间
一旦启用了Guardium和Guardium Big Data Intelligence解决方案之间的集成,就比使用聚合时更频繁地将数据从收集器中移出:每小时还是每天。 这提供了更积极地清除收集器并减少收集器存储空间的机会。 例如,您可以为每个收集器分配100G,而不是为每个收集器分配300GB或600GB。
注意:仅当您适当地调整每个收集器的保留时间(即,在每个收集器上保留较少的数据)时,才能完成此操作。
减少存储空间的最简单方法是使用较小的存储空间构建新的收集器VM,并确保定义了清除计划,以仅在新收集器上保留三天的数据。 重定向S-TAP指向新的收集器,后者又指向大数据智能系统。 在新旧收集器同时指向大数据智能系统的一天的时间之后,可以备份和停用旧收集器。 到新的收集器的过渡将完成。 由于您不必担心收集器上的数据管理,因此该方法还可用于简化和加速Guardium升级。
使用SonarCLI自动化数据集市设置
SonarCLI是一种实用程序,它将客户提供的Guardium设备列表与一组预定义的数据集市结合在一起,然后与所有Guardium设备通信以执行和验证建立该通信所需的grdapi
命令(请参见图10)。 脚本执行需要几分钟,一旦完成,大数据湖将开始接收数据集市数据。 请注意,SonarCLI是通用脚本执行框架,也可以用于自动执行与大数据解决方案无关的grdapi
执行。
图10:SonarCLI脚本
要使用SonarCLI,请设置一个文件,该文件告诉系统在收集器和CM上运行哪些脚本。 然后,该脚本为每个设备打开一个CLI会话,运行配置文件定义的适当脚本,将所有输出存储在日志文件中,并创建摘要日志。 完成后,您可以查看摘要以查看是否所有内容都已完成并且您已完成。
有关更多信息,请访问ibm-gbdi.jsonar.com
创建自定义数据集市
除了数据湖使用的预先构建的数据集市之外,您还可以将其他数据从您在Guardium环境中构建的任何报表推送到数据湖。 可以将在Guardium收集器或中央管理器上执行的任何报告转换为数据集市,并使用标准数据传输过程将其结果直接传递到数据湖中。 图11和12显示了如何从查询构建器内部将查询转换为数据集市。 如图11所示,单击要用于数据集市的查询的“ 数据集市”按钮。
图11:将查询转换为数据集市
图12定义了一个每小时创建的带有前缀EXP的文件名。 EXP前缀通知设备已创建此数据集市以交付给Big Data Intelligence应用程序。 数据集市名称必须以EXPORT开头,并且EXP前缀必须出现在文件名的开头,以便成功完成向大数据智能解决方案的传输。
图12:调度从Guardium到大数据智能的数据集市交付
![调度dm](https://i-blog.csdnimg.cn/blog_migrate/63671ef41dac55669c367a583cfec17e.png)
与标准数据集市一样,必须执行grdapi
命令来配置文件到数据湖的SCP传输,并每小时计划一次传输。 通过使用以下命令定义SCP传输配置:
grdapi datamart_update_copy_file_info destinationHost="yourhosthere"
destinationPassword="yourpwdhere" destinationPath="/local/raid0/sonargd/incoming"
destinationUser="sonargd" Name="Export:GUARD_USER_ACTIVITY“ transferMethod="SCP"
通过以下方式安排提取/推送:
grdapi schedule_job jobType=dataMartExtraction cronString="0 40 0/1 ? * 1,2,3,4,5,6,7"
objectName="Export:GUARD USER_ACTIVITY“
结论
IBM Guardium Big Data Intelligence允许您使用真正的大数据解决方案来管理和访问Guardium数据,从而优化您的Guardium环境。 使用数据集市时,您可以比以往任何时候都更快地有效地从Guardium设备移出数据,减少硬件占用空间和成本,启用快速报告,并记录数据和高级分析的在线保留。 通过专用的大数据解决方案增强Guardium,可以创建一个非常强大的平台,以扩展IBM Security Guardium数据保护解决方案的用例和优势。