将 Armis 与 Google SecOps 集成

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

集成版本:12.0

使用场景

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

集成参数

使用以下参数配置集成:

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

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

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

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

Ping

测试与 Armis 的连接。

参数

不适用

运行于

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

操作结果

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

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

如果成功:“Successfully connected to the Armis server with the provided connection parameters!”

操作应失败并停止 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 执行
如果出现致命错误,例如凭据错误、无法连接到服务器等:“执行操作‘丰富实体’时出错。原因:{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):“已根据 Armis 中提供的条件成功返回与提醒 {alertId} 相关的连接。”

如果返回 200 且没有可用数据 (is_success=false):“根据 Armis 中提供的条件,未找到与提醒 {alertId} 相关的连接。”

操作应失败并停止 playbook 执行

如果出现严重错误,例如凭据错误、无法连接到服务器、其他错误:“Error executing action "List Alert Connections". 原因:{0}''.format(error.Stacktrace)

常规
案例墙表格

名称:可用的通信

  • 标题
  • 协议
  • 严重程度
  • 开始时间
  • 结束时间
常规

更新提醒状态

更新 Armis 中相应提醒的状态。

参数

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

未处理

可能的值:

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

运行于

此操作不会在实体上运行。

操作结果

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

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

如果为 200(is_success = true):“已成功将 Armis 中提醒‘{alert id}’的状态更新为‘{status}’。”

如果为 400(is_success=true):“提醒 "{alert id}" 在 Armis 中已具有 "{status}" 状态。”

操作应失败并停止 playbook 执行

如果出现严重错误,例如凭据错误、无法连接到服务器等:“执行操作‘更新提醒状态’时出错。原因:{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 Secret。
要提取的最低严重程度 用于提取提醒的最低严重程度。可能的值:LowMediumHigh
回溯的小时数上限 整数 1

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

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

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

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

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

连接器规则

连接器支持代理。

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