将 ArcSight 与 Google SecOps 集成
本文档介绍了如何将 ArcSight 与 Google Security Operations (Google SecOps) 集成。
集成版本:42.0
安全性事件连接器前提条件
此连接器可与 ArcSight 中自动生成的报告搭配使用。连接器会下载生成的报告,提取事件 ID,然后使用 ArcSight API 获取有关事件的更多详细信息。
配置安全事件连接器
登录 ArcSight 控制台。
前往报告标签页,然后前往查询部分。
如需创建新查询,请输入以下查询名称:
Google SecOps SOAR Security Events Connector Query
。请注意开始时间和结束时间参数。建议以 1 小时为间隔查询数据,但如有必要,您可以增加间隔。
配置示例:
- 名称:Google SecOps SOAR 安全事件连接器查询
- 查询对象:活动
- 开始时间: $Now - 1h
- 结束时间: $Now
- 用作时间戳:结束时间
- 行数限制:5,000
为查询定义字段。就字段而言,您需要具备以下内容:
- 事件 ID
- 名称
- 开始时间
- 结束时间
- 优先级
确保排序依据列中包含 End Time ASC。
设置条件。您可以在此处提供自己的过滤条件。
保存查询。
前往报告部分,然后创建新报告。如需指定报告,请输入以下名称:
Google SecOps SOAR Security Events Connector Report
。为连接器配置的报告名称参数使用相同的名称。在数据标签页中,选择在之前步骤中创建的查询作为数据源。
在参数标签页中,将报告格式更改为 csv,以满足连接器要求。
保存报告。
在连接器配置的报告名称参数中提供报告的名称。
进行一次测试运行,以确保连接器按预期运行。
为 ArcSight 配置 Google SecOps 共享文件夹
Google SecOps 服务器
在
/etc/passwd
文件中找到UID
和GID
:cat /etc/passwd | grep scripting
该命令的输出示例如下所示:
scripting:x:1001:1001:/home/scripting:/bin/bash
UID
是命令输出中的第三个字段,GID
是第四个字段。创建脚本:
创建一个文件并将其命名为
configure_smp_nfs.sh
。将以下内容复制到该文件中。
#!/bin/bash #Declare the variables: uid=SCRIPTING_USER_UID gid=SCRIPTING_USER_GID arcsight_ip=ARCSIGHT_IP #Install nfs-utils yum install nfs-utils -y #Create the directory that will be shared mkdir /opt/Correlations #Change the permissions chmod -R 755 /opt/Correlations/ chown -R scripting:scripting /opt/Correlations/ #Start the services and enable them to be started at boot time systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap #Edit the exports file as follows echo "/opt/Correlations/ $arcsight_ip(rw,sync,all_squash,anonuid=$uid,anongid=$gid)">>/etc/exports #Restart the NFS service and export the path systemctl restart nfs-server exportfs -a #If FirewallD is running add the next rules: firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --permanent --zone=public --add-service=mountd firewall-cmd --permanent --zone=public --add-service=rpc-bind firewall-cmd --reload setsebool -P nfs_export_all_rw 1
根据您的环境声明
uid
、gid
和arcisght_ip
变量。授予权限:
chmod +x configure_smp_nfs.sh
运行脚本:
./configure_smp_nfs.sh
ArcSight 服务器
创建脚本:
创建一个文件并将其命名为
configure_smp_nfs.sh
。将以下内容复制到该文件中。
#!/bin/bash #Declare the variables: siemplify_ip=SIEMPLIFY_IP #Install nfs-utils yum install nfs-utils -y #Start the services and enable them to be started at boot time systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap #If FirewallD is running add the next rules: firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --permanent --zone=public --add-service=mountd firewall-cmd --permanent --zone=public --add-service=rpc-bind firewall-cmd --reload #Create the NFS directory mount point mkdir -p /mnt/nfs/var/SiemShare #Add the values: echo "$siemplify_ip:/opt/Correlations /mnt/nfs/var/SiemShare nfs defaults 0 0">>/etc/fstab mount -a
根据您的环境声明
siemplify_ip
变量。
使用旧版路径的客户注意事项
修补程序安装程序将 /opt/siemplify/Correlations
文件夹权限覆盖为 siemplifyadmin
。
如果您使用的是旧路径并正在应用升级,则需要按照以下步骤将权限更改回脚本用户:
在开始升级之前,请停止 NFS 服务器服务:
_systemctl stop nfs-server_
升级完成后,更改文件夹权限:
_chmod -R 755 /opt/siemplify/Correlations/_
_chown -R scripting:scripting/opt/siemplify/Correlations/_
_systemctl start nfs-server_
_exportfs -a_
如需确认 NFS 服务器在更改后是否正常运行,请检查其状态:
_systemctl status nfs-server_
创建和配置用于 API 访问的用户
登录 ArcSight 控制台。
创建一个
Google_SecOps_API
用户组,并向其中添加一个Google_SecOps_API
用户。Google SecOps 将通过 ArcSight ESM API 使用此用户。前往属性标签页,并将用户类型属性设置为
Normal User
。在资源标签页上,右键点击创建的用户群组。
从菜单中选择修改访问权限。
在 ACL 编辑器的检查/修改窗口中:
在活动标签页中,添加之前创建的过滤条件
Google_SecOps_Correlations_Filter
。您还可以添加任何来源过滤条件,以授予 Google SecOps 访问权限。对于其他标签页,请使用默认设置。
点击添加,依次选择 ArcSight System > Core,然后选中所有事件复选框。
请务必验证是否已选中所有活动复选框。最低要求是包含将提取到 Google SecOps 中的所有关联事件。
使用 ArcSight ESM API 时,Google Security Operations 会使用以下主要方法:
核心服务:
Login
、GetSession
经理服务:
GetSecurityEvents
使用 ArcSight ESM 进行网络访问
如需从 Google SecOps 访问 ArcSight ESM,请允许通过端口 443 (HTTPS) 和 8443(通过 SSL 的 API)传输流量,或者允许通过您环境中配置的端口传输流量。
如需从 ArcSight ESM 访问 Google SecOps,请允许通过端口 445 和 139 (SMB/SAMBA/CIFS) 传输流量,或按照您环境中的配置进行操作。
函数 | 端口 | 方向 | 协议 |
---|---|---|---|
NFS | 111、1039、1047、1048 和 2049 | 出站和入站 | UDP |
NFS | 111、1039、1047、1048 和 2049 | 出站和入站 | TCP |
集成参数
有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。
使用以下参数配置集成:
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
实例名称 | 字符串 | 不适用 | 否 | 您打算为之配置集成的实例的名称。 |
说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
API 根 | 字符串 | https://{IP}:{PORT} |
是 | ArcSight 实例的服务器地址。 |
用户名 | 字符串 | 不适用 | 是 | ArcSight 账号的用户名。 |
密码 | 密码 | 不适用 | 是 | ArcSight 账号的密码。 |
远程运行 | 复选框 | 尚未核查 | 否 | 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。 |
操作
将条目添加到有效列表中
说明
提供了一种机制,用于从趋势中获取报告之外的其他信息。由趋势更新的有效列表支持来自多个趋势的信息的摘要视图。
参数
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
列 | 字符串 | 不适用 | 是 | 示例:消息;用户名 |
条目数 | 字符串 | 不适用 | 是 | 示例: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 | 不适用 | 不适用 |
Is Value in Activelist Column
说明
检查特定值是否在有效列表中。
参数
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
有效列表 UUID | 字符串 | 不适用 | 是 | 有效列表 UUID。示例:cuser。 |
列名 | 字符串 | 不适用 | 是 | 列的名称。示例:sourceUserName。 |
运行于
此操作会在所有实体上运行。
操作结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
Success_Indicator | 不适用 | 不适用 |
Ping
说明
测试连接。
参数
运行于
此操作会在所有实体上运行。
操作结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True 或 False | is_succeed:False |
搜索
说明
您可以从控制台事件渠道在 ArcSight Command Center 中开始搜索。“Event Complete Search”会查找存储在多个字段(例如 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 |
是 | 诉讼文件的位置,例如 注意:“支持请求文件夹路径”参数可能会因客户而异。 完整路径。示例: |
提醒数量上限 | 整数 | 10 | 是 | 每个连接器周期要处理的提醒数量上限,例如 10。 |
环境字段名称 | 字符串 | event.customerURI | 是 | 用于获取支持请求环境的字段的名称,例如 event.customerUri。 |
辅助设备产品字段 | 字符串 | 不适用 | 否 | 将原始商品字段(来自连接器的 DeviceProductField)替换为辅助商品字段中的值。示例:CustomDeviceString2 |
提醒自定义字段名称 | 字符串 | 不适用 | 否 | 从 ArcSight 中提取自定义字段值到提醒中,例如 baseEventCount、agent_address、device_assetId。 |
已完成文件的保留天数 | 整数 | 3 | 是 | 每个已完成的 CSV 文件的保留天数。 |
错误文件保留天数 | 整数 | 14 | 是 | 每个错误 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 | 是 | 不适用 |
用户名 | 字符串 | 不适用 | 是 | 不适用 |
密码 | 密码 | 不适用 | 是 | 不适用 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。