FireEye CM

本文档介绍了如何将 FireEye CM 与 Google Security Operations 集成。

使用场景

  1. 提取 Trellix Central Management 提醒,以便使用这些提醒创建 Google Security Operations 提醒。接下来,在 Google SecOps 中,提醒可用于通过 playbook 或手动分析执行编排。
  2. 执行主动操作 - 使用 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 执行:

如果成功:
输出“已使用提供的连接参数成功连接到 Trellix Central Management 服务器!”

操作应失败并停止 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):
Print "Successfully added new IOC feeds to Trellix Central Management based on the following entities: \n".format(entity.identifier)

如果某些实体类型未正确使用 (is_success =true):
Print "Action wasn't able to create new IOC feeds in Trellix Central Management based on the following entities:\n).format(entity.identifier)

iIf none of the entities were successfully used for feed creation: (is_success=false)
Print "No IOC feeds were created in Trellix Central Management!"

操作应失败并停止 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 执行:
如果状态代码为 200,且在列表中未找到 feedName (is_success = true):“Successfully deleted feed '{0}' in Trellix Central Management !”。

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 执行:
“执行‘删除 IOC Feed’操作时出错。Reason: {0}''.format(error.Stacktrace)

常规

列出隔离的电子邮件

说明

列出隔离的电子邮件。需要将 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):“Successfully listed Trellix Central Management quarantined emails!”

如果没有可用数据 (is_success = true):“No quarantined emails were found in Trellix Central Management!”

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止 Playbook 执行:
“执行‘列出隔离的电子邮件’操作时出错。Reason: {0}''.format(error.Stacktrace)

常规
案例墙表格

名称:隔离的电子邮件

列:

  • 发件人
  • 主题
  • 完成时间
  • 电子邮件 UUID
  • 邮件 ID
  • 队列 ID

释放隔离的电子邮件

说明

释放隔离的电子邮件。需要将 FireEye EX 连接到 Trellix Central Management。

参数

参数显示名称 类型 默认值 是否为必填项 说明
队列 ID 字符串 不适用 是 指定需要释放的电子邮件的队列 ID。
传感器名称 字符串 不适用 否 指定要释放隔离电子邮件的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。

运行时间

该操作不会对实体执行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败,也不应停止 playbook 执行:
如果状态代码为 200 且响应为空 (is_success = true):“已成功释放队列 ID 为 {0} 的 Trellix Central Management 隔离电子邮件!”。

如果状态代码为 200 且响应不为空 (is_success = false):“队列 ID 为 {0} 的电子邮件未释放。原因:{1}”。

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook:
“执行‘释放隔离的电子邮件’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果系统未自动找到传感器:“执行‘释放隔离的电子邮件’操作时出错。原因:未找到 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 = true):“已成功下载队列 ID 为 {0} 的 Trellix Central Management 隔离电子邮件!”。

如果响应中包含状态代码 200 和 XML (is_success = false):“未下载队列 ID 为 {0} 的电子邮件。原因:{1}”。

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook:
“执行‘下载隔离的电子邮件’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果系统未自动找到传感器:“执行‘下载隔离的电子邮件’操作时出错。原因:未找到 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 执行:
如果状态代码为 200 且响应为空 (is_success = true):“已成功删除队列 ID 为 {0} 的 Trellix Central Management 隔离电子邮件!”

操作应失败并停止 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 执行:
如果状态代码为 200 (is_success = true):“已成功下载告警 ID 为 {0} 的 Trellix Central Management 告警工件!”。

如果该路径的文件已存在 (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:
“执行‘下载提醒工件’操作时出错。Reason: {0}''.format(error.Stacktrace)

常规

列出 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 执行:
如果状态代码为 200 (is_success = true):“Successfully listed available IOC feeds in Trellix Central Management!”。

如果未找到任何条目:“No IOC feeds were found in Trellix Central Management”(在 Trellix Central Management 中未找到任何 IOC Feed)

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止执行 playbook:
“执行操作‘列出 IOC Feed’时出错。Reason: {0}''.format(error.Stacktrace)

常规
案例墙表格

表名称:Available IOC Feeds

表列:

姓名

状态

类型

操作键

评论

IP 数量

网址数量

网域数量

哈希计数

上传时间

常规

将规则添加到自定义规则文件

说明

在 Trellix Central Management 中,向自定义规则文件添加新规则。

参数

参数显示名称 类型 默认值 是否为必填项 说明
规则 字符串 不适用 是 指定需要添加到自定义规则文件中的规则。
传感器名称 字符串 不适用 否 指定要添加新规则的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败,也不应停止 playbook 执行:
如果状态代码为 200 且文件已更新 (is_success = true):“已成功将规则添加到 Trellix Central Management 中‘{0}’设备的自定义规则文件!”

如果状态代码为 500 (is_success = false):“操作无法将规则添加到 Trellix Central Management 中的自定义规则文件。原因:{0})。

操作应失败并停止执行 playbook:
如果发生严重错误,例如凭据错误、无法连接到服务器等:“Error executing action "Add Rule To Custom Rules". Reason: {0}''.format(error.Stacktrace)

如果未自动找到传感器:“执行‘向自定义规则文件添加规则’操作时出错。原因:未找到 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 执行:
如果状态代码为 200 (is_success = true):“Successfully acknowledged Trellix Central Management alert with ID {0}!”。

如果状态代码为 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 执行:
如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行操作‘确认提醒’时出错。Reason: {0}''.format(error.Stacktrace)

常规

下载自定义规则文件

说明

从 Trellix Central Management 下载自定义规则文件。

参数

参数显示名称 类型 默认值 是否为必填项 说明
传感器名称 字符串 不适用 否 指定要添加新规则的传感器的名称。如果此处未指定任何内容,操作将尝试自动查找传感器。
下载文件夹路径 字符串 不适用 是 指定应将文件下载到的文件夹的绝对路径。
覆盖 复选框 勾选 是 如果启用,操作将覆盖具有相同路径的现有文件。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
JSON 结果
File Path = "absolute path to the file"
案例墙
结果类型 值 / 说明 类型
输出消息*

该操作不应失败,也不应停止 playbook 执行:
如果状态代码为 200 (is_success = true):“已成功从 Trellix Central Management 中的设备‘{0}’下载自定义规则文件!”

如果状态代码为 500 或 400 (is_success = false):“操作无法从 Trellix Central Management 中的设备‘{0}’下载自定义规则文件。原因:{1}”。

如果发生严重错误(例如凭据错误、无法连接到服务器等),操作应失败并停止 Playbook 执行:
“执行‘下载自定义规则文件’操作时出错。Reason: {0}''.format(error.Stacktrace)

如果系统未自动找到传感器:“执行‘下载自定义规则文件’操作时出错。原因:未找到 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 专业人士的解答。