通过Webhook发送CMA通知

概述

卡托管理应用程序(CMA)为您账户中广泛的安全和网络事件生成通知。 您可以使用webhook集成自动将这些通知发送到第三方平台,例如ServiceNow、Jira、Slack或Zendesk。 这允许外部系统实时消费卡托事件数据,并触发自动化工作流程进行事件跟踪和响应。

卡托支持两种类型的webhook集成:

  • 标准webhook使用HTTP请求在外部平台中创建或更新项目。 

  • 关联webhook与XOps服务集成。 他们使用关联ID创建和更新表示XOps安全和网络故事生命周期的项目在第三方工具中。 需要XOps许可证。

Webhook集成是完全可配置的。 您可以定义HTTP方法(POST或PUT)、目标URL、身份验证方法和请求主体。 模板和字段变量使您可以根据第三方平台的要求定制有效载荷结构。

理解卡托Webhook集成

Webhook集成类型

卡托支持这些类型的webhook,以将您的账户与第三方平台集成并创建自动化流:

  • 标准webhook支持广泛的CMA通知,例如基于账户或系统警报、策略驱动的通知。 他们允许您将这些数据发送到外部平台,并配置webhook是创建新记录还是更新现有记录。

  • 关联webhook是为XOps服务设计的。 他们扩展了webhook功能到安全和网络故事,使每个故事在CMA中映射到外部系统中的记录,并在故事进展时更新。 需要XOps许可证。

Webhook流——创建或更新

Webhook流定义CMA如何与第三方平台通信,无论是创建新记录还是更新现有记录:

  • POST(创建)- 每次触发webhook时,在第三方平台中创建新项。 例如:每次互联网防火墙规则阻止流量流时,打开一个新的ServiceNow工单。

  • PUT(更新)– 更新第三方平台中的现有项目。 请求包含URL或主体中的有效项目ID。

身份验证方法

创建Webhook集成时,有不同的身份验证方法可供选择:

  • Basic - 用户名和密码

  • Bearer - 持有者令牌

  • Custom - 服务需要独特身份验证的自定义头。 根据需要添加键值对。

注意: 如果对第三方服务的访问仅限于特定的IP地址,请参阅此文章以获取您需要允许的Cato IP地址列表(查看此文章需要登录)。

自定义通知内容

模板中的 content 字段包含生成的可读警报摘要,类似于电子邮件警报内容。 您可以选择以下格式来定义内容:contentTextcontentMarkdowncontentHTML

如果您选择自定义正文,则有许多数据字段可供您在消息内容中使用。 因此您可以定义自定义主体(或结构),然后嵌入卡托数据字段。 当您输入$时,将显示可用的数据字段,然后您选择所需字段。 字段使用自动填充功能来过滤列表。 有关Cato字段的更多信息,请参阅了解警报集成的JSON字段

Webhook字段的默认值

您可以为动态Webho字段定义自定义默认值,以在通知数据不包含值时增加灵活性。 这样,您可以覆盖webhook URL、标题或正文中的默认NA值。 使用${field:defaultValue}格式来定义备用值。 例如,如果level字段未填充,则可以设置${level:medium}。 在相关流中,您还可以在webhook URL中使用备用工单ID,例如https://EXAMPLE-INSTANCE.service-now.com/api/now/table/incident/${correlationId:12345},以便在默认ServiceNow工单中捕获未关联的通知。

标准Webhook集成

标准webhook允许您将CMA通知发送到第三方平台,适用于多种用例。 首先,定义与平台集成的webhook。 然后选择哪些CMA通知和策略规则,例如防火墙操作,将通过webhook生成通知。

定义Webhook集成

创建一个webhook集成,通过您第三方工具中的项目(工单、Slack消息等)发送通知。 您可以配置webhook通过POST请求创建新项目或通过PUT请求更新现有项目。 集成包括URL、请求主体、身份验证方法和可选的自定义头和消息主体设置。

定义详细信息后,您可以测试连接并验证其是否有效。

定义Webhook集成:

  1. 从导航菜单中,点击账户 > 订阅,选择Webhooks标签。

  2. 点击新建Webhook新 Webhook 集成 面板打开。

  3. 配置Webhook详细信息

    1. 输入集成的 名称

    2. 点击滑块以启用(绿色)或禁用(灰色)集成(默认启用)。

  4. 为集成配置JSON模板设置:

    • 从模板开始中,选择用于填充集成设置的默认JSON模板。

      您可以调整和修改自定义主体的字段(见下面的第7步)。

    注意: 如果您选择不同的模板,自定义主体中的字段会被重置。 有关模板的更多信息,请参见下面模板和字段

  5. 配置 连接详情

    1. 输入接收 Webhook 的服务的 网址

      您可以使用字段作为URL中的变量。 输入$查看可用字段。

    2. 请求方法中,选择此webhook的流:POSTPUT

    3. 如有必要,配置服务的 认证方法 和设置。

  6. (可选)自定义头部中,为集成的每个额外HTTP头定义密钥

  7. 自定义主体中,定义Webhook通知的内容:

    1. (可选)编辑主体中自定义内容。

      • 输入/作为使用$的转义字符

      • 输入 $ 以嵌入其他字段

      响应关联ID不适用于标准webhook集成

    2. 要定义默认值,请使用格式${field:defaultValue},例如${ID:12345}

  8. 点击测试。 CMA发送一个测试HTTP请求,用字段自动生成的内容。

    如果集成可以连接到服务,则会显示 测试成功通过 消息。

    如果出现连接错误,页面会显示 HTTP 错误代码和服务报告的消息。

  9. 点击 保存。 Webhook集成已保存并添加到订阅页面的集成标签。

