将 ArcSight 与 Google SecOps 集成

本文档介绍了如何将 ArcSight 与 Google Security Operations (Google SecOps) 集成。

集成版本:42.0

安全性事件连接器前提条件

此连接器可与 ArcSight 中自动生成的报告搭配使用。连接器会下载生成的报告,提取事件 ID,然后使用 ArcSight API 获取有关事件的更多详细信息。

配置安全事件连接器

  1. 登录 ArcSight 控制台。

  2. 前往报告标签页,然后前往查询部分。

  3. 如需创建新查询,请输入以下查询名称: Google SecOps SOAR Security Events Connector Query

    请注意开始时间结束时间参数。建议以 1 小时为间隔查询数据,但如有必要,您可以增加间隔。

    配置示例:

    • 名称:Google SecOps SOAR 安全事件连接器查询
    • 查询对象:活动
    • 开始时间: $Now - 1h
    • 结束时间: $Now
    • 用作时间戳:结束时间
    • 行数限制:5,000
  4. 为查询定义字段。就字段而言,您需要具备以下内容:

    • 事件 ID
    • 名称
    • 开始时间
    • 结束时间
    • 优先级

    确保排序依据列中包含 End Time ASC

  5. 设置条件。您可以在此处提供自己的过滤条件。

  6. 保存查询。

  7. 前往报告部分,然后创建新报告。如需指定报告,请输入以下名称:Google SecOps SOAR Security Events Connector Report。为连接器配置的报告名称参数使用相同的名称。

  8. 数据标签页中,选择在之前步骤中创建的查询作为数据源

  9. 参数标签页中,将报告格式更改为 csv,以满足连接器要求。

  10. 保存报告。

  11. 在连接器配置的报告名称参数中提供报告的名称。

  12. 进行一次测试运行,以确保连接器按预期运行。

为 ArcSight 配置 Google SecOps 共享文件夹

Google SecOps 服务器

  1. /etc/passwd 文件中找到 UIDGID

    cat /etc/passwd | grep scripting

    该命令的输出示例如下所示:

    scripting:x:1001:1001:/home/scripting:/bin/bash

    UID 是命令输出中的第三个字段,GID 是第四个字段。

  2. 创建脚本:

    1. 创建一个文件并将其命名为 configure_smp_nfs.sh

    2. 将以下内容复制到该文件中。

      #!/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
      
    3. 根据您的环境声明 uidgidarcisght_ip 变量。

    4. 授予权限:

      chmod +x configure_smp_nfs.sh

    5. 运行脚本:

      ./configure_smp_nfs.sh

ArcSight 服务器

  1. 创建脚本:

    1. 创建一个文件并将其命名为 configure_smp_nfs.sh

    2. 将以下内容复制到该文件中。

      #!/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
      
    3. 根据您的环境声明 siemplify_ip 变量。

使用旧版路径的客户注意事项

修补程序安装程序将 /opt/siemplify/Correlations 文件夹权限覆盖为 siemplifyadmin

如果您使用的是旧路径并正在应用升级,则需要按照以下步骤将权限更改回脚本用户:

  1. 在开始升级之前,请停止 NFS 服务器服务:

    _systemctl stop nfs-server_

  2. 升级完成后,更改文件夹权限:

    _chmod -R 755 /opt/siemplify/Correlations/_

    _chown -R scripting:scripting/opt/siemplify/Correlations/_

    _systemctl start nfs-server_

    _exportfs -a_

  3. 如需确认 NFS 服务器在更改后是否正常运行,请检查其状态:

    _systemctl status nfs-server_

创建和配置用于 API 访问的用户

  1. 登录 ArcSight 控制台。

  2. 创建一个 Google_SecOps_API 用户组,并向其中添加一个 Google_SecOps_API 用户。Google SecOps 将通过 ArcSight ESM API 使用此用户。

    1. 前往属性标签页,并将用户类型属性设置为 Normal User

    2. 资源标签页上,右键点击创建的用户群组。

    3. 从菜单中选择修改访问权限

    4. 在 ACL 编辑器的检查/修改窗口中:

      1. 活动标签页中,添加之前创建的过滤条件 Google_SecOps_Correlations_Filter。您还可以添加任何来源过滤条件,以授予 Google SecOps 访问权限。

      2. 对于其他标签页,请使用默认设置。

      3. 点击添加,依次选择 ArcSight System > Core,然后选中所有事件复选框。

        请务必验证是否已选中所有活动复选框。最低要求是包含将提取到 Google SecOps 中的所有关联事件。

