FireEye CM
本文档介绍了如何将 FireEye CM 与 Google Security Operations 集成。
使用场景
- 提取 Trellix Central Management 提醒,以便使用这些提醒创建 Google Security Operations 提醒。接下来,在 Google SecOps 中,提醒可用于通过 playbook 或手动分析执行编排。
- 执行主动操作 - 使用 Trellix Central Management 代理从 Google SecOps 下载提醒工件、创建规则、IOC Feed
在 Google SecOps 中配置 FireEye CM 集成
有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。
集成参数
使用以下参数配置集成:
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 实例名称 | 字符串 | 不适用 | 否 | 您要为其配置集成的实例的名称。 |
| 说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
| API 根 | 字符串 | https://: |
是 | Trellix Central Management 服务器的 API 根。 |
| 用户名 | 字符串 | 不适用 | 是 | Trellix Central Management 账号的用户名。 |
| 密码 | 密码 | 不适用 | 是 | Trellix Central Management 账号的密码。 |
| 验证 SSL | 复选框 | 勾选 | 是 | 如果已启用,请验证与 Trellix Central Management 服务器连接的 SSL 证书是否有效。 |
| 远程运行 | 复选框 | 尚未核查 | 否 | 勾选此字段,以便远程运行配置的集成。选中后,系统会显示选择远程用户(代理)的选项。 |
操作
Ping
说明
使用 Google SecOps 内容中心页面中的集成配置页面上提供的参数,测试与 Trellix Central Management 的连接。
运行时间
该操作不会对实体执行,也没有强制性输入参数。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败或停止 playbook 执行: 如果成功: 操作应失败并停止 playbook 执行: 如果不成功: Print "Failed to connect to the Trellix Central Management server! 错误为 {0}”。format(exception.stacktrace) |
常规 |
添加 IOC Feed
说明
在 Trellix Central Management 中根据实体添加 IOC Feed。仅支持 MD5 和 SHA256 哈希。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 操作 | DDL | 提醒 可能的值 提醒 屏蔽 |
是 | 指定新 Feed 的操作。 |
| 评论 | 字符串 | 不适用 | 否 | 为 Feed 指定其他备注。 |
| 提取域名 | 复选框 | 不适用 | 是 | 如果启用,操作将从网址中提取网域部分,并使用该部分创建 IOC Feed。 |
运行时间
此操作将在以下实体上运行:
- IP 地址
- 网址
- HASH (MD5/SHA256)
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败或停止 playbook 执行: if status code 200 for at least one entity type(is_success = true): 如果某些实体类型未正确使用 (is_success =true): iIf none of the entities were successfully used for feed creation: (is_success=false) 操作应失败并停止 playbook 执行: 如果发生严重错误,例如凭据错误、无法连接到服务器等: 输出“执行‘添加 IOC Feed’操作时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
删除 IOC Feed
说明
在 Trellix Central Management 中删除 IOC Feed。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| Feed 名称 | 字符串 | 不适用 | 是 | 指定需要删除的 Feed 的名称。 |
运行时间
该操作不会对实体执行,也没有强制性输入参数。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: if status code 200 and feedName was found in the list for last request (is_success = false): "Action wasn't able to delete feed '{0}' in Trellix Central Management. 如果最初 Feed 名称不存在:“操作无法删除 Trellix Central Management 中的 IOC Feed”。原因:找不到 Feed“{feed_name}”。 如果发生致命错误(例如凭据错误、无法连接到服务器等),操作应失败并停止 Playbook 执行: |
常规 |
列出隔离的电子邮件
说明
列出隔离的电子邮件。需要将 FireEye EX 连接到 Trellix Central Management。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 开始时间 | 字符串 | 不适用 | 否 | 如果指定了此参数,则系统只会返回在开始时间之后创建的电子邮件。如果未指定开始时间和结束时间,此操作会返回过去 24 小时内隔离的邮件。格式:YYYY-MM-DD'T'HH:MM:SS.SSS-HHMM |
| 结束时间 | 字符串 | 不适用 | 否 | 如果指定,则系统只会返回在结束时间之前创建的电子邮件。如果未指定开始时间和结束时间,此操作会返回过去 24 小时内隔离的邮件。格式:YYYY-MM-DD'T'HH:MM:SS.SSS-HHMM |
| 发件人过滤条件 | 字符串 | 不适用 | 否 | 如果指定,则仅返回来自此发件人的所有隔离电子邮件。 |
| 主题过滤条件 | 字符串 | 不适用 | 否 | 如果指定,则仅返回具有此主题的所有隔离电子邮件。 |
| 返回的电子邮件数量上限 | 字符串 | 50 | 否 | 指定要返回的电子邮件数量。上限为 10000。这是 Trellix Central Management 的限制。 |
运行时间
该操作不会对实体执行,也没有强制性输入参数。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
[
{
"completed_at": "2020-06-09T08:21:17",
"email_uuid": "x-x-x-x-x",
"quarantine_path": "/data/email-analysis/quarantine2/2020-06-09/08/49h33n3HZczxNgc",
"subject": "qwe",
"message_id": "ec7d161d-c0f5-7e32-8f53-468393ccc9b6@fex2-lab.local",
"from": "xxxx.xxxx2@xxxx-xxx.xxxx",
"queue_id": "49h33n3HZczxNgc"
},
{
"completed_at": "2020-06-09T08:21:42",
"email_uuid": "58800022-51f7-4b07-b6b1-c5d88434283f",
"quarantine_path": "/data/email-analysis/quarantine2/2020-06-09/08/49h34G5TVczxNgg",
"subject": "rew",
"message_id": "625607a6-a99d-004a-4ad6-69c3ec795168@fex2-lab.local",
"from": "xxxx.xxxx2@xxxx-xxx.xxxx",
"queue_id": "49h34G5TVczxNgg"
}
]
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: 如果没有可用数据 (is_success = true):“No quarantined emails were found in Trellix Central Management!” 如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止 Playbook 执行: |
常规 |
| 案例墙表格 | 名称:隔离的电子邮件 列:
|
释放隔离的电子邮件
说明
释放隔离的电子邮件。需要将 FireEye EX 连接到 Trellix Central Management。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 队列 ID | 字符串 | 不适用 | 是 | 指定需要释放的电子邮件的队列 ID。 |
| 传感器名称 | 字符串 | 不适用 | 否 | 指定要释放隔离电子邮件的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。 |
运行时间
该操作不会对实体执行,也没有强制性输入参数。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: 如果状态代码为 200 且响应不为空 (is_success = false):“队列 ID 为 {0} 的电子邮件未释放。原因:{1}”。 如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook: 如果系统未自动找到传感器:“执行‘释放隔离的电子邮件’操作时出错。原因:未找到 FireEye EX 设备的传感器。请在“Sensor Name”(传感器名称)参数中手动提供。''.format(error.Stacktrace) 如果提供的传感器无效:“执行‘释放隔离的电子邮件’操作时出错。原因:未找到 FireEye EX 设备的名称为“{0}”的传感器。请检查拼写。''.format(error.Stacktrace) |
常规 |
下载隔离的电子邮件
说明
下载隔离的邮件。需要将 FireEye EX 连接到 Trellix Central Management。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 队列 ID | 字符串 | 不适用 | 是 | 指定需要下载的电子邮件的队列 ID。 |
| 下载文件夹路径 | 字符串 | 不适用 | 是 | 指定操作应将文件保存到的文件夹的绝对路径。 |
| 覆盖 | 复选框 | 是 | 是 | 如果启用,操作将覆盖具有相同路径的现有文件。 |
| 传感器名称 | 字符串 | 不适用 | 否 | 指定要下载隔离电子邮件的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。 |
运行时间
该操作不会对实体执行,也没有强制性输入参数。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
file_path = {absolute file path to the file}
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果响应中包含状态代码 200 和 XML (is_success = false):“未下载队列 ID 为 {0} 的电子邮件。原因:{1}”。 如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook: 如果系统未自动找到传感器:“执行‘下载隔离的电子邮件’操作时出错。原因:未找到 FireEye EX 设备的传感器。请在“Sensor Name”(传感器名称)参数中手动提供。''.format(error.Stacktrace) 如果提供的传感器无效:“执行‘下载隔离的电子邮件’操作时出错。原因:未找到 FireEye EX 设备的名称为“{0}”的传感器。请检查拼写。''.format(error.Stacktrace) |
常规 |
删除隔离的邮件
说明
删除被隔离的邮件。需要将 FireEye EX 连接到 Trellix Central Management。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 队列 ID | 字符串 | 不适用 | 是 | 指定需要删除的电子邮件的队列 ID。 |
| 传感器名称 | 字符串 | 不适用 | 否 | 指定要删除隔离电子邮件的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。 |
运行时间
该操作不会对实体执行,也没有强制性输入参数。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: if status code 200 and response is not empty: "Email with queue id {0} was not deleted. 原因:{1}”。 如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行‘删除隔离的电子邮件’操作时出错。Reason: {0}''.format(error.Stacktrace) 如果系统未自动找到传感器:“执行‘删除隔离的电子邮件’操作时出错。原因:未找到 FireEye EX 设备的传感器。请在“Sensor Name”(传感器名称)参数中手动提供。''.format(error.Stacktrace) 如果提供的传感器无效:“执行‘删除隔离的电子邮件’操作时出错。原因:未找到 FireEye EX 设备的名称为“{0}”的传感器。请检查拼写。''.format(error.Stacktrace) |
常规 |
下载提醒工件
说明
从 Trellix Central Management 下载提醒工件。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 提醒 UUID | 字符串 | 不适用 | 是 | 指定我们需要从中下载制品的提醒 UUID。 |
| 下载文件夹路径 | 字符串 | 不适用 | 是 | 指定操作应将文件保存到的文件夹的绝对路径。 |
| 覆盖 | 复选框 | 勾选 | 是 | 如果启用,操作将覆盖具有相同路径的现有文件。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
file_path = {absolute file path to the file}
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 Playbook 执行: 如果该路径的文件已存在 (is_success = false):“Action wasn't able to download Trellix Central Management alert artifacts with alert id {0}. 原因:该路径下已存在同名文件。 如果状态代码为 404 (is_success = false):“未找到 UUID 为 {0} 的提醒的工件。". 如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook: |
常规 |
列出 IOC Feed
说明
列出 Trellix Central Management 中的可用 IOC Feed。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 要返回的 IOC Feed 数量上限 | 字符串 | 50 | 否 | 指定要返回的 IOC Feed 数量。默认值为 50。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"customFeedInfo": [
{
"feedName": "ad",
"status": "Feed processed",
"feedType": "url",
"uploadDate": "2020/10/13 10:32:28",
"feedAction": "alert",
"feedSource": "",
"contentMeta": [
{
"contentType": "ip",
"feedCount": 0
},
{
"contentType": "domain",
"feedCount": 0
},
{
"contentType": "url",
"feedCount": 3
},
{
"contentType": "hash",
"feedCount": 0
}
]
},
{
"feedName": "adasdasdas",
"status": "Feed processed",
"feedType": "domain",
"uploadDate": "2020/10/13 10:34:29",
"feedAction": "alert",
"feedSource": "",
"contentMeta": [
{
"contentType": "ip",
"feedCount": 0
},
{
"contentType": "domain",
"feedCount": 3
},
{
"contentType": "url",
"feedCount": 0
},
{
"contentType": "hash",
"feedCount": 0
}
]
},
{
"feedName": "qweqwe",
"status": "Feed processed",
"feedType": "ip",
"uploadDate": "2020/10/13 10:16:31",
"feedAction": "alert",
"feedSource": "",
"contentMeta": [
{
"contentType": "ip",
"feedCount": 3
},
{
"contentType": "domain",
"feedCount": 0
},
{
"contentType": "url",
"feedCount": 0
},
{
"contentType": "hash",
"feedCount": 0
}
]
}
]
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: 如果未找到任何条目:“No IOC feeds were found in Trellix Central Management”(在 Trellix Central Management 中未找到任何 IOC Feed) 如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook: |
常规 |
| 案例墙表格 | 表名称:Available IOC Feeds 表列: 姓名 状态 类型 操作键 评论 IP 数量 网址数量 网域数量 哈希计数 上传时间 |
常规 |
将规则添加到自定义规则文件
说明
在 Trellix Central Management 中,向自定义规则文件添加新规则。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 规则 | 字符串 | 不适用 | 是 | 指定需要添加到自定义规则文件中的规则。 |
| 传感器名称 | 字符串 | 不适用 | 否 | 指定要添加新规则的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: 操作应失败并停止执行 playbook: 如果未自动找到传感器:“执行‘向自定义规则文件添加规则’操作时出错。原因:未找到 FireEye NX 设备的传感器。请在“Sensor Name”(传感器名称)参数中手动提供。''.format(error.Stacktrace) 如果提供了无效的传感器:“执行‘向自定义规则文件添加规则’操作时出错。原因:未找到 FireEye NX 设备的名称为 {0} 的传感器。请检查拼写。''.format(error.Stacktrace) |
常规 |
确认提醒
说明
在 Trellix Central Management 中确认提醒。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 提醒 UUID | 字符串 | 不适用 | 是 | 指定需要确认的提醒 UUID。 |
| 注解 | 字符串 | 不适用 | 是 | 指定用于说明确认原因的注解。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: 如果状态代码为 404 (is_success = false):“Action wasn't able to acknowledge Trellix Central Management alert with ID {0}. 原因:找不到 ID 为 {0} 的提醒。". 如果状态代码为 400 (is_success = false):“操作无法确认 ID 为 {0} 的 Trellix Central Management 提醒。原因:{1}“。 操作应失败并停止 playbook 执行: |
常规 |
下载自定义规则文件
说明
从 Trellix Central Management 下载自定义规则文件。
参数
| 参数显示名称 | 类型 | 默认值 | 是否为必填项 | 说明 |
|---|---|---|---|---|
| 传感器名称 | 字符串 | 不适用 | 否 | 指定要添加新规则的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。 |
| 下载文件夹路径 | 字符串 | 不适用 | 是 | 指定应将文件下载到的文件夹的绝对路径。 |
| 覆盖 | 复选框 | 勾选 | 是 | 如果启用,操作将覆盖具有相同路径的现有文件。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | “值”选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
File Path = "absolute path to the file"
案例墙
| 结果类型 | 值 / 说明 | 类型 |
|---|---|---|
| 输出消息* | 该操作不应失败,也不应停止 playbook 执行: 如果状态代码为 500 或 400 (is_success = false):“操作无法从 Trellix Central Management 中的设备‘{0}’下载自定义规则文件。原因:{1}”。 如果系统未自动找到传感器:“执行‘下载自定义规则文件’操作时出错。原因:未找到 FireEye NX 设备的传感器。请在“Sensor Name”(传感器名称)参数中手动提供。''.format(error.Stacktrace) 如果提供的传感器无效:“执行‘下载自定义规则文件’操作时出错。原因:未找到 FireEye NX 设备的名称为 {0} 的传感器。请检查拼写。''.format(error.Stacktrace) |
常规 |
连接器
FireEye CM - 提醒连接器
说明
连接器会将 Trellix Central Management 提醒注入 Google SecOps。这包括由 FireEye NX 和 EX 设备生成的提醒。
在 Google SecOps 中配置 FireEye CM - Alerts 连接器
如需详细了解如何在 Google SecOps 中配置连接器,请参阅配置连接器。
连接器参数
使用以下参数配置连接器:
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 产品字段名称 | 字符串 | 传感器 | 是 | 输入源字段名称,以便检索产品字段名称。 |
| 事件字段名称 | 字符串 | eventType | 是 | 输入源字段名称,以检索事件字段名称。 |
环境字段名称 |
字符串 | "" | 否 | 描述存储环境名称的字段的名称。 如果未找到环境字段,则环境为默认环境。 |
环境正则表达式模式 |
字符串 | .* | 否 | 要对“环境字段名称”字段中的值运行的正则表达式模式。 默认值为 .*,用于捕获所有值并返回未更改的值。 用于允许用户通过正则表达式逻辑操作环境字段。 如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。 |
| 脚本超时(秒) | 整数 | 180 | 是 | 运行当前脚本的 Python 进程的超时限制。 |
| API 根 | 字符串 | https://x.x.x.x:x | 是 | Trellix Central Management 服务器的 API 根。 |
| 用户名 | 字符串 | 不适用 | 是 | Trellix Central Management 账号的用户名。 |
| 密码 | 密码 | 不适用 | 是 | Trellix Central Management 账号的密码。 |
| 回溯的小时数上限 | 整数 | 1 | 否 | 提取提醒的小时数。 |
| 验证 SSL | 复选框 | 勾选 | 是 | 如果已启用,请验证与 Trellix Central Management 服务器连接的 SSL 证书是否有效。 |
| 将白名单用作黑名单 | 复选框 | 尚未核查 | 是 | 如果启用,白名单将用作黑名单。 |
| 代理服务器地址 | 字符串 | 不适用 | 否 | 要使用的代理服务器的地址。 |
| 代理用户名 | 字符串 | 不适用 | 否 | 用于进行身份验证的代理用户名。 |
| 代理密码 | 密码 | 不适用 | 否 | 用于进行身份验证的代理密码。 |
连接器规则
代理支持
此连接器支持代理。
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。