内容


通过 SonarG 释放 Guardium 数据的价值

为数据安全分析创建一个强大的大数据平台

Comments

对于使用 IBM® Security Guardium® 实现数据安全和合规性的企业而言,所收集的海量审计数据可能给他们带来挑战。通过对 Guardium 使用 SonarG 大数据解决方案,企业可以简化和增强报告功能,同时减少管理报告和数据保留需求所需的设备数量。本文将介绍 SonarG 解决方案,介绍如何将它融入到 Guardium 企业部署中,以及如何集成 SonarG 和 Guardium。

Guardium 生成了多少数据?

IBM Security Guardium 提供了一个综合数据保护解决方案来帮助保护数据和文件。功能包括漏洞评估、活动监视和静止加密。Guardium 使用一个基于主机的探测器来持续监控对敏感数据的每次访问。然后收集数据事件并在 Guardium 收集器上处理它们(参见图 1)。

图 1:从 S-TAP 到收集器的数据流
从 S-TAP 到收集器的数据流
从 S-TAP 到收集器的数据流

因为如此多的数据高速传入一个收集器,所以该解决方案进行了水平扩展,允许许多收集器来处理工作负载。在典型的 Guardium 部署中,有一种组件分层结构,如图 2 所示。S-TAP 解释数据库活动并将它们发送给收集器。收集器分析活动并将它们记录到收集器的本地存储中。收集器转储数据并将它们复制到聚合器,在聚合器中进行数据合并,向整个企业汇报数据。最后,一个中央管理器将管理整个联合系统。

图 2:企业 Guardium 部署中的设备
企业 Guardium 部署中的设备
企业 Guardium 部署中的设备

Guardium 收集海量的数据相关事件,比如会话数据、查询数据、异常、授权故障及其他违规事件。典型的 Guardium 系统会捕获数十亿条复杂记录。与其他安全事件不同,数据库活动包含复杂的数据,例如识别被操作的对象、完成的操作、会话中的操作上下文等等。

由于数据的生成数量和速度,Guardium 本身就是一个可以利用大数据解决方案的解决方案。

SonarG 针对 Guardium 大数据的解决方案

SonarG(一个来自 jSonar 的产品)是一个整合、存储和管理 Guardium 所捕获的所有复杂数据的大数据解决方案。SonarG 旨在优化 Guardium 平台的价值和功能。它利用大数据技术简化对庞大且不断增长的 Guardium 活动监视数据的收集和分析。SonarG 在 4 个主要领域增强了 Guardium:

  1. 简化数据收集,减少聚合和报告的成本和时间。
  2. 实现以低成本、高效率的方式长期在线保留 Guardium 数据。 此外,使企业能够轻松报告多年的数据。例如,从内部 SonarG 日志摘录的下面这段信息表明,一个复杂查询从包含 270 亿条完整 SQL(代表 100 个收集器 12 个月来收集的数据)的数据集中找到了 19 个匹配结果。尽管同时还查找了整个 SQL 的会话级信息(比如客户端 IP、DB 用户名)和正则表达式,但此查询花费的时间不超过 5 分钟:

    清单 1: Sample data from SonarG log
    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   
  3. 建立对宝贵活动数据的更快、更广泛访问途径,这些数据为企业中的不同群组提供了自助服务能力。 这种自助服务能力减少了 Guardium 管理员参与创建业务部门所需的每份报告的需求。
  4. 实现跨更大的数据集的高性能分析。 例如,图 3 显示了一个大型收集器环境 6 个月内的每日会话吞吐量图。图 4 显示了对 6 个月内所有异常的分析,包括热力图和集群分析。因为分析是对所有收集器数据进行的,而且时间跨度比较长,所以它们在识别异常值方面非常精确。例如,图 4 显示了一个非常紧凑的异常(蓝点)集群,其中只有一个蓝点异常值高于 5,500,000(每个点表示一个唯一数据库用户)。

SonarG 提供了更多功能、快速报告和高级分析。与此同时,SonarG 通过硬件精减和高效操作简化了 Guardium 部署,降低了总体成本。

图 3:6 个月内的会话吞吐量
会话吞吐量
会话吞吐量
图 4:6 个月内的异常分析
异常分析
异常分析

