将 Armis 与 Google SecOps 集成

本文档介绍了如何将 Armis 与 Google Security Operations 集成。

使用场景

  1. 执行丰富化操作。
  2. 执行提醒提取。
  3. 执行分类操作(更新提醒状态)。

集成参数

使用以下参数配置集成:

参数名称 类型 默认值 为必填项 说明
API 根 字符串 是 Armis API 根
API 密钥 密码 不适用 是 Armis API 密钥
验证 SSL 复选框 勾选 是 如果启用,则会验证与 Armis 服务器的连接所使用的 SSL 证书是否有效。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。

如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。

操作

如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。

Ping

测试与 Armis 的连接。

参数

不适用

运行时间

该 Action 不使用实体,也没有强制性输入参数。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果成功:“已使用提供的连接参数成功连接到 Armis 服务器!”

操作应失败并停止 playbook 执行:

如果未成功:“Failed to connect to the Armis server! 错误为 {0}”。format(exception.stacktrace)

常规

丰富实体

使用 Armis 中的信息丰富实体。支持的实体:IP、MAC 地址。

参数

参数名称 类型 默认值 为必填项 说明
创建端点分析 复选框 勾选 是 如果启用,该操作会创建包含端点相关信息的分析洞见。

运行时间

此操作将在以下实体上运行:

  • IP 地址
  • MAC 地址

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False

JSON 结果

{
    "accessSwitch": null,
    "category": "Computers",
    "dataSources": [
        {
            "firstSeen": "2021-03-07T04:04:22.562873+00:00",
            "lastSeen": "2021-03-07T04:04:22.562873+00:00",
            "name": "Example",
            "types": [
                "Asset & System Management",
                "Virtualization"
            ]
        },
        {
            "firstSeen": "2021-03-07T04:04:22.562873+00:00",
            "lastSeen": "2021-03-07T04:04:22.562873+00:00",
            "name": "Armis Smart Scanner",
            "types": [
                "Vulnerability Management"
            ]
        }
    ],
    "firstSeen": "2021-03-07T04:04:22.562873+00:00",
    "id": 1616,
    "ipAddress": "192.0.2.120",
    "ipv6": null,
    "lastSeen": "2021-03-21T08:05:40.244960+00:00",
    "macAddress": "01:23:45:ab:cd:ef",
    "manufacturer": "VMware",
    "model": "VMware Virtual Platform",
    "name": "Example",
    "operatingSystem": "CentOS",
    "operatingSystemVersion": "6.6",
    "purdueLevel": 4.0,
    "riskLevel": 5,
    "sensor": {
        "name": "North conference room",
        "type": "Physical Sensor"
    },
    "site": {
        "location": "Palo Alto",
        "name": "Palo Alto Offices"
    },
    "tags": [
        "Discover",
        "Example"
    ],
    "type": "Virtual Machines",
    "user": "",
    "visibility": "Full"
}

实体丰富化

扩充项字段名称 逻辑 - 适用场景
类别 当 JSON 中有可用数据时
id 当 JSON 中有可用数据时
ipAddress 当 JSON 中有可用数据时
macAddress 当 JSON 中有可用数据时
name 当 JSON 中有可用数据时
os 当 JSON 中有可用数据时
purdue_level 当 JSON 中有可用数据时
risk_level 当 JSON 中有可用数据时
标签 当 JSON 中有可用数据时
类型 当 JSON 中有可用数据时
用户 当 JSON 中有可用数据时
visibility 当 JSON 中有可用数据时
网站 当 JSON 中有可用数据时
链接 当 JSON 中有可用数据时
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

if enriched some(is_success = true): "Successfully enriched the following entities using Armis:\n".format(entity.identifier)

如果未丰富某些实体 (is_success = true):"Action wasn't able to enriche the following entities using Armis:\n".format(entity.identifier)

如果未扩充所有实体 (is_success = false):“未扩充任何实体”。

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止 Playbook 执行:
“执行操作‘丰富实体’时出错。Reason: {0}''.format(error.Stacktrace)

常规
实体表 实体

列出提醒关联

