ServiceNow SecOps 连接器和操作
编辑ServiceNow SecOps 连接器和操作编辑
ServiceNow SecOps 连接器使用 导入集 API 创建 ServiceNow 安全事件。您可以将连接器用于规则操作和案例。
在 Kibana 中创建连接器编辑
您可以在 堆栈管理 > 连接器 中创建连接器,或者在创建规则时根据需要创建。您必须选择使用 OAuth 进行身份验证。
连接器配置编辑
ServiceNow SecOps 连接器具有以下配置属性
- 客户端 ID
- 分配给您的 OAuth 应用程序的客户端 ID。
- 客户端密钥
- 分配给您的 OAuth 应用程序的客户端密钥。
- JWT 验证器密钥 ID
- 分配给您的 OAuth 应用程序的 JWT 验证器映射的密钥标识符。
- 密码
- HTTP 基本身份验证的密码。
- 私钥
- 您为在 ServiceNow 中使用而创建的 RSA 私钥。
- 私钥密码
- RSA 私钥的密码。如果您为私钥设置了密码,则需要此值。
- ServiceNow 实例 URL
- 完整的 ServiceNow 实例 URL。
- 使用 OAuth 身份验证
- 默认情况下,使用基本身份验证而不是开放授权 (OAuth)。
- 用户标识符
- 用于 OAuth 类型身份验证的标识符。此标识符应为您在设置过程中选择的用户信息字段。例如,如果选择的用户信息字段是
Email
,则用户标识符应为用户的电子邮件地址。 - 用户名
- HTTP 基本身份验证的用户名。
测试连接器编辑
您可以使用 运行连接器 API 或在 Kibana 中创建或编辑连接器时测试连接器。例如
ServiceNow SecOps 操作具有以下配置属性。
- 其他评论
- 客户端的其他信息,例如如何解决问题。
- 类别
- 事件的类别。
- 关联显示
- 用于在 ServiceNow 中进行关联的警报的描述性标签。
- 关联 ID
-
使用相同关联 ID 的连接器将与同一个 ServiceNow 事件相关联。此值决定是创建新的 ServiceNow 事件还是更新现有的事件。修改此值是可选的;如果未修改,则规则 ID 和警报 ID 将组合为
{{ruleID}}:{{alert ID}}
以在 ServiceNow 中形成关联 ID 值。此值的字符长度最大为 100 个字符。使用
{{ruleID}}:{{alert ID}}
的默认配置可确保 ServiceNow 为每个使用唯一警报 ID 生成的警报创建一个单独的事件记录。如果规则生成多个使用相同警报 ID 的警报,ServiceNow 将为该警报创建并持续更新单个事件记录。 - 描述
- 有关事件的详细信息。
- 优先级
- 事件的优先级。
- 简短描述
- 事件的简短描述,用于搜索知识库的内容。
- 子类别
- 事件的子类别。
连接器网络配置编辑
使用 操作配置设置 自定义连接器网络配置,例如代理、证书或 TLS 设置。您可以设置适用于所有连接器的配置,或者使用 xpack.actions.customHostSettings
设置每个主机的配置。
配置 ServiceNow SecOps编辑
ServiceNow 提供免费的 个人开发实例,您可以使用它们来测试事件。
先决条件编辑
从 Elastic Stack 版本 7.15.0 或更早版本升级到版本 7.16.0 或更高版本后,您必须在创建新的 ServiceNow SecOps 连接器或 更新现有连接器 之前,在您的 ServiceNow 实例中完成以下操作
- 从 ServiceNow 商店安装 Elastic for Security Operations (SecOps)。
- 为 Elastic for Security Operations 应用程序分配跨范围特权.
- 创建 ServiceNow 集成用户并为其分配适当的角色.
- 创建跨域资源共享 (CORS) 规则.
-
如果您使用开放授权 (OAuth),您还必须
分配跨范围特权编辑
Elastic for Security Operations 应用程序需要特定的跨范围特权记录才能成功运行。特别是,您必须为 Elastic for Security Operations
应用程序拥有一个特权记录,该记录的状态设置为 Allowed
,适用于以下每个目标
目标范围 | 名称 | 类型 | 操作 |
---|---|---|---|
全局 |
Glide API:字符串实用程序 |
可脚本化 |
执行 API |
全局 |
GlideRecord.insert |
可脚本化 |
执行 API |
全局 |
GlideRecord.setValue |
可脚本化 |
执行 API |
全局 |
GlideRecordSecure.getValue |
可脚本化 |
执行 API |
全局 |
RESTAPIRequest |
可脚本化 |
执行 API |
全局 |
RESTAPIRequestBody |
可脚本化 |
执行 API |
全局 |
ScopedGlideElement |
可脚本化 |
执行 API |
全局 |
ScriptableServiceResultBuilder.setBody |
可脚本化 |
执行 API |
安全事件响应 |
sn_si_incident |
表 |
读取 |
威胁情报支持通用 |
sn_ti_m2m_task_observable |
表 |
创建 |
威胁情报支持通用 |
sn_ti_m2m_task_observable |
表 |
读取 |
威胁情报支持通用 |
sn_ti_observable |
表 |
创建 |
威胁情报支持通用 |
sn_ti_observable |
表 |
读取 |
威胁情报支持通用 |
sn_ti_observable_type |
表 |
读取 |
要访问跨范围特权表
- 登录 ServiceNow 并将您的应用程序范围设置为 Elastic for Security Operations。
- 单击 全部 并搜索
sys_scope_privilege
。
有关更多详细信息,请参阅 ServiceNow 产品文档。
创建 ServiceNow 集成用户编辑
为了确保 Elastic 和 ServiceNow 之间的身份验证通信,请创建一个 ServiceNow 集成用户并为其分配适当的角色。
- 在您的 ServiceNow 实例中,转到 系统安全性 → 用户和组 → 用户。
- 单击 新建。
- 填写表格,然后右键单击菜单栏并单击 保存。
- 转到 角色 选项卡并单击 编辑。
-
为集成用户分配以下角色:
-
import_set_loader
-
import_transformer
-
personalize_choices
-
sn_si.basic
-
x_elas2_sir_int.integration_user
-
- 单击 保存。
创建 CORS 规则编辑
Elastic 和 ServiceNow 之间的通信需要 CORS 规则。要创建 CORS 规则
- 在您的 ServiceNow 实例中,转到 系统 Web 服务 → REST → CORS 规则。
- 单击 新建。
-
按如下方式配置规则
- 名称:命名规则。
-
REST API:通过选择
Elastic SIR API [x_elas2_sir_int/elastic_api]
将规则设置为使用 Elastic SecOps API。 - 域:输入 Kibana URL,包括端口号。
- 转到 HTTP 方法 选项卡并选择 GET。
- 单击 提交 以创建规则。
创建 RSA 密钥对并添加 X.509 证书编辑
此步骤是使用 OAuth 进行 Elastic 和 ServiceNow 之间的身份验证所必需的。
创建 RSA 密钥对
将 X.509 证书添加到 ServiceNow
- 在您的 ServiceNow 实例中,转到 证书 并选择 新建。
-
按如下方式配置证书
- 名称:命名证书。
- PEM 证书: 将生成的公钥复制到此文本字段中。
- 单击 提交 以创建证书。
为具有 JWT 验证器映射的外部客户端创建 OAuth JWT API 端点编辑
此步骤是使用 OAuth 进行 Elastic 和 ServiceNow 之间的身份验证所必需的。
- 在您的 ServiceNow 实例中,转到 应用程序注册表 并选择 新建。
-
从选项列表中选择 为外部客户端创建 OAuth JWT API 端点。
-
配置应用程序,如下所示
- 名称: 为应用程序命名。
- 用户字段: 选择用作用户标识符的字段。
记住所选的用户字段。您将在创建连接器时将其用作 用户标识符值。例如,如果您为 用户字段 选择了 电子邮件,则将使用用户的电子邮件作为 用户标识符值。
- 单击 提交 以创建应用程序。您将被重定向到应用程序列表。
- 选择您刚刚创建的应用程序。
- 找到 Jwt 验证器映射 选项卡并单击 新建。
-
配置新记录,如下所示
- 名称: 为 JWT 验证器映射命名。
- 系统证书: 单击搜索图标并选择上一步中创建的证书的名称。
- 单击 提交 以创建验证器映射。
-
记下 客户端 ID、客户端密钥 和 JWT 密钥 ID。您将需要这些值来创建您的 ServiceNow 连接器。
更新已弃用的 ServiceNow SecOps 连接器编辑
在您将 Elastic Stack 版本升级到 7.16.0 或更高版本后,在 Elastic Stack 版本 7.15.0 或更早版本中创建的 ServiceNow SecOps 连接器将被标记为已弃用。已弃用的连接器在其名称后有一个黄色图标,并在选中时显示警告消息。
已弃用的连接器将继续使用其添加的规则运行,并且可以分配给新规则。但是,强烈建议您更新已弃用的连接器或 创建新的连接器,以确保您可以访问连接器增强功能,例如更新事件。
要更新已弃用的连接器
- 打开主菜单并转到 堆栈管理 > 连接器。
- 选择已弃用的连接器以打开 编辑连接器 侧边栏。
- 在警告消息中,单击 更新此连接器。
-
完成 编辑连接器 侧边栏中的引导步骤。
- 从 ServiceNow 商店安装 Elastic for Security Operations (SecOps) 并完成 必需的先决条件。
- 输入您的 ServiceNow 实例的 URL。
- 输入您的 ServiceNow 实例的用户名和密码。
- 单击 更新。