从架构角度讲,SonarG 大数据解决方案通常非常适合现有 Guardium 部署,可使用它作为聚合层的替代方案。收集器被配置为使用 Guardium 数据集市机制创建各种活动/数据的每小时数据提取结果。收集器通过 SmartCloud Provisioning 将这些数据集市提取结果复制到 SonarG,它们在这里被使用并合并到包含所有 Guardium 数据的单一大数据存储中,即使它们来自数百个收集器。下一节会更详细地介绍此过程。

SonarG 对 Guardium 企业部署的影响

前面已经提到过,Guardium 企业部署使用了收集器和聚合器。收集器从 S-TAP(基于主机的探测器)获取信息源,并先将数据存储在本地。每隔 24 小时,每个收集器就会将其每日数据转移到一个聚合数据的聚合器,如图 5 所示。当需要执行企业级查询时,要么使用在这些聚合器上运行的分布式报告(通过使用报告服务器),要么使用旧部署中运行的分布式报告(通过使用聚合的第二层)。典型的企业 Guardium 部署会有多个聚合器,因为收集器与聚合器的推荐比率为 1:8 到 1:10。

图 5:Guardium 基础架构
Guardium 基础架构
Guardium 基础架构

在 SonarG 架构中,收集器直接与 SonarG 大数据仓库进行通信,如图 6 所示。这种通信大大简化了数据收集机制,方便使用更少的硬件基础设施来更高效地收集更大的数据集。

图 6:SonarG 简化了整体 Guardium 架构
Sonarg 简化架构
Sonarg 简化架构

收集器每隔一小时将数据推送到 SonarG 一次,在 SonarG 上将数据与以前的数据合并,避免以前的架构中常见的 24-48 小时数据滞后现象。

SonarG 甚至可跨多个中央管理器域来整合活动数据。尤为重要的是,通常更大企业的部署会使用多个中央管理器域来整合数据,以便提供活动数据的真正的企业级视图。

Guardium 收集器与 SonarG 之间的连接基于 Guardium 数据集市机制。数据集市是在 Guardium V9 中引入的,是一种不断生成查询报告的强大机制,它不需要聚合流程,而且具有非常低的收集器处理器使用率。数据集市还提供了从 Guardium 提取数据的最高效方法。

Guardium 包含多个支持 SonarG 的数据集市。这些数据集市每小时运行一次并使用计划作业将文件复制到 SonarG 中,这些作业生成提取文件并通过一个加密通道(通过使用 SCP)复制它们。这些文件由 SonarG ETL 处理,被保存为一种方便快速简单地执行报告和分析的格式,如图 7 所示。

图 7:Guardium 收集器生成由 SonarG ETL 处理的数据
由 SonarG ETL 处理的 Guardium 数据
由 SonarG ETL 处理的 Guardium 数据

使用 SonarG 的大数据架构的优势

从基础架构的角度讲,此方法有许多优势,包括以下潜在好处:

  • 降低了聚合的硬件和操作成本。
  • 缩短了数据整合的延迟时间,从 24 小时缩短至 1 小时。
  • 通过更频繁地从收集器中清除数据,减少了收集器占用的存储空间。

重要的是,实验室测试和生产部署都表明,在 SonarG 大数据平台上的任何地方运行报告都比在聚合器上运行 快 10-100 倍, 使该系统能同时执行合规性报告和安全分析。该系统使用各种压缩技术来控制长期保留数据的成本,而且它采用允许更长一段时间后进行报告的格式来存储数据,而无需恢复存档文件。

SonarG 需求

SonarG 需要在 Linux® 上运行,通常安装在企业的标准 Linux 编译版上。它可在各种 Linux 版本上运行,但最常安装在 Red Hat Enterprise Linux 上。

典型的 SonarG 节点将有 2 个 CPU、64-128G 内存(具体情况取决于负载和并发性需求),以及 2TB-30TB 磁盘空间(具体情况取决于收集器数量、保留需求和 Guardium 政策)。该系统可以是物理的或虚拟的。虚拟系统更容易部署,但由于能使用更低成本的本地存储,所以具有本地磁盘的物理系统可能更经济实用。

SonarG 允许使用便宜的商用机械硬盘。尽管 SSD 始终提供了更高的性能,但购买一个 8TB 的近线 SAS 驱动器大约只需花费 1000 美元,这会让大型 Guardium 仓库变得非常便宜。SonarG 部署应该使用 RAID-0 或 RAID-10 磁盘设置。RAID-5 和 RAID-6 通常无法提供足够的性能。请咨询 Linux 系统管理员来了解如何设置 RAID。

数据集市:集成 SonarG 与 Guardium 收集器和中央管理器

