将 ArcSight 与 Google SecOps 集成
本文档介绍了如何将 ArcSight 与 Google Security Operations 集成。
准备工作
在 Google SecOps 中配置 ArcSight ESM 集成之前,请验证您的环境是否满足连接器、作业和操作的连接和权限要求。
如需为集成准备环境,请完成以下前提条件:
验证基本集成要求,以建立网络视线和程序化身份验证。
如需将安全性事件或关联案例注入 Google SecOps,请配置连接器特定要求。
如需为案例管理和策略方案自动化授予精细权限,请配置作业和操作特定要求。
查看配置工作流,了解 ArcSight ESM 和 Google SecOps 之间的预配顺序。
基本集成要求
基本集成会建立核心 HTTPS 连接和身份验证会话,供所有 Google SecOps 操作、连接器和作业使用。
在您的环境中配置以下基础要求:
网络视线:在管理端口(默认:
8443/TCP)上启用从 Google SecOps 实例或远程代理到 ArcSight ESM 服务器的 HTTPS 通信。REST API 访问权限:验证对位于
https://<esm-host>:8443/www/manager-service/rest/和https://<esm-host>:8443/www/core-service/rest/的 ArcSight ESM REST 服务的直接访问权限,如 ArcSight ESM REST Web Services API Guide 中所述。SSL/TLS 信任:如果您的 ArcSight ESM 部署使用私有或自签名证书授权机构,请提供采用 Base64 编码的 PEM 根和中间 CA 证书文件。
服务账号属性:创建用户类型为
Web User(建议使用,以避免消耗交互式控制台席位许可)或Normal User的专用 ArcSight 服务账号,并确保Login Enabled设置为有效。如需了解用户管理过程,请参阅 ArcSight ESM 管理员指南的“管理用户”部分。
基本群组成员资格:将服务用户分配到专用用户群组(例如
SecOps_Integration_Group),以集中管理所有下游操作权限、资源 ACL 和事件过滤条件。如需了解群组配置过程,请参阅 ArcSight ESM 管理员指南的“管理用户群组”部分。
连接器专属要求
提取连接器会将提醒和安全性事件提取到 Google SecOps 中,并且需要超出基本集成的专门数据范围和操作权限。
根据您选择的数据注入连接器,配置相应的前提条件:
事件过滤条件分配:为集成用户群组分配事件过滤条件(例如
All Events或限定范围的组织过滤条件),以定义连接器可以检索的安全性事件的数据范围。如需了解如何配置群组级事件过滤条件,请参阅 ArcSight ESM 管理员指南。
ArcSight - 安全事件连接器:授予
Security Events: Inspect、Reports: Inspect和Reports: Execute操作权限,并在 ArcSight 中导出关联事件的特定报告资源上分配Read和ExecuteACL 权限如需了解资源 ACL 过程,请参阅 ArcSight ESM 控制台用户指南的“管理资源的访问权限控制”部分。
ArcSight ESM 连接器:根据 ArcSight ESM 控制台用户指南,授予
Security Events: Inspect和Cases: Inspect操作权限,并为目标案例文件夹和关联资源分配ReadACL 权限。
针对具体作业和操作的要求
预定作业和 playbook 操作会继承基本集成连接,并且需要精细的操作权限和对象级 ACL 权限,具体取决于它们与之交互的特定 ArcSight 资源。
根据您要部署的集成功能授予权限和 ACL:
操作启用:Playbook 操作不需要在 Google SecOps 中单独配置连接。向 ArcSight 中的服务账号群组授予所需的操作权限和资源 ACL 后,这些权限和 ACL 会立即生效,可供 playbook 使用。
关闭案例作业:授予
Cases: Inspect和Cases: Edit操作权限,并按照 ArcSight ESM 控制台用户指南中的说明,在目标案例文件夹上分配Read和ModifyACL 权限。活跃列表操作:授予
Active Lists: Inspect和Active Lists: Edit Content(或Active Lists: Edit)操作权限,并针对 playbook 操作参数所定位的特定活跃列表分配Read和WriteACL 权限。支持请求管理操作:授予
Cases: Inspect和Cases: Edit操作权限,并为目标支持请求文件夹分配Read和ModifyACL 权限。查询和搜索操作:授予
Query Viewers: Inspect和Query Viewers: Execute操作权限,并为目标查询查看者分配Read和ExecuteACL 权限。报告操作:授予
Reports: Inspect和Reports: Execute操作权限,并为目标报告分配Read和ExecuteACL 权限。
组件权限映射
下表概述了每种集成组件类型所需的最低操作权限和资源 ACL。
请查看下表,了解权限要求:
基本会话:基本集成只需要有效的登录凭证和默认的经过身份验证的用户权限。
注入连接器:连接器需要事件过滤权限、事件检查权限以及对报告或案例的读取权限。
作业和操作:Playbook 操作和同步作业需要对所访问的特定资源具有功能性任务权限和 ACL 权限,这些权限使用 ArcSight ESM 控制台用户指南进行配置。
| 组件类型 | 组件名称 | API 服务 | 所需的操作权限 | 必需的资源 ACL |
|---|---|---|---|---|
| 基础集成 | 基本连接和身份验证 | LoginService |
默认的已通过身份验证的用户权限 | 无 |
| 连接器 | ArcSight - 安全事件连接器 | SecurityEventService,ReportService |
Security Events: Inspect、Reports: Inspect、Reports: Execute |
针对目标报告资源的 Read 和 Execute 权限 |
| 连接器 | ArcSight ESM 连接器 | SecurityEventService,CaseService |
Security Events: Inspect,Cases: Inspect |
针对目标案例文件夹和关联对象的 Read 权限 |
| 作业 | 关闭支持请求作业 | CaseService |
Cases: Inspect,Cases: Edit |
目标案例文件夹的 Read 和 Modify 权限 |
| 操作 | 活跃列表操作(添加实体、添加条目、获取条目、检查值) | ActiveListService |
Active Lists: Inspect、Active Lists: Edit Content(或 Active Lists: Edit) |
针对目标活跃列表的 Read 和 Write 权限 |
| 操作 | 更改案例阶段操作 | CaseService |
Cases: Inspect,Cases: Edit |
目标案例文件夹的 Read 和 Modify 权限 |
| 操作 | 查询和搜索操作(获取查询结果、搜索) | QueryViewerService,SearchService |
Query Viewers: Inspect,Query Viewers: Execute |
针对目标查询查看者的 Read 和 Execute 权限 |
| 操作 | 获取报告操作 | ReportService |
Reports: Inspect,Reports: Execute |
针对目标报告的 Read 和 Execute 权限 |
| 操作 | 列出资源操作 | ActiveListService、CaseService、QueryViewerService、ReportService |
针对每种已启用资源类型的 Inspect 权限 |
针对目标资源文件夹的 Read 权限 |
配置工作流
按照此多阶段工作流在 ArcSight ESM 中预配权限,并在 Google SecOps 中激活所选组件。
请按以下顺序完成配置步骤:
ArcSight 服务账号和群组预配:在 ArcSight ESM 中创建专用服务用户,创建专用用户群组,将服务用户分配给该群组,并应用事件过滤条件来定义数据公开范围,如 ArcSight ESM 管理员指南中所述。
为所选组件分配权限和 ACL:根据组件权限映射表交叉对比计划的连接器、作业和操作,向用户群组授予相应的操作权限,并在 ArcSight ESM 控制台用户指南中为特定目标资源文件夹分配对象级 ACL(例如,对活跃列表的
Read/Write或对报告的Read/Execute)。在 Google SecOps 中配置:按照以下部分中的说明,在 Google SecOps 中配置基本集成、注入连接器、计划作业和 playbook 操作。
集成参数
使用以下参数配置集成:
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 实例名称 | 字符串 | 不适用 | 否 | 您要为其配置集成的实例的名称。 |
| 说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
| API 根 | 字符串 | https://{IP}:{PORT} |
是 | ArcSight 实例的服务器地址。 |
| 用户名 | 字符串 | 不适用 | 是 | ArcSight 账号的用户名。 |
| 密码 | 密码 | 不适用 | 是 | ArcSight 账号的密码。 |
| 远程运行 | 复选框 | 尚未核查 | 否 | 勾选此字段,以便远程运行配置的集成。选中后,系统会显示选择远程用户(代理)的选项。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。
向有效列表添加条目
提供了一种机制,用于从报告之外和报告之外的趋势中获取信息。由趋势更新的活跃列表支持来自多个趋势的信息的摘要视图。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| Columns | 字符串 | 不适用 | 是 | 示例:Message;Username |
| 条目数 | 字符串 | 不适用 | 是 | 示例:test1|Me1;Test|Me2 |
| 有效列表 UUID | 字符串 | 不适用 | 是 | 示例:HCN75QGABABCZXCOdT9P51w== |
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_succeed | True 或 False | is_succeed:False |
更改案例阶段
更改案例的阶段。有效阶段包括 INITIAL、QUEUED、CLOSED、FINAL 和 FOLLOW_UP。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 案例名称 | 字符串 | 不适用 | 是 | 要更新的支持请求的名称。 |
| 阶段 | 字符串 | 不适用 | 是 | 案例的阶段。示例:CLOSED、INITIAL |
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| 成功 | True 或 False | success:False |
获取 Activelist 条目
检索 ArcSight 活跃列表条目并返回 CSV 输出。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 有效名单 UUID | 字符串 | 不适用 | 是 | 示例:HTcILQWABABCr553ieI0Xmw== |
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| Success_Indicator | 不适用 | 不适用 |
JSON 结果
[
"12346e4d96f0a72c42015d69aaf0e8ab ,
file.txt",
"0e0776034e5e096704cd28cbd40cdbb5 ,
Test.config"
]
获取查询结果
按查询 ID 获取查询结果。查询可用作报告的主要数据源,或趋势(基于一个查询)可用作另一个查询的数据源,以进一步优化初始查询结果。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 查询 ID | 字符串 | 不适用 | 是 | 查询 ID。 |
| 返回的项目数上限 | 整数 | 100 | 否 | 指定要在响应中返回的项数。 |
使用场景
添加对要返回的结果数量的限制。
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| 成功 | True 或 False | success:False |
JSON 结果
[
{
"Target User Name": "user",
"Attacker Address": "192.0.2.1",
"External ID": "127",
"Name": "A Kerberos authentication ticket (TGT) was requested.",
"Target Address": "192.0.2.1"
},{
"Target User Name": "user",
"Attacker Address": "192.0.2.1",
"External ID": "127",
"Name": "A Kerberos authentication ticket (TGT) was requested.",
"Target Address": "192.0.2.1"
}
]
获取报告
获取包含动态字段的报告。报告是一种 ArcSight 资源,可将查询或趋势中的数据绑定到现有报告模板。运行后,报告结果可以在 ArcSight 控制台查看器面板中查看、保存(归档)或以各种格式导出。您可以安排报告定期运行,也可以根据需要按需运行。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 报告完整路径 (URI) | 字符串 | 不适用 | 是 | 相关报告 URI。 |
| 字段 2 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 3 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 4 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 6 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 6 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 7 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 8 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 9 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
| 字段 10 | 字符串 | 不适用 | 否 | 用于生成报告的查询的动态字段。 |
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| json_report | 不适用 | 不适用 |
值是否在活动列表列中
检查特定值是否在有效列表中。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 有效名单 UUID | 字符串 | 不适用 | 是 | 有效列表 UUID。示例:cuser。 |
| 列名 | 字符串 | 不适用 | 是 | 列的名称。示例:sourceUserName。 |
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| Success_Indicator | 不适用 | 不适用 |
Ping
测试连接。
参数
无。
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_succeed | True 或 False | is_succeed:False |
搜索
您可以从控制台事件渠道在 ArcSight Command Center 中开始搜索。事件完整搜索会查找存储在多个字段(例如 abc)中的关联属性。搜索事件时,会搜索存储在指定字段(例如,仅在名称字段中)中的值(例如 abc)。
参数
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 搜索查询 | 字符串 | 不适用 | 是 | 搜索查询。 |
| 返回的项目数上限 | 整数 | 100 | 否 | 指定要在响应中返回的项数。 |
使用场景
添加对要返回的结果数量的限制。
运行时间
此操作会在所有实体上运行。
操作结果
此操作可提供以下结果。
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| 成功 | True 或 False | success:False |
JSON 结果
[
{
"score": 1.2440307,
"uuid": "UUID",
"uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
"name": "Attacker IPv6 Address"
}, {
"score": 1.2440307,
"uuid": "UUID",
"uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
"name": "Attacker IPv6 Address"
}
]
连接器
如需详细了解如何在 Google SecOps 中配置连接器,请参阅注入数据(连接器)。
Arcsight ESM 连接器
本指南适用于 ArcSight ESM 6.9.1 及更高版本。
ESM 规则或案例转发到 Google SecOps
使用触发的规则/关联
您需要将 ArcSight ESM 配置为将最新的关联对象转发到 Google SecOps,同时将 Google SecOps 配置为在 ArcSight ESM 上作为 SIEM 提供商运行,并通过授权用户向 ArcSight ESM 提供 API 访问权限。
借助此功能,Google SecOps 可以近乎实时地检索 ArcSight ESM 中触发的所有规则,并将其转发,以便将其转换为案例提醒并添加上下文。
Google SecOps 与 ArcSight ESM 之间的数据流
Google SecOps 会自动将转发到 Google SecOps 并在 ArcSight ESM 中触发的相关性编入索引并进行情境化处理,这些相关性是通过 ArcSight Forwarding Connector 模块和 API 访问触发的。
连接器严重程度优先顺序
连接器会根据以下优先级值分配严重级别:
- 1 和 2 - 非常低
- 3 和 4 - 低
- 5 和 6 - 中
- 7 和 8 - 高
- 9 和 10 - 关键
连接器输入
使用以下参数配置连接器:
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 环境 | DDL | 不适用 | 是 | 选择所需的环境,例如 Customer One。 如果提醒的“环境”字段为空,则此提醒将被注入此环境。 |
| 运行频率 | 整数 | 0:0:0:10 | 否 | 选择运行连接的时间。 |
| 产品字段名称 | 字符串 | device_product | 否 | 存储商品名称的字段的名称。 默认值为 商品名称主要影响映射。为了简化和改进连接器的映射过程,默认值 |
| 事件字段名称 | 字符串 | name | 否 | 用于确定事件名称(子类型)的字段名称。 |
| 脚本超时(秒) | 字符串 | 500 | 否 | 运行当前脚本的 Python 进程的超时限制(以秒为单位)。 |
| 服务器地址 | 字符串 | 不适用 | 是 | https://{IP}:{PORT} |
| 用户名 | 字符串 | 不适用 | 是 | ArcSight 账号的用户名。 |
| 密码 | 密码 | 不适用 | 是 | ArcSight 账号的密码。 |
| 事件计数限制 | 整数 | 15 | 是 | 输入每个关联要提取的事件数量上限。限制事件数量,例如 10。 |
| 支持请求文件夹路径 | 字符串 | I:\SiemShare\CorrelationSource |
是 | 案例文件的位置,例如 注意:“Cases Folder Path”(支持请求文件夹路径)参数可能因客户而异。 完整路径。示例: |
| 提醒数量上限 | 整数 | 10 | 是 | 每个连接器周期要处理的提醒数量上限,例如 10。 |
| 环境字段名称 | 字符串 | event.customerURI | 是 | 用于获取案例环境的字段名称,例如 event.customerUri。 |
| 辅助设备产品字段 | 字符串 | 不适用 | 否 | 将原始产品字段(来自连接器的 DeviceProductField)替换为次要产品字段中的值。示例:CustomDeviceString2 |
| 提醒自定义字段名称 | 字符串 | 不适用 | 否 | 将 ArcSight 中的自定义字段值(例如 baseEventCount、agent_address、device_assetId)提取到提醒中。 |
| 已完成文件的保留天数 | 整数 | 3 | 是 | 每个 DONE csv 文件的保留天数。 |
| 错误文件保留天数 | 整数 | 14 | 是 | 每个 ERROR csv 文件的保留天数。 |
| 代理服务器地址 | 字符串 | 不适用 | 否 | 要使用的代理服务器的地址。 |
| 代理用户名 | 字符串 | 不适用 | 否 | 用于进行身份验证的代理用户名。 |
| 代理密码 | 密码 | 不适用 | 否 | 用于进行身份验证的代理密码。 |
连接器规则
此连接器支持代理。
ArcSight - 安全事件连接器
从 ArcSight 中提取关联。此连接器适用于 Google SecOps 的 SaaS 部署,是生产环境中的推荐连接器。
此连接器需要完成前提步骤。
连接器输入
使用以下参数配置连接器:
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 | |
|---|---|---|---|---|---|
| 产品字段名称 | 字符串 | 类型 | 是 | 存储商品名称的字段的名称。 默认值为 商品名称主要影响映射。为了简化和改进连接器的映射过程,默认值 |
|
| 事件字段名称 | 字符串 | name | 是 | 决定事件名称(子类型)的字段名称。 |
|
| 环境字段名称 | 字符串 | "" | 否 | 存储环境名称的字段的名称。 如果缺少环境字段,连接器将使用默认值。 |
|
Environment Regex Pattern |
字符串 | .* | FALSE | 否 |
要对 使用默认值 如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。 |
| 脚本超时(秒) | 整数 | 360 | 是 | 运行当前脚本的 Python 进程的超时限制(以秒为单位)。 |
|
| API 根 | 字符串 | https://{ip} |
是 | ArcSight 实例的 API 根。 | |
| 用户名 | 字符串 | 不适用 | 是 | ArcSight 账号的用户名。 | |
| 密码 | 密码 | 不适用 | 是 | ArcSight 账号的密码。 | |
| 报告名称 | 字符串 | 不适用 | 是 | 将用于提取事件的报告的名称。 | |
| 提取基础事件 | 复选框 | 勾选 | 是 | 如果启用,连接器还会提取基本事件。 | |
| 要提取的最低优先级 | 整数 | 不适用 | 否 | 将用于提取事件的最低优先级。可能的值介于 1 到 10 之间。如果未提供任何内容,系统将提取所有事件。 | |
| 要提取的事件数上限 | 整数 | 100 | 否 | 每次连接器迭代要处理的提醒数量。允许的最大值为 1000。 | |
| 将动态列表用作屏蔽名单 | 复选框 | 勾选 | 是 | 如果选中,连接器会将动态列表用作屏蔽名单。 |
|
| 验证 SSL | 复选框 | 尚未核查 | 是 | 如果选中,集成会在连接到 ArcSight 服务器时验证 SSL 证书。 | |
| 代理服务器地址 | 字符串 | 不适用 | 否 | 要使用的代理服务器的地址。 | |
| 代理用户名 | 字符串 | 不适用 | 否 | 用于进行身份验证的代理用户名。 | |
| 代理密码 | 密码 | 否 | 用于进行身份验证的代理密码。 |
连接器规则
此连接器支持代理。
作业
关闭支持请求
该作业需要以下参数:
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 服务器地址 | 字符串 | 192.0.2.1 | 是 | 不适用 |
| 用户名 | 字符串 | 不适用 | 是 | 不适用 |
| 密码 | 密码 | 不适用 | 是 | 不适用 |