定义标准网络钩子订阅的触发器

标准webhook由CMA的通知激活。 您可以配置两种类型的通知:

  1. CMA通知:CMA可以主动发送关于您账户的通知,例如锁定的用户和管理员或许可证更新。 这些通知可以直接通过webhook集成发送。

    有关详细信息,请参见账户级别的警报和系统通知

  2. 策略规则通知:您可以配置策略规则中的跟踪设置,以便在规则匹配时将通知发送到webhook。

在定义策略中的规则时,您可以使用动作区域通过webhook集成发送通知。

rule_webhook.png

关联Webhook集成

XOps服务支持关联webhook,允许您将XOps安全和网络故事的生命周期与第三方平台集成。 配置集成后,第三方平台在故事开始时自动创建新工单、问题或消息,并在故事进展或解决时更新它。

这些集成使用XOps事件中的关联字段将CMA中的每个故事映射到外部平台中的工单、问题或消息。 这确保更新始终应用于正确的项目。 需要XOps许可证。

这些集成要求:

  • 一个标准网络钩子订阅

  • 一个关联网络钩子订阅

  • 两种触发器(每个集成一个)

定义标准网络钩子

创建标准 Webhook 集成,以在第三方工具中创建初始项目(工单、Slack 消息等)。 然后,这些项目将由关联的 Webhook 集成更新。

定义详细信息后,您可以测试连接并验证其是否有效。

定义标准 Webhook 集成:

  1. 在导航菜单中,单击账户 > 订阅,然后选择Webhooks标签页。

  2. 单击新建 Webhook新 Webhook 集成面板打开。

  3. 配置Webhook 详情

    1. 输入集成名称

    2. 点击滑块以启用(绿色)或禁用(灰色)集成(默认情况下已启用)。

  4. 配置集成的 JSON 模板设置:

    • 从模板开始中,选择默认的 JSON 模板,该模板填充集成设置。

      您可以调整和修改自定义正文的字段(请参见下面的步骤 7)。

    注意: 如果您选择不同的模板,自定义正文中的字段将被重置。 有关模板的更多信息,请参见下面的模板和字段

  5. 配置连接详情

    1. 输入接收 Webhook 服务的网址

      您可以在 URL 中使用字段作为变量。 输入$查看可用字段。

    2. 请求方法中,选择POST

    3. 如有必要,配置服务的身份验证方法和设置。

  6. (可选)自定义头部中,为集成定义每个额外 HTTP 头部的

  7. 自定义正文中定义 Webhook 通知的内容:

    1. 响应关联 ID中,定义您将在 URL 中用于关联的项目。 例如,在 ServiceNow 中,这可能是 result.sys_id,而在 Zendesk 中,这可能是 ticket.id。

    2. (可选)编辑正文中自定义内容。

      • 输入/作为转义字符以在正文中使用$

      • 输入$以嵌入其他字段

    3. 要定义默认值,请使用格式${field:defaultValue},例如${ID:12345}

  8. 单击测试。 CMA 发送带有字段自动生成内容的测试 HTTP 请求。

    如果集成可以连接到服务,则显示测试成功通过消息。

    如果有连接错误,页面将显示服务报告的 HTTP 错误代码和消息。

  9. 点击保存。 Webhook 集成已保存并添加到订阅页面的集成标签页。

定义关联Webhook

创建关联的 Webhook 集成,通过更新先前程序中创建的现有项目,在第三方工具中通过项目发送通知(工单、Slack 消息等)。

配置相关webhook时,URL使用关联ID更新第三方平台中的正确项目。 如果关联ID值为空,则无法将更新匹配到现有项目,并将丢失。 为避免这种情况,请将项目ID添加到创建原始工单、问题或消息的标准webhook的自定义正文中。 这使相关webhook可以将该ID用作关联字段的备用值,因此以后的更新在整个生命周期中继续应用于原始项目。

定义详情后,您可以测试连接并验证其是否正常工作。

定义关联的 Webhook 集成:

  1. 在导航菜单中,单击账户 > 订阅,然后选择Webhooks标签页。

  2. 单击新建 Webhook新 Webhook 集成面板打开。

  3. 配置Webhook 详情

    1. 输入集成名称

    2. 点击滑块以启用(绿色)或禁用(灰色)集成(默认情况下已启用)。

  4. 配置集成的 JSON 模板设置:

    • 从模板开始中,选择默认的 JSON 模板,该模板填充集成设置。

      您可以调整和修改自定义正文的字段(请参见下面的步骤 7)。

    注意: 如果您选择不同的模板,自定义正文中的字段将被重置。 有关更多信息,请参阅账户级别警报和系统通知

  5. 配置连接详情

    1. 输入接收 Webhook 服务的网址。 通过添加关联项目 ID字段,与现有项目关联。

      您可以在 URL 中使用字段作为变量。 输入$查看可用字段。

    2. 请求方法中,选择PUT

    3. 如有必要,配置服务的身份验证方法和设置。

  6. (可选)自定义头部中,为集成定义每个额外 HTTP 头部的

  7. 自定义正文中定义 Webhook 通知的内容:

    1. (可选)编辑正文中自定义内容。

      • 输入/作为转义字符以在正文中使用$

      • 输入$以嵌入其他字段

    2. 要定义默认值,请使用格式${field:defaultValue},例如${ID:12345}

  8. 单击测试。 CMA 发送带有字段自动生成内容的测试 HTTP 请求。

    如果集成可以连接到服务,则显示测试成功通过消息。

    如果有连接错误,页面将显示服务报告的 HTTP 错误代码和消息。

  9. 单击保存。 Webhook 集成已保存并添加到订阅页面的集成标签页。

定义标准 Webhook 集成的触发条件

标准 Webhook 由 CMA 的通知激活。 您可以配置两种类型的通知:

  1. CMA 通知:CMA 可以主动发送有关您账户的通知,例如锁定用户和管理员或许可证更新。 这些通知可以直接通过 Webhook 集成发送。

    有关更多信息,请参阅账户级别警报和系统通知

  2. 策略规则通知:您可以在策略规则中配置跟踪设置,以便每当规则匹配时向 Webhook 发送通知。

在策略中定义规则时,您可以使用操作区域通过 Webhook 集成发送通知。

rule_webhook.png

使用定义检测和响应通知定义相关集成的触发器

通过检测与响应策略,您可以自动化在第三方平台创建和更新关联XOps事件的项目。 从而确保您的外部系统始终反映当前故事状态。

您可以在策略中配置规则:

  • 故事创建:触发关联webhook,创建新项目

  • 故事更新:触发关联webhook,随着故事进展更新相同项目

为了保持故事同步,配置两个规则:一个在故事开始时创建项目,一个在故事改变时更新项目。

定义webhook通知的触发器:

  1. 从导航菜单中,点击首页 > 检测与响应策略

  2. 选择响应策略标签。

  3. 点击新建添加到响应策略面板打开。

  4. 为规则输入一个名称

  5. 来源部分,选择类型(例如:主机IP范围站点),然后为此规则的故事来源选择一个或多个对象(或者您可以输入IP地址)。

    默认来源值是任何

  6. (可选)定义标准,指定故事必须具备的特点以匹配规则。

  7. 选择规则的触发器。 

    • 故事创建用于创建新项目

    • 故事更新用于更新现有项目

  8. 响应标签中,选择发送通知

  9. 发送通知到中,选择集成

  10. 集成中,选择发送通知的webhook集成。

  11. 单击保存。 规则已添加到策略中。

模板和字段

每个webhook可以完全自定义以匹配您的第三方系统的格式和行为。 webhook以JSON格式提供,可以调整以适应目标平台结构。 为静态和动态有效载荷使用卡托字段变量。

选择模板后,您可以编辑主体作为JSON有效载荷并将其保存为自定义模板。 您还可以选择在 JSON 中嵌入数据字段,这将把相关值放入负载中(如果不可用,则放入 NA)。

输入$时,显示可用字段。 有关 Cato字段的更多信息,请参阅 了解用于警报集成的JSON字段

创建 webhook 时,您可以从这些模板中进行选择:

  • 所有字段 - 包括所有可用字段

  • 基本 - 最常用字段的模板

  • Jira - 基本的Jira模板

  • ServiceNow 新建票证 - 在ServiceNow中创建新票证

  • ServiceNow 更新票证 - 更新ServiceNow中现有票证

  • Slack - 向Slack频道发送消息

  • Zendesk 新建票证 - 在Zendesk中创建新票证

  • Zendesk 更新票证 - 更新Zendesk中的现有票证

  • 自定义 - 自定义模板设置

您还可以在定义 webhook 集成的 URL 时使用字段。

这篇文章有帮助吗?

1 人中有 0 人觉得有帮助

0 条评论