Guardium 与 SonarG 之间的集成需要在 Guardium 收集器和中央管理器上都使用数据集市,以便组织和包装经常从 Guardium 导出到 SonarG 的合适数据。

这些数据提取文件通常每小时推送一次,推动间隔取决于具体的数据集。例如,S-TAP 健康指标等运行数据每 5 分钟发布一次,以便进一步减少信息延迟,提高对出现问题的响应能力。分类和漏洞评估 (VA) 结果每天发布一次。

数据集市推送机制具有很强的恢复能力。如果数据由于网络中断或其他任何原因而导致没有按时推送,那么这些数据将会在未来的一个周期进行推送。通过一个额外的、独立的数据集市提取操作对所有数据进行统计和交叉引用,这使得 SonarG 能够检查所有数据传输和多少数据已到达。如果数据未到达或存在不一致,SonarG 会立即提醒操作员并提供详细信息。

Guardium 和 SonarG 集成所使用的数据集市与以下数据类型有关联:

  • 特定于收集器的数据,比如活动数据和 S-TAP 状态数据。 活动数据包括:会话数据、异常数据、完整 SQL 数据、查询数据等。活动数据也占传输到 SonarG 的数据的绝大部分。活动数据和 S-TAP 状态数据仅在收集器上激活。(S-TAPs 仅连接到收集器。)
  • 分组数据: Guardium 数据组被透明地复制到 SonarG,以便您可以在报告中使用这些数据组。在中央管理器上安排数据集市的分组。 
    如果您有一个多 CM 环境,可在每个 CM 上安排数据集市的分组,并更改 SonarG 系统上的 /etc/sonar/sonargd.conf ,以便包含:
    split-collector:
     - group_members
  • 非活动数据,比如漏洞评估和分类器数据。 在执行扫描的 Guardium 设备上激活这些数据集市。无论它们是收集器、聚合器还是中央管理器,都无关紧要。
  • 系统级数据集市 包括缓冲区使用数据、系统信息数据等,SonarG 使用这些数据提供 Guardium 系统的各个操作的企业视图。在所有 Guardium 设备上激活这些系统级数据集市。

形成集成层的 Guardium 和 SonarG 数据集市可用于 Guardium V9 和 V10,但不是所有数据集市都可以同时用于这两个版本。例如,V9 与 V10.1.2 中的异常值数据看起来有所不同。表 1 给出了不同的数据集市名称。

对 V10.1.2 及其更高版本使用 DM 49 和 50。对低于 V10.1.2 的版本使用 DM 27 和 28(但不要同时使用二者)。截至 2016 年末可用的 DM 如表 1 所示。

表 1:可用的 SonarG 数据集市
数据集市名称 报告标题单元类型 Guardium 版本 数据集市 ID
Export:Access log Export:Access log  收集器 全部 22
Export:Session log Export:Session log  收集器 全部 23
Export:Session log ended Export:Session log  收集器 全部 24
Export:Exception log Export:Exception log  任何类型 全部 25
Export:Full SQL Export:Full SQL  收集器 全部 26
Export:Outliers list Analytic Outliers list  任何类型 低于 V10.1.2 的版本 27
Export:Outliers summary by hour Analytic outliers summary
By Date
任何类型 低于 V10.1.2 的版本 28
Export:Export extraction log User-defined extraction log  任何类型 全部 31
Export:Group members Export:Group members  任何类型 全部 29
Export:Policy violations Export:Policy violations  收集器 全部 32
Export:Buff usage monitor Buff usage monitor  任何类型 全部 33
Export:VA results Security assessment export  任何类型 全部 34
Export:Policy violations - detailed Export:Policy violations  收集器 全部 38
Export:Access log - detailed Export:Access log  收集器 全部 39
Export:Discovered instances Discovered instances  任何类型 全部 40
Export:Databases Discovered Databases Discovered  任何类型 全部 41
Export:Classifier results  Classifier results  任何类型 全部 42
Export:Datasources  Data-sources  中央管理器、
独立
全部 43
Export:S-TAP status  S-TAP status monitor  收集器 全部 44
Export:Installed patches Installed patches  任何类型 全部 45
Export:System info Installed patches  任何类型 全部 46
Export:User - role User - role  中央管理器、
独立
全部 47
Export: classification process log Classification process log 任何类型 全部 48
Export:Outliers list - enhanced Analytic outliers list - enhanced 任何类型 V10.1.2 及更高版本 49
Export:Outliers summary by hour - enhanced Analytic outliers summary by date - enhanced 任何类型 V10.1.2 及更高版本 50