列出 Armis 中与提醒相关的连接。

参数

参数名称 类型 默认值 为必填项 说明
提醒 ID 整数 是 指定要提取连接数据的提醒的 ID。
要提取的最低严重级别 DDL

中

可能的值:

  • 低
  • 中
  • 高
否 指定在提取连接时应使用的最低严重级别。
要返回的连接数上限 整数 50 否 指定要返回的连接数。

运行时间

此操作不会对实体执行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False

JSON 结果

{
    "band": null,
    "channel": null,
    "dhcpAuthenticationDuration": null,
    "duration": 12339,
    "endTimestamp": "2021-03-18T20:19:31.562873+00:00",
    "id": 33355,
    "inboundTraffic": 12412512,
    "outboundTraffic": 19626489,
    "protocol": "Bluetooth",
    "radiusAuthenticationDuration": null,
    "risk": "Medium",
    "rssi": null,
    "sensor": {
        "name": "EXAMPLE",
        "type": "Switch"
    },
    "site": {
        "location": "Location",
        "name": "Location HQ"
    },
    "snr": null,
    "sourceId": 2097,
    "startTimestamp": "2021-03-18T16:53:52.562873+00:00",
    "targetId": 217,
    "title": "Connection between Example and user's iPhone",
    "totalAssociationDuration": null,
    "traffic": 32039001,
    "wlanAssociationDuration": null
}
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果状态代码为 200 且有可用数据 (is_success = true):“Successfully returned connections related to the alert {alertId} based on the provided criteria in Armis.”

如果状态代码为 200 且没有可用数据 (is_success=false):“No connections were found related to the alert {alertId} based on the provided criteria in Armis.”

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行操作‘列出提醒连接’时出错。Reason: {0}''.format(error.Stacktrace)

常规
案例墙表格

名称:Available Communications

列:

  • 标题
  • 协议
  • 严重级别
  • 开始时间
  • 结束时间
常规

更新提醒状态

在 Armis 中更新提醒的状态。

参数

参数名称 类型 默认值 为必填项 说明
提醒 ID 整数 是 指定要更新状态的提醒的 ID。
状态 DDL

未处理

可能的值:

  • 未处理
  • 已禁用
  • 已解决
否 指定应为提醒设置的状态。

运行时间

此操作不会对实体执行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

if 200 (is_success = true): "Successfully updated status of the alert "{alert id}" to "{status}" in Armis."。

如果为 400 (is_success=true):“Alert "{alert id}" already has status "{status}" in Armis. ”

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行‘更新提醒状态’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果为 404:“执行操作‘更新提醒状态’时出错。原因:在 Armis 中找不到提醒“{alert id}”。

常规

连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅注入数据(连接器)。

Armis - 提醒连接器

从 Armis 中拉取包含相关活动的提醒。

连接器参数

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

参数名称 类型 默认值 为必填项 说明
产品字段名称 字符串 alert_type 是

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

默认值为 alert_type。

商品名称主要影响映射。为了简化和改进连接器的映射过程,默认值 alert_type 会解析为从代码中引用的后备值。默认情况下,此参数的任何无效输入都会解析为后备值。

事件字段名称 字符串 类型 是

决定事件名称(子类型)的字段名称。

环境字段名称 字符串 "" 否

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

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

Environment Regex Pattern 字符串 .* 否

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

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

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

脚本超时(秒) 整数 180 是

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

API 根 字符串 https:// 是 Armis 实例的 API 根。
API 密钥 密码 不适用 是 Armis 账号的 API 密钥。
要提取的最低严重级别 低 低 否 用于提取提醒的最低严重级别。可能的值:Low、Medium、High。
回溯的小时数上限 整数 1 否

在第一次连接器迭代之前检索提醒的小时数。

此参数可应用于您首次启用连接器后的初始连接器迭代,或应用于过期连接器时间戳的后备值。

要提取的提醒数量上限 整数 10 否 每次连接器迭代要处理的提醒数量。最大值为 1000。
Use whitelist as a blacklist 复选框 勾选 是

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

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

连接器规则

此连接器支持代理。

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