使用 ArcSight ESM API 时,Google Security Operations 会使用以下主要方法:

  • 核心服务:LoginGetSession

  • 经理服务: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

存储商品名称的字段的名称。

默认值为 device_product

商品名称主要影响映射。为了简化和改进连接器的映射流程,默认值 device_product 会解析为代码中引用的回退值。此参数的任何无效输入默认都会解析为回退值。

事件字段名称 字符串 name 用于确定事件名称(子类型)的字段名称。
脚本超时(秒) 字符串 500 运行当前脚本的 Python 进程的超时限制(以秒为单位)。
服务器地址 字符串 不适用 https://{IP}:{PORT}
用户名 字符串 不适用 ArcSight 账号的用户名。
密码 密码 不适用 ArcSight 账号的密码。
事件数限制 整数 15 输入每次相关性分析要提取的事件数量上限。限制事件数量,例如 10。
案例文件夹路径 字符串 I:\SiemShare\CorrelationSource

诉讼文件的位置,例如 I:\SiemShare\CorrelationSource

注意:“支持请求文件夹路径”参数可能会因客户而异。

完整路径。示例:C:\Desktop\CorrelationSource

提醒数量上限 整数 10 每个连接器周期要处理的提醒数量上限,例如 10。
环境字段名称 字符串 event.customerURI 用于获取支持请求环境的字段的名称,例如 event.customerUri。
辅助设备产品字段 字符串 不适用 将原始商品字段(来自连接器的 DeviceProductField)替换为辅助商品字段中的值。示例:CustomDeviceString2
提醒自定义字段名称 字符串 不适用 从 ArcSight 中提取自定义字段值到提醒中,例如 baseEventCount、agent_address、device_assetId。
已完成文件的保留天数 整数 3 每个已完成的 CSV 文件的保留天数。
错误文件保留天数 整数 14 每个错误 CSV 文件的保留天数。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 不适用 用于进行身份验证的代理密码。

连接器规则

连接器支持代理。

ArcSight - 安全事件连接器

从 ArcSight 中提取相关性。此连接器适合 Google SecOps 的 SaaS 部署,建议在生产环境中使用。

此连接器需要完成前提步骤

连接器输入

使用以下参数配置连接器:

参数显示名称 类型 默认值 是否为必需属性 说明
商品字段名称 字符串 类型

存储商品名称的字段的名称。

默认值为 type

商品名称主要影响映射。为了简化和改进连接器的映射流程,默认值 type 会解析为代码中引用的回退值。此参数的任何无效输入默认都会解析为回退值。

事件字段名称 字符串 name

用于确定事件名称(子类型)的字段的名称。

环境字段名称 字符串 ""

存储环境名称的字段的名称。

如果缺少环境字段,连接器将使用默认值。

Environment Regex Pattern 字符串 .* FALSE

要对 Environment Field Name 字段中的值运行的正则表达式模式。此参数可让您使用正则表达式逻辑来操纵环境字段。

使用默认值 .* 可检索所需的原始 Environment Field Name 值。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

脚本超时(秒) 整数 360

运行当前脚本的 Python 进程的超时时间限制(以秒为单位)。

API 根 字符串 https://{ip} ArcSight 实例的 API 根。
用户名 字符串 不适用 ArcSight 账号的用户名。
密码 密码 不适用 ArcSight 账号的密码。
报告名称 字符串 不适用 将用于提取事件的报告的名称。
提取基本事件 复选框 勾选 如果启用,连接器还会提取基本事件。
最低提取优先级 整数 不适用 用于提取事件的最低优先级。可能的值范围为 1 到 10。如果未提供任何内容,则注入所有事件。
要提取的事件数量上限 整数 100 每次连接器迭代要处理的提醒数量。允许的最大值为 1000。
将动态列表用作屏蔽名单 复选框 勾选

如果选中此选项,连接器会将动态列表用作屏蔽列表。

验证 SSL 复选框 尚未核查 如果选中此选项,集成会在连接到 ArcSight 服务器时验证 SSL 证书。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 用于进行身份验证的代理密码。

连接器规则

连接器支持代理。

作业

关闭支持请求

该作业需要以下参数:

参数名称 类型 默认值 为必需参数 说明
服务器地址 字符串 192.0.2.1 不适用
用户名 字符串 不适用 不适用
密码 密码 不适用 不适用

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。