这些数据集市通常被捆绑在最新的 GPU 中,但也会作为单独的补丁提供给没有申请 GPU 的客户。根据您的补丁级别,安装合适的补丁:

  • V9:
    • GPU750
  • V10:
    • V10.1.2 (p200) 和 p175
    • V10.1 (p120) 和 p172、p174、p175

配置 Guardium 设备

要启用 SonarG 集成,需要在 Guardium 设备上执行 3 个主要步骤:

  • 确保拥有正确的补丁级别。
  • 使用下一节中介绍的 GuardAPI (grdapi) 命令来启用和安排数据集市提取。
  • 调整收集器上的清除时间表,以减少占用的存储空间(可选)

启用和安排数据集市提取

启用和安排各种数据集市提取还涉及到下面介绍的 3 个主要步骤:

  1. 启用合适的 DM 并将它们的输出指向 SonarG 系统。
  2. 安排提取。
  3. 确定提取数据的开始时间(可选)。

下面的示例 grdapi 命令字符串使得会话数据能够传递到 SonarG。这个 grdapi 命令告诉 Guardium 收集器,通过 SCP 进程将数据集市数据复制到何处。配置其他任何数据集市只需要更改 Name 字段。

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 接收此信息。替换主机名、密码和数据路径,以反映您的 SonarG 安装的细节。

启用数据集市后,需要安排提取操作。因为 Guardium 调度程序位于设备本地,所以需要在每个作为数据提取来源的设备上运行 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 的串联在一起。

因为要发出许多 grdapi 调用,所以可以使用 SonarCLI Expect 脚本自动发出调用并减少工作(参见下一节)。

启用所有数据集市时的推荐时间表如表 2 所示。

表 2:推荐的数据集市时间表
Export:Access log 0 40 0/1 ?* 1,2,3,4,5,6,7 00:40
Export:Session log 0 45 0/1 ?* 1,2,3,4,5,6,7 00:45
Export:Session log ended 0 46 0/1 ?* 1,2,3,4,5,6,7 0:46
Export:Exception Log 0 25 0/1 ?* 1,2,3,4,5,6,7 0:25
Export:Full SQL 0 30 0/1 ?* 1,2,3,4,5,6,7 0:30
Export:Outliers list 0 10 0/1 ?* 1,2,3,4,5,6,7 0:10
Export:Outliers summary by hour 0 10 0/1 ?* 1,2,3,4,5,6,7 0:10
Export:Export extraction Log 0 50 0/1 ?* 1,2,3,4,5,6,7 0:50
Export:Group members 0 15 0/1 ?* 1,2,3,4,5,6,7 0:15
Export:Policy violations 0 5 0/1 ?* 1,2,3,4,5,6,7 0:05
Export:Buff usage monitor 0 12 0/1 ?* 1,2,3,4,5,6,7 0:12
Export:VA results 0 0 2 ?* 1,2,3,4,5,6,7 每天凌晨 2 点
Export:Policy violations - detailed 0 5 0/1 ?* 1,2,3,4,5,6,7 0:05
Export:Access log - detailed 0 40 0/1 ?* 1,2,3,4,5,6,7 0:40
Export:Discovered instances 0 20 0/1?* 1,2,3,4,5,6,7 0:20
Export:Databases discovered 0 20 0/1?* 1,2,3,4,5,6,7 0:20
Export:Classifier results  0 20 0/1?* 1,2,3,4,5,6,7 0:20
Export:Data sources  0 0 7 ?* 1,2,3,4,5,6,7 每天上午 7 点
Export:S-TAP Status  0 0/5 0/1 ?* 1,2,3,4,5,6,7 每 5 分钟
Export:Installed patches 0 0 5 ?* 1,2,3,4,5,6,7 每天凌晨 5 点
Export:System info 0 0 5 ?* 1,2,3,4,5,6,7 每天凌晨 5 点
Export:User - role 0 5 0/1 ?* 1,2,3,4,5,6,7 0:05
Export:Classification process log 0 25 0/1 ?* 1,2,3,4,5,6,7 0:25
Export:Outliers list - enhanced 0 10 0/1 ?* 1,2,3,4,5,6,7 0:10
Export:Outliers summary by hour - enhanced 0 10 0/1 ?* 1,2,3,4,5,6,7 0:10

