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 类型身份验证的标识符。此标识符应是在设置期间选择的用户字段。例如,如果选择的用户字段为
电子邮件
,则用户标识符应为用户的电子邮件地址。 - 用户名
- 用于 HTTP 基本身份验证的用户名。
测试连接器
编辑你可以在 Kibana 中创建或编辑连接器时测试连接器。例如
ServiceNow SecOps 操作具有以下配置属性。
- 其他评论
- 客户端的附加信息,例如如何排除问题。
- 其他字段
-
一个包含自定义字段标识符及其值的对象。这些字段必须存在于 Elastic ServiceNow 应用程序中,并且必须以 JSON 格式指定。
例如
{ "u_cmdb_ci": "host-a", "u_company": "My company", "u_assignment_group": "Testing" }
请注意,Elastic ServiceNow 应用程序中的默认源字段名称以“u_”为前缀。
- 类别
- 事件的类别。
- 关联显示
- 警报在 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 实例中完成以下操作,然后才能创建新的 ServiceNow SecOps 连接器或更新现有连接器
- 从 ServiceNow 商店安装Elastic for Security Operations (SecOps)。
- 为 Elastic for Security Operations 应用程序分配跨范围权限.
- 创建一个 ServiceNow 集成用户并为其分配适当的角色.
- 创建跨域资源共享 (CORS) 规则.
-
如果使用开放授权 (OAuth),还必须
分配跨范围权限
编辑Elastic for Security Operations 应用程序需要特定的跨范围权限记录才能成功运行。特别是,你必须为 Elastic for Security Operations
应用程序设置一个权限记录,其中状态设置为 允许
,用于以下每个目标
目标范围 | 名称 | 类型 | 操作 |
---|---|---|---|
全局 |
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 连接器
编辑在您升级到 7.16.0 或更高版本后,在 Elastic Stack 7.15.0 或更早版本中创建的 ServiceNow SecOps 连接器将被标记为已弃用。已弃用的连接器在其名称后有一个黄色图标,并在被选中时显示警告消息。
已弃用的连接器将继续与其添加到的规则一起运行,并且可以分配给新规则。但是,强烈建议更新已弃用的连接器或创建新的连接器,以确保您可以访问连接器增强功能,例如更新事件。
要更新已弃用的连接器
- 使用导航菜单或全局搜索字段转到连接器页面。
- 选择已弃用的连接器以打开编辑连接器弹出窗口。
- 在警告消息中,单击更新此连接器。
-
完成编辑连接器弹出窗口中的引导步骤。
- 从 ServiceNow 商店安装Elastic for Security Operations (SecOps) 并完成所需的先决条件。
- 输入您的 ServiceNow 实例的 URL。
- 输入您的 ServiceNow 实例的用户名和密码。
- 单击更新。