收集 ServiceNow Security 日志
支持的平台:
Google SecOps
SIEM
概览
此解析器会从 ServiceNow JSON 日志中提取安全事件数据,并将相关字段映射到 UDM。它会处理登录和权限更改等各种事件类型,填充主账号/目标用户信息、IP 地址以及供应商和产品详情等元数据。
准备工作
- 确保您拥有 Google SecOps 实例。
- 确保您拥有对 ServiceNow Security 的特权访问权限。
在 Google SecOps 中配置 Feed 以提取 ServiceNow 安全日志
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 在Feed 名称字段中,输入 Feed 的名称(例如 ServiceNow 安全日志)。
- 选择 Webhook 作为来源类型。
- 选择 ServiceNow Security 作为日志类型。
- 点击下一步。
- 可选:为以下输入参数指定值:
- 分隔符:用于分隔日志行(例如
\n
)的分隔符。 - 资源命名空间:资源命名空间。
- 提取标签:应用于此 Feed 中的事件的标签。
- 分隔符:用于分隔日志行(例如
- 点击下一步。
- 在最终确定界面中查看 Feed 配置,然后点击提交。
- 点击生成 Secret 密钥,生成用于对此 Feed 进行身份验证的 Secret 密钥。
- 复制并存储密钥。您将无法再查看此密钥。如有必要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥过时。
- 在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
- 点击完成。
为该 Webhook Feed 创建 API 密钥
依次前往 Google Cloud 控制台 > 凭据。
点击创建凭据,然后选择 API 密钥。
限制 API 密钥对 Google Security Operations API 的访问权限。
指定端点网址
- 在客户端应用中,指定 webhook Feed 中提供的 HTTPS 端点网址。
通过在自定义标头中指定 API 密钥和密钥(格式如下)来启用身份验证:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
建议:将 API 密钥作为标头指定,而不是在网址中指定。
如果您的 webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和密钥:
ENDPOINT_URL?key=API_KEY&secret=SECRET
替换以下内容:
ENDPOINT_URL
:Feed 端点网址。API_KEY
:用于对 Google SecOps 进行身份验证的 API 密钥。SECRET
:您为对 Feed 进行身份验证而生成的密钥。
在 ServiceNow 中配置 Webhook
- 使用特权账号登录 ServiceNow Security。
- 依次前往配置 > 监控 > 连接。
- 点击 添加 。
- 选择 Webhook。
- 为以下参数指定值:
- 名称:为该 webhook 提供描述性名称(例如“Google SecOps”)。
- 网址:输入 Google SecOps ENDPOINT_网址,并附上 API_KEY 和 SECRET。
- 点击保存,完成网络钩子配置。
UDM 映射
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
created_by | target.user.userid | 如果 snc_user 为空,则映射到 target.user.userid 。 |
事件 | metadata.product_event_type | 直接从原始日志字段“event”映射而来。 |
event_created | metadata.event_timestamp.seconds | 使用 date 过滤器将原始日志字段“event_created”转换为秒数。 |
ip_address | principal.ip | 直接从原始日志字段“ip_address”(如果不为空)映射而来。 |
snc_user | target.user.userid | 直接从原始日志字段“snc_user”(如果不为空)映射而来。 |
用户 | principal.user.userid | 直接从原始日志字段“user”(如果不为空或“null”)映射而来。 |
extensions.auth.type | 如果 event 字段为“登录失败”“SNC 登录”“管理员登录”或“冒充”,请将其设置为“MACHINE”。 |
|
metadata.event_type | 如果 event 字段为“登录失败”“SNC 登录”“管理员登录”或“冒充”,则设置为“USER_LOGIN”。如果 event 字段为“安全提升”,则设置为“USER_CHANGE_PERMISSIONS”。 |
|
metadata.log_type | 已硬编码为“SERVICENOW_SECURITY”。 | |
metadata.product_name | 已硬编码为“SERVICENOW_SECURITY”。 | |
metadata.vendor_name | 已硬编码为“SERVICENOW”。 | |
principal.user.userid | 如果 user 字段为空或为“null”,则设置为“UNKNOWN”。 |