在安排数据集市提取的大多数情况下,会开始将数据 “从现在” 导出到未来某个时间。如果您的收集器上已有数据(例如来自过去 10 天的数据),并希望将该数据也转移到 SonarG,那么可以将该数据集市的开始日期设置为过去,如图 8 所示。在 CM GUI 中编辑数据集市,并将期望的开始日期设置为您发出 grdapi 调度命令之前。如果拥有 GPU 200 (V10.1.2 p200) 或更高版本,可以使用 grdapi 来设置开始日期。您不需要使用 GUI。

grdapi update_datamart Name="Export:User - Role" initial_start="2016-12-01 00:00:00"
图 8:启用过去的某个日期作为开始日期
过去的数据集市开始日期
过去的数据集市开始日期

可选:减少收集器占用的存储空间

在启用 Guardium 与 SonarG 之间的集成后,数据会比使用聚合时更频繁地从收集器转出:每小时而不是每天转出一次。这创造了更积极地清除收集器上的数据和减少收集器占用的存储空间的机会。例如,可以为每个收集器分配 100G,而不分配 300GB 或 600GB。

备注:这只有在适当调整每个收集器的保留策略(即在每个收集器上保留更少的数据)后才能完成。

减少存储占用的最简单方法是构建占用存储空间更少的新收集器 VM,确保清除计划被定义为仅在新收集器上保留 3 天的数据。将 S-TAP 重定向为指向新收集器,而后者则指向 SonarG。一天后,旧收集器和新收集器同时指向 SonarG,此时可以备份并解除这些旧收集器。然后就可以完成向新收集器的过渡。此方法也可用于简化和加速 Guardium 升级,因为您不需要担忧收集器上的数据管理。

使用 SonarCLI 自动化数据集市设置

SonarCLI 是一个实用程序,它组合了客户提供的 Guardium 设备列表与一组 SonarG 和 IBM 预定义的数据集市,然后与所有 Guardium 设备进行通信,以便执行和验证建立此通信所需的 grdapi 命令(参见图 9)。执行脚本需要花费几分钟的时间,完成后,SonarG 会开始接收数据集市数据。请注意,SonarCLI 是一个通用的脚本执行框架,也可用于自动化与 SonarG 无关的 grdapi 执行。

图 9:SonarCLI 脚本
SonarCLI 脚本
SonarCLI 脚本

要使用 SonarCLI,可设置一个文件来告诉系统,在收集器和 CM 上运行哪些脚本。该脚本然后为每个设备打开一个 CLI 会话,运行配置文件所定义的合适脚本,将所有输出存储在一个日志文件中,并创建一个摘要日志。完成上述操作后,需要检查摘要,以查看是否所有一切都已完成。

有关更多信息,请访问 http://www.jsonar.com/#resources

创建自定义数据集市

除了 SonarG 使用的预先构建的数据集市之外,还可以将其他数据从 Guardium 环境中内置的任何报告推送到 SonarG。Guardium 收集器或中央管理器上执行的任何报告都可以转换为数据集市,并使用标准数据传输流程将其结果直接传输到 SonarG。图 10 和图 11 展示了如何在查询构建器内将查询转换为数据集市。

图 10:将查询转换为数据集市
将查询转换为数据集市
将查询转换为数据集市

图 11 定义了一个前缀为 EXP 的文件名,该文件每小时创建一个。EXP 前缀告诉设备,此数据集市是为传送到 SonarG 应用程序而创建的。数据集市名称必须以 EXPORT 开头,EXP 前缀必须出现在文件名的开头,数据才能成功传送到 SonarG。

图 11:安排 Guardium 中的 DM 传送
安排 DM
安排 DM

与标准数据集市一样,必须执行 grdapi 命令来配置通过 SCP 将该文件传输到 SonarG,另外,安排每小时传输一次。使用以下命令定义 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“

结束语

SonarG 允许使用真正的大数据解决方案来管理和访问 Guardium 数据,以便优化 Guardium 环境。使用数据集市时,可以比以往更快更高效地从 Guardium 设备转移数据,减少硬件的占用空间和成本,实现快速报告,并记录数据和高级分析结果的在线保留。这两个系统的组合,为扩展 IBM Security Guardium 的数据保护解决方案的用例和优势创建了一个非常强大的平台。


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Big data and analytics, Security
ArticleID=1043740
ArticleTitle=通过 SonarG 释放 Guardium 数据的价值
publish-date=03082017