通用Webhook

通用Webhook数据导出器允许您将Rapid7平台产品与第三方或自定义编写的软件集成在一起,以便当事件在Rapid7平台上触发时以指定的方式响应。

设置好之后,Universal Webhook数据导出器将从托管数据导出器的收集器向数据导出器中配置的URL发送一条HTTP POST消息。下面的HTTP请求头将包含在每个出站的HTTP POST消息到webhook目标。

头的关键

描述

例子

X-Rapid7-Event

标识被推入webhook的事件类型。请求体的格式将对应于此事件类型。InsightIDR事件类型如下所述。

idr_alert

X-Rapid7-Signature

请求正文内容的HMAC签名,可用于验证请求是由Rapid7平台生成的。

QpjfToIxq / Vn9K / / yWUm0 / / 5 gyen5pzuhui93i1kcsc =

内容类型

请求主体的内容类型,始终是JSON UTF-8

application / json;utf - 8字符集=

内容长度

请求体中的字节数。

122

Universal Webhook数据导出器将发送两种类型的消息。第一个是测试事件以确认URL正在工作。当webhook数据导出器启动或配置更改时,此消息将被发送。第二种类型是anidr_alert事件。只要在InsightIDR中触发警报并包含有关事件中的警报的信息,就会发送这种类型的消息。关于每种类型的事件的更多细节可以在下面找到。

事件

Universal Webhook数据导出器负责向配置为接收事件的Webhook提供几种类型的事件,如下所示。

测试事件

测试事件将在每次修改Universal Webhook配置和启动或停止数据导出时触发。

请求头

          
规范
1
POST HTTP / 1.1(路径)
2
X-Rapid7-Event:测试
3.
X-Rapid7-Signature:[基于秘密的请求体签名]
4
用户代理:Rapid7 Webhook数据导出器
5
Content-Length:[消息体的长度]
6
内容类型:application / json;utf - 8字符集=
7
主机:[运行webhook的机器]
          
例子
1
POST /道路/ / webhook HTTP / 1.1
2
X-Rapid7-Event:测试
3.
X-Rapid7-Signature: QpjfToIxq / Vn9K / / yWUm0 / / 5 gyen5pzuhui93i1kcsc =
4
用户代理:Rapid7 Webhook数据导出器
5
内容长度:122
6
内容类型:application / json;utf - 8字符集=
7
主持人:mywebhook.myorg.com

请求体

          
规范
1
2
"timestamp": "[事件时间]",
3.
"webhook_id": "[webhook唯一标识符]",
4
"webhook_name": "[配置的webhook名称]"
5
}
          
例子
1
2
“时间戳”:“2017 - 11 - 14 t23:09:10.930z”,
3.
“webhook_id”:“204711 ea - e38c - 4 - ab5 - 937 b - f6c021fb7750”,
4
“webhook_name”:“普遍Webhook”
5
}

idr_alert事件

idr_alert事件在InsightIDR中生成警报时触发。就像InsightIDR可以在产品中警报响起时给你发邮件一样,你也可以配置通用Webhook数据导出器,向你选择的Webhook发送警报。

请求头

          
规范
1
POST HTTP / 1.1(路径)
2
X-Rapid7-Event: idr_alert
3.
X-Rapid7-Signature:[基于秘密的请求体签名]
4
用户代理:Rapid7 Webhook数据导出器
5
Content-Length:[消息体的长度]
6
内容类型:application / json;utf - 8字符集=
7
主机:[运行webhook的机器]
          
例子
1
POST /道路/ / webhook HTTP / 1.1
2
X-Rapid7-Event: idr_alert
3.
X-Rapid7-Signature: nT9gll1IqftAzBAZSHYUBCbUcun3IYInSaT2f68LaxU =
4
用户代理:Rapid7 Webhook数据导出器
5
内容长度:369
6
内容类型:application / json;utf - 8字符集=
7
主持人:mywebhook.myorg.com

请求体

          
规范
1
2
"timestamp": "[警报时间]",
3.
"类型":"[警报类型]",
4
"name": "[警报名称]",
5
"description": "[警报描述]",
6
"link": "[链接回IDR进行警报]",
7
“调查id”:“[调查的唯一标识符]”,
8
"演员":{
9
“用户”:(
10
11
"name": "[用户名]"
12
"distinguished name ":"[用户的Active Directory专有名称]"
13
"电子邮件":"[用户电子邮件列表]"
14
}
15
],
16
“资产”:(
17
18
"hostname": "[资产主机名]"
19
"fqdn": "[资产的完全合格域名]"
20.
"shortname": "[资产的短名称]"
21
}
22
23
}
24
}
          
例子
1
2
“时间戳”:“2017 - 11 - 14 t23:09:10.930z”,
3.
“类型”:“AssetConnectsToNetworkHoneypot”,
4
“name”:“CONNECTION TO NETWORK HONEYPOT”,
5
"description": "Asset abc123.myorg.com attempt 2 connections to honeypot myorg-finance-fs",
6
“链接”:“https://us.idr.insight.rapid7.com/op/0000000000000000 /调查/ 12345678 - 1234 - 1234 - 1234 - 12345678 - ab”,
7
“investigationId”:“12345678 - 1234 - 1234 - 1234 - 12345678 - ab”,
8
"演员":{
9
“用户”:[{
10
“名称”:“艾米苔”,
11
“distinguishedName”:“cn =艾米苔藓,ou =用户,ou =人,dc = myorg, dc = com”,
12
“电子邮件”:[
13
“amoss@myorg.com”
14
15
},
16
17
“名称”:“jdoe”,
18
“电子邮件”:[]
19
}
20.
],
21
“资产”:[{
22
“主机名”:“abc123.myorg.com”,
23
“fqdn”:“abc123.myorg.com”,
24
“短”:“abc123”
25
},
26
27
“主机名”:“xyz789”,
28
“短”:“xyz789”
29
}
30.
31
}
32
}

在你开始之前

您将需要访问一个web服务,该web服务可以通过URL访问,收集器将托管数据导出器并准备接受该URL测试idr_alert来自数据导出器的消息。例如,配置aKomand工作流接受webhook触发器

如何配置此数据导出器

  1. 从仪表板中选择数据收集在左边的菜单上。
  2. 当出现“数据采集”页面时,单击设置事件源下拉选择添加事件源
  3. 从“安全数据”部分,单击数据出口国图标。出现“添加事件源”面板。
  4. 选择收集器和事件源。如果需要,还可以命名事件源。
  5. 提供您先前配置的URL。出于安全考虑,Rapid7建议尽可能使用HTTPS作为协议。
  6. 如果还没有提供秘密,请在“秘密”字段中输入。
  7. 可选地添加任何额外的头需要你的webhook HTTP POST请求;这些将包括在每个webhook消息中,除了在这个页面的顶部列出的标题。
    • 例如,如果你的端点需要一个授权键,你可以在这里添加它,以“authorization”作为键,并将webhook中相应的键作为值。
  8. 可以选择从InsightIDR导出特定于资产的警报,方法是检查警报盒子。
  9. 通过勾选适当的框,可以选择信任所有证书和/或自签名证书。
  10. 点击保存

“秘密”领域是什么?

在配置数据导出器时,您将看到一个名为“Secret”的预填充字段,这是该数据导出器的HMAC验证密钥。从这个数据导出器发送的每个webhook消息将包括一个X-Rapid7-Signature在请求头中,该请求头将使用使用数据导出器的secret生成的值填充。为了提高安全性,接收消息的webhook可以将这个签名与已知的秘密一起验证消息是来自数据导出者的真实消息。