将 Armis 与 Google SecOps 集成
本文档介绍了如何将 Armis 与 Google Security Operations 集成。
使用场景
- 执行丰富化操作。
- 执行提醒提取。
- 执行分类操作(更新提醒状态)。
集成参数
使用以下参数配置集成:
| 参数名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 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 执行: |
常规 |
| 实体表 | 实体 |
列出提醒关联
列出 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 | 是 | 存储商品名称的字段的名称。 默认值为 商品名称主要影响映射。为了简化和改进连接器的映射过程,默认值 |
| 事件字段名称 | 字符串 | 类型 | 是 | 决定事件名称(子类型)的字段名称。 |
| 环境字段名称 | 字符串 | "" | 否 | 存储环境名称的字段的名称。 如果缺少环境字段,连接器将使用默认值。 |
Environment Regex Pattern |
字符串 | .* | 否 |
要对 使用默认值 如果正则表达式模式为 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 专业人士的解答。