McAfee ESM

集成版本:41.0

集成用例

将提醒或关联数据提取到 Google Security Operations
通过此集成,您可以将 McAfee ESM 中的信息注入到 Google SecOps 中。特别是,用于注入警报和关联信息,以便稍后在 SOAR 平台中进行分诊。这可以通过 McAfee ESM 连接器(用于警报提取)和 McAfee ESM 相关性连接器(用于相关性提取)来实现。
进行下钻以获取有关安全事件的更多背景信息
该集成支持多项操作,可让您执行自定义查询(获取类似事件、发送高级查询、向 ESM 发送查询、向 ESM 发送实体查询)并提取事件信息。还有 Get Similar Events 操作,用于查询与 Google SecOps 提醒中的 IP 地址、主机名和用户相关的事件。
使用关注列表跟踪 IOC
该集成支持在关注列表中添加和移除内容。这样一来,您就可以不断更新包含可疑 IP 地址或哈希的监控列表。

网络

从 Google SecOps 到 McAfee ESM 的 API 访问:允许通过端口 443 (HTTPS)(或根据您的环境配置)传输流量。

会话管理

McAfee ESM 具有一个全局参数,用于限制每位用户的会话数。在 Google SecOps 中,有一个完整的会话管理机制,因此集成在整个集成过程中使用相同的会话。会话值以加密方式存储在 McAfee_ESM_Action_Sessions_*.jsonMcAffee_ESM_Connector_Sessions_*.json 数据库条目中。

建议:

  • 一个用户用于操作,一个用户用于连接器。
  • 每位用户应至少有两次会话。

这些建议对于集成保持稳定至关重要。

集成兼容性

产品名称 版本 部署 备注
McAfee ESM 11.1-11.5 本地

该集成已通过 11.1-11.5 产品版本和集成中使用的 API 的测试,且 API 未经过修改。

如果较新版本中未更新 API,集成仍可正常运行。

在 Google SecOps 中配置 McAfeeESM 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成

集成配置参数

使用以下参数配置集成:

参数名称 类型 默认值 必需 说明
API 根 Sring https://{ip}/rs/ 实例的 API 根。
用户名 字符串 不适用 实例的用户名。
密码 密码 不适用 实例的密码。
产品版本 字符串 11.5 产品版本。可能的值:11.1-11.5
验证 SSL 复选框 勾选 如果启用,则验证与 McAfee ESM 服务器的连接所用的 SSL 证书是否有效。

操作

将值添加到监控列表

操作说明

在 McAfee ESM 中向关注列表添加值。

操作使用情况

使用此操作可使用新值更新关注列表。例如,如果您有一个恶意哈希值监视列表,可以使用此操作来保持该监视列表处于最新状态。

操作配置参数

使用以下参数配置操作:

参数名称 类型 默认值 必需 说明
监控列表名称 字符串 不适用 指定需要更新的监控列表的名称。
要添加的值 CSV 不适用 指定以英文逗号分隔的需要添加到关注列表中的值列表。

操作实体范围

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
N/A
案例墙
结果类型 值/说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了 200 状态代码 (is_success=true):“已成功将值添加到关注列表。”

操作应失败并停止 playbook 执行

如果报告了致命错误(例如凭据错误或未连接到服务器):“Error executing action "Add Values To Watchlist".”(执行“将值添加到观测列表”操作时出错。)原因:{0}".format(error.Stacktrace)

如果响应中报告了错误:“执行操作‘将值添加到关注列表’时出错。”原因:{message}。

常规

获取类似活动

操作说明

获取与 McAfee ESM 中的实体相关的事件。支持的实体:主机名、IP 地址、用户。

操作配置参数

使用以下参数配置操作:

参数名称 类型 默认值 必需 说明
小时数 字符串 1 指定要回溯搜索的小时数。
IPS ID 字符串 144115188075855872/8 指定搜索的 IP SID。
结果数量上限 字符串 50

指定要返回的结果数。

每个实体的参数值上限:200。

操作实体范围

此操作适用于以下实体:

  • IP 地址
  • 主机名
  • 用户

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
[
    {
        "EntityResult":
        [{
            "Alert.DstPort": "0",
            "Rule.msg": "User Logon",
            "Alert.IPSIDAlertID": "144115188075855872|383521",
            "Action.Name": "success",
            "Alert.SrcIP": "1.1.1.1",
            "Alert.LastTime": "05/28/2019 14:18:10",
            "Alert.Protocol": "n/a",
            "Alert.SrcPort": "0",
            "Alert.DstIP": "1.1.1.1"
        }, {
            "Alert.DstPort": "0",
            "Rule.msg": "User Logon",
            "Alert.IPSIDAlertID": "144115188075855872|383519",
            "Action.Name": "success",
            "Alert.SrcIP": "1.1.1.1",
            "Alert.LastTime": "05/28/2019 14:16:16",
            "Alert.Protocol": "n/a",
            "Alert.SrcPort": "0",
            "Alert.DstIP": "1.1.1.1"
        }],
        "Entity": "1.1.1.1"
    }
]
实体丰富化
扩充项字段名称 逻辑 - 应用场景
Alert.DstPort 返回 JSON 结果中是否存在相应值
Rule.msg 返回 JSON 结果中是否存在相应值
Alert.IPSIDAlertID 返回 JSON 结果中是否存在相应值
Alert.SrcIP 返回 JSON 结果中是否存在相应值
Alert.LastTime 返回 JSON 结果中是否存在相应值
Alert.Protocol 返回 JSON 结果中是否存在相应值
Alert.SrcPort 返回 JSON 结果中是否存在相应值
Alert.DstIP 返回 JSON 结果中是否存在相应值
案例墙
结果类型 值/说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果一个实体的状态代码为 200 (is_success=true):“已成功检索 McAfee ESM 中以下实体的事件:{entities}”

如果某个实体没有数据(is_success=true):“操作无法检索 McAfee ESM 中以下实体的事件:{entities}。”

如果所有实体都没有数据(is_success=false):“在 McAfee ESM 中未找到所提供实体对应的任何事件。”

异步消息:“正在等待针对 {pending entities} 的查询完成。”

操作应失败并停止 playbook 执行

如果系统报告严重错误:“执行操作‘获取类似活动’时出错。原因:{0}".format(error.Stacktrace)

如果操作在超时时间内运行:“执行操作‘获取类似活动’时出错。原因:操作启动了查询,但在检索数据期间遇到超时。请在 IDE 中增加超时时间,然后重试。”

常规
“案例墙”表格 响应中的所有字段。 实体

Ping

操作说明

使用 Google Security Operations Marketplace 标签页中的集成配置页面上提供的参数,测试与 McAfee ESM 的连接。

操作配置参数

此操作没有必需的输入参数。

操作实体范围

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
N/A
案例墙
结果类型 值/说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:“已使用提供的连接参数成功连接到 McAfee ESM 服务器!”

操作应失败并停止 playbook 执行

如果不成功:“Failed to connect to the McAfee ESM server! 错误为 {0}".format(exception.stacktrace)

常规

从观看列表中移除值

操作说明

从 McAfee ESM 中的监视列表中移除值。

操作使用情况

使用此操作可从观看列表中移除特定值。例如,如果您有一个恶意哈希值监视列表,并且发现其中一个哈希值是良性的,则可以将其从监视列表中移除。

操作配置参数

使用以下参数配置操作:

参数名称 类型 默认值 必需 说明
监控列表名称 字符串 不适用 指定需要更新的监控列表的名称。
要移除的值 CSV 不适用 指定需要从关注列表中移除的值的英文逗号分隔列表。

操作实体范围

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
N/A
案例墙
结果类型 值/说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了 200 状态代码 (is_success=true):“已成功将值添加到关注列表。”

操作应失败并停止 playbook 执行

如果系统报告致命错误,例如凭据错误或未连接到服务器,则会显示以下消息:“执行操作‘从关注列表中移除值’时出错。原因:{0}".format(error.Stacktrace)

如果响应中报告了错误:“执行操作‘从关注列表中移除值’时出错。”原因:{message}。”

常规

向 ESM 发送高级查询

操作说明

向 ESM 发送高级查询。

操作使用情况

这是一项高级操作,可让您灵活地在 McAfee ESM 中执行任何查询。此操作将完整的查询载荷作为输入。无论载荷中提供什么,该操作最多返回 200 条记录。

操作配置参数

使用以下参数配置操作:

参数名称 类型 默认值 必需 说明
查询载荷 字符串 不适用

指定需要执行的 JSON 对象。

该操作最多返回 200 个结果。

创建查询载荷

如需创建查询载荷,请完成以下步骤:

  1. 登录 McAfee ESM 界面,然后在浏览器中打开开发者工具
  2. 前往网络标签页。
  3. 点击添加标签页,然后添加新视图。
  4. 点击添加 widget
  5. widget 配置对话框中,输入 widget 标题,然后选择要执行的查询。

    “微件配置”对话框

  6. 开发者工具中,您将看到 runningQuery API 请求。

  7. 前往载荷标签页,然后点击查看来源

  8. 复制相应载荷并将其粘贴到查询载荷参数字段中。

    载荷值示例

操作实体范围

此操作不会在实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
[
    {
        "Rule.msg": "* Latest Kubernetes 1.18 beta is now available for your laptop, NUC, cloud",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Starting Message of the Day...",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Started Message of the Day.",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "https://xxxxxxxx.run/",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "* Multipass 1.1 adds proxy support for developers behind enterprise",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "sudo snap install microk8s --channel=1.18/beta --classic",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Starting Daily apt upgrade and clean activities...",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Started Daily apt upgrade and clean activities.",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "firewalls. Rapid prototyping for cloud operations just got easier.",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "instance or Raspberry Pi, with automatic updates to the final GA release.",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Data Center : Telmetry Posting",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Send Password Expiry Notification",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Data Center: Telemetry Notifier to Collect Data",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Update successful",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Update successful",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "8198-software protection platform service",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "1003-software protection platform service",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "The Time Provider NtpClient is Currently Receiving Valid Time Data",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Time service now synchronizing system time",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "1",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "autorefresh.go:397: auto-refresh: all snaps are up-to-date",
        "COUNT(*)": "2",
        "SUM(Alert.EventCount)": "2",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "storehelpers.go:436: cannot refresh: snap has no updates available: \\\"amazon-ssm-agent\\\", \\\"core\\\"",
        "COUNT(*)": "2",
        "SUM(Alert.EventCount)": "2",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "The Windows Security Center Service could not start Windows Defender",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "2",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "A user's local group membership was enumerated",
        "COUNT(*)": "2",
        "SUM(Alert.EventCount)": "2","Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "The System Time Has Changed",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "3",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "The system time was changed.",
        "COUNT(*)": "1",
        "SUM(Alert.EventCount)": "3",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "User Logon",
        "COUNT(*)": "4",
        "SUM(Alert.EventCount)": "4",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "16384-software protection platform service",
        "COUNT(*)": "7",
        "SUM(Alert.EventCount)": "7",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "16394-software protection platform service",
        "COUNT(*)": "7",
        "SUM(Alert.EventCount)": "7",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Linux crond Session opened",
        "COUNT(*)": "10",
        "SUM(Alert.EventCount)": "10",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Linux crond Session closed",
        "COUNT(*)": "10",
        "SUM(Alert.EventCount)": "10",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Linux cron Scheduled Command Executed",
        "COUNT(*)": "10",
        "SUM(Alert.EventCount)": "10",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "DHCPACK of xx.x.x.xxx from xx.x.x.x",
        "COUNT(*)": "19",
        "SUM(Alert.EventCount)": "19",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Linux dhclient Renewal",
        "COUNT(*)": "19",
        "SUM(Alert.EventCount)": "19",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Linux DHCP Client Request",
        "COUNT(*)": "19",
        "SUM(Alert.EventCount)": "19",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Special Privileges Assigned",
        "COUNT(*)": "28",
        "SUM(Alert.EventCount)": "28",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Special privileges assigned to new logon.",
        "COUNT(*)": "21",
        "SUM(Alert.EventCount)": "30",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "An account was successfully logged on",
        "COUNT(*)": "21",
        "SUM(Alert.EventCount)": "30",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Endpoint Security Firewall Property Translator",
        "COUNT(*)": "40",
        "SUM(Alert.EventCount)": "40",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Retrieve broker health information",
        "COUNT(*)": "41",
        "SUM(Alert.EventCount)": "41",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "5379-microsoft-windows-security-auditing",
        "COUNT(*)": "10",
        "SUM(Alert.EventCount)": "90",
        "Alert.DSIDSigID": "12345-2223334445"
    },{
        "Rule.msg": "Returns a list of DXL Registered Services",
        "COUNT(*)": "43",
        "SUM(Alert.EventCount)": "164",
        "Alert.DSIDSigID": "12345-2223334445"
    }
]
案例墙

如果操作超时:“执行操作‘向 ESM 发送高级查询’时出错。原因:操作启动了查询,但在检索数据期间遇到超时。请在 IDE 中增加超时时间,然后重试。”

结果类型 值/说明 文本
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码为 200 (is_success=true):“已成功检索到 McAfee ESM 中针对所提供查询的数据。”

如果某个实体没有数据(is_success=true):“在 McAfee ESM 中未找到所提供查询的数据。”

异步消息:“正在等待查询完成…”

操作应失败并停止 playbook 执行

如果系统报告严重错误:“Error executing action "Send Advanced Query to ESM". 原因:{0}".format(error.Stacktrace)

如果报告了 400 或 500 状态代码:“执行操作‘向 ESM 发送高级查询’时出错。原因:{0}";.format(response)

常规
“案例墙”表格 响应中的所有字段。 常规

向 ESM 发送查询

操作说明

向 ESM 发送查询。

操作使用情况

使用此操作可对 Google SecOps 提醒执行进一步的深入分析。您可以获取活动、资源和流程信息。

操作配置参数

使用以下参数配置操作:

参数名称 类型 默认值 必需 说明
时间范围 下拉列表

LAST_24_HOURS

可能的值:

  • LAST_MINUTE
  • LAST_10_MINUTES
  • LAST_30_MINUTES
  • LAST_HOUR
  • CURRENT_DAY
  • PREVIOUS_DAY
  • LAST_2_DAYS
  • LAST_3_DAYS
  • CURRENT_WEEK
  • PREVIOUS_WEEK
  • CURRENT_MONT
  • PREVIOUS_MONT
  • CURRENT_QUARTER
  • PREVIOUS_QUARTER
  • CURRENT_YEAR
  • PREVIOUS_YEAR

指定结果的时间范围。

如果选择 Custom,您还需要设置开始时间参数。

开始时间 字符串 不适用

指定结果的开始时间。

如果为时间范围参数选择 Custom,则此参数是必需的。

格式:ISO 8601

结束时间 字符串 不适用

指定结果的结束时间。

格式:ISO 8601。

如果未提供任何内容,并且为时间范围参数选择了 Custom,则此参数会使用当前时间。

过滤字段名称 字符串 不适用 指定将用于过滤的字段名称。
过滤条件运算符 下拉列表

等于

可能的值:

  • IN
  • NOT_IN
  • GREATER_OR_EQUALS_THAN
  • LESS_OR_EQUALS_THAN
  • DOES_NOT_EQUAL
  • 等于
  • 包含
  • DOES_NOT_CONTAIN
指定应在过滤条件中使用的运算符。
过滤值 字符串 不适用 指定以英文逗号分隔的列表,其中包含将用于过滤的值。
要提取的字段 CSV 不适用

指定应返回的字段的英文逗号分隔列表。

如果未提供任何内容,则操作会使用预定义的字段。

排序字段 字符串 不适用

指定应使用哪个参数进行排序。

此参数需要采用 {table}.{key name} 格式的字段。如果以其他格式提供参数,相应操作将跳过该参数。

示例:Alert.LastTime

排序顺序 下拉列表

升序

可能的值:

  • 升序
  • 降序
指定排序顺序。
查询类型 下拉列表

活动

可能的值:

  • 活动
  • 流程
  • ASSET
指定需要查询的内容。
要返回的结果数上限 整数 50

指定要返回的结果数。

默认参数值:50。

参数最大值:200。

使用时间范围参数

时间范围参数用于指定执行查询时要使用的时间范围。该操作支持许多预定义的值,您可以从中进行选择。 您还可以设置自定义时间范围。

如需设置自定义时间范围,您需要将时间范围参数设置为 Custom,并为开始时间参数提供 ISO 8601 值。默认情况下,结束时间参数指向当前时间。

为“过滤字段名称”“要提取的字段”和“排序字段”参数指定字段

如需为“过滤条件”字段名称、“要提取的字段”和“排序字段”参数指定字段,请完成以下步骤:

  1. 登录 McAfee ESM 界面,然后在浏览器中打开开发者工具
  2. 前往网络标签页。

    McAfee ESM 界面中的“网络”标签页

  3. 点击添加标签页,然后添加新视图。

  4. 点击添加 widget

  5. widget 配置对话框中:

    • 字段部分中,选择您感兴趣的所有字段。
    • 输入自定义标题,并将查询来源设置为 Events。对于素材资源,请选择 Assets;对于流程,请选择 Flows

    “微件配置”对话框

  6. 选择所有需要的字段后,点击创建

  7. 开发者工具中,您会看到 runningQuery 请求。详细了解此请求,然后前往请求部分。您会在其中看到您提供的所有字段的 API 名称列表。

    请求详情

已知问题
  • 操作用于发送查询 (qryExecuteDetail) 的 McAfee ESM API 在以下情形中存在意外行为:使用不受支持的类型(FLOAT 键)的键与 GREATER_OR_EQUALS_THANLESS_OR_EQUALS_THAN 运算符搭配使用。验证所用字段的类型。
  • 我们发现,即使过滤条件未返回 McAfee API 错误,某些密钥组合也不会返回任何结果。

操作实体范围

此操作会在所有实体上运行。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
[
    {
        "Rule.msg": "McAfee EDB database server state change alert",
        "Alert.AvgSeverity": "25",
        "Alert.SrcIP": "::",
        "Alert.EventCount": "1",
        "Alert.LastTime": "02/12/2019 20:45:45",
        "Alert.Protocol": "n/a",
        "Action.Name": "informational",
        "Alert.IPSIDAlertID": "144115188075855872|1",
        "Alert.DstIP": "10.0.0.10"
    }
]
案例墙

如果操作超时:“执行操作‘向 ESM 发送查询’时出错。原因:操作启动了查询,但在检索数据期间遇到超时。请在 IDE 中增加超时时间,然后重试。”

结果类型 值/说明 文本
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码为 200 (is_success=true):“已成功检索到 McAfee ESM 中针对所提供查询的数据。”

如果某个实体没有数据(is_success=true):“在 McAfee ESM 中未找到所提供查询的数据。”

异步消息:“正在等待查询完成…”

操作应失败并停止 playbook 执行

如果报告了严重错误:“执行操作‘向 ESM 发送查询’时出错。原因:{0}".format(error.Stacktrace)

如果报告了 400 或 500 状态代码:“Error executing action "Send Query to ESM". 原因:{0}".format(response)

常规
“案例墙”表格 响应中的所有字段。 常规

向 ESM 发送实体查询

操作说明

根据实体向 ESM 发送查询。支持的实体:IP 地址、主机名。

操作使用情况

使用此操作可针对实体周围的 Google SecOps 提醒执行额外的下钻操作。您可以获取活动、资源和流程信息。与 Send Query To ESM 操作不同,此操作还会添加实体过滤条件作为查询的一部分。

操作配置参数

使用以下参数配置操作:

参数名称 类型 默认值 必需 说明
IP 地址实体键 字符串 Alert.SrcIP

指定过滤期间将与 IP 地址实体一起使用的键。

如果提供了无效键,操作仍会返回结果,但这些结果是意外的。

主机名实体键 字符串 不适用

指定在过滤期间与 Hostname 实体搭配使用的键。

如果提供了无效键,操作仍会返回结果,但这些结果是意外的。

时间范围 下拉列表

LAST_HOUR

可能的值:

  • LAST_MINUTE
  • LAST_10_MINUTES
  • LAST_30_MINUTES
  • LAST_HOUR
  • CURRENT_DAY
  • PREVIOUS_DAY
  • LAST_2_DAYS
  • LAST_3_DAYS
  • CURRENT_WEEK
  • PREVIOUS_WEEK
  • CURRENT_MONTH
  • PREVIOUS_MONTH
  • CURRENT_QUARTER
  • PREVIOUS_QUARTER
  • CURRENT_YEAR
  • PREVIOUS_YEAR
  • 自定义
指定结果的时间范围。如果选择 Custom,您还需要提供 Start Time 参数。
开始时间 字符串 不适用

指定结果的开始时间。

如果为时间范围参数选择 Custom,则此参数是必需的。

格式:ISO 8601

结束时间 字符串 不适用

指定结果的结束时间。

格式:ISO 8601。

如果未提供任何内容,并且为时间范围参数选择了 Custom,则此参数会使用当前时间。

过滤字段名称 字符串 不适用 指定将用于过滤的字段名称。
过滤条件运算符 下拉列表

等于

可能的值:

  • IN
  • NOT_IN
  • GREATER_OR_EQUALS_THAN
  • LESS_OR_EQUALS_THAN
  • DOES_NOT_EQUAL
  • 等于
  • 包含
  • DOES_NOT_CONTAIN
指定应在过滤条件中使用的运算符。
过滤值 字符串 不适用 指定以英文逗号分隔的列表,其中包含将用于过滤的值。
要提取的字段 CSV 不适用

指定应返回的字段的英文逗号分隔列表。

如果未提供任何内容,则操作会使用预定义的字段。

排序字段 字符串 不适用

指定应使用哪个参数进行排序。

此参数需要采用 {table}.{key name} 格式的字段。如果以其他格式提供参数,相应操作将跳过该参数。

示例:Alert.LastTime

排序顺序 下拉列表

升序

可能的值:

  • 升序
  • 降序
指定排序顺序。
要返回的结果数上限 整数 50

指定要返回的结果数。

默认参数值:50。

参数最大值:200。

使用时间范围参数

时间范围参数用于指定执行查询时要使用的时间范围。该操作支持许多预定义的值,您可以从中进行选择。 您还可以设置自定义时间范围。

如需设置自定义时间范围,您需要将时间范围参数设置为 Custom,并为开始时间参数提供 ISO 8601 值。默认情况下,结束时间参数指向当前时间。

为“过滤字段名称”“要提取的字段”和“排序字段”参数指定字段

如需为过滤字段名称要提取的字段排序字段参数指定字段,请完成以下步骤:

  1. 登录 McAfee ESM 界面,然后在浏览器中打开开发者工具
  2. 前往网络标签页。

    McAfee ESM 界面中的“网络”标签页

  3. 点击添加标签页,然后添加新视图。

  4. 点击添加 widget

  5. widget 配置对话框中:

    • 字段部分中,选择您感兴趣的所有字段。
    • 输入自定义标题,并将查询来源设置为 Events。对于素材资源,请选择 Assets;对于流程,请选择 Flows

    “微件配置”对话框

  6. 选择所有需要的字段后,点击创建

  7. 开发者工具中,您会看到 runningQuery 请求。详细了解此请求,然后前往请求部分。您会在其中看到您提供的所有字段的 API 名称列表。

    请求详情

使用“IP 地址实体键”和“主机名实体键”参数

IP 地址实体键主机名实体键参数用于定义过滤器中使用的键。例如,如果将 IP 地址实体键参数设置为 Alert.SrcIP,则该操作会使用 Alert.SrcIP 键创建 IP 地址过滤条件。您可以根据自己的使用情形修改所用的密钥。

已知问题
  • 操作用于发送查询 (qryExecuteDetail) 的 McAfee ESM API 在以下情形中存在意外行为:使用不受支持的类型(FLOAT 键)的键与 GREATER_OR_EQUALS_THANLESS_OR_EQUALS_THAN 运算符搭配使用。验证所用字段的类型。
  • 我们发现,即使过滤条件未返回 McAfee API 错误,某些密钥组合也不会返回任何结果。

操作实体范围

此操作适用于以下实体:

  • IP 地址
  • 主机名

操作结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
[
    {
        "Rule.msg": "McAfee EDB database server state change alert",
        "Alert.AvgSeverity": "25",
        "Alert.SrcIP": "::",
        "Alert.EventCount": "1",
        "Alert.LastTime": "02/12/2019 20:45:45",
        "Alert.Protocol": "n/a",
        "Action.Name": "informational",
        "Alert.IPSIDAlertID": "144115188075855872|1",
        "Alert.DstIP": "10.0.0.10"
    }
]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了 200 状态代码(is_success=true):“已成功检索 McAfee ESM 中以下实体的数据:{entity.identifier}”

如果所有实体的相关数据均不存在:“在 McAfee ESM 中未找到以下实体的数据:{entity.id}。”

如果特定实体的状态代码为 400 或 500,则表示:“未在 McAfee ESM 中针对以下实体执行查询:{entity.id}。请检查配置。”

如果所有实体的相关数据均不存在 (is_success=true):“在 McAfee ESM 中未找到所提供实体的相关数据”

异步消息:“正在等待实体完成处理...”

操作应失败并停止 playbook 执行

如果系统报告严重错误:“执行操作‘向 ESM 发送实体查询’时出错。原因:{0}''.format(error.Stacktrace)。

如果所有实体的状态代码均为 400 或 500:“执行操作‘向 ESM 发送实体查询’时出错。原因:{response}'

如果操作超时:“执行操作‘向 ESM 发送实体查询’时出错。原因:操作启动了查询,但在检索以下实体的数据时遇到了超时问题:{entity.identifier}。请在 IDE 中增加超时时间,然后重试。注意:如果您重试,系统会再次发送消息。”

常规
“案例墙”表格 响应中的所有字段。 实体

连接器

连接器升级 - 集成版本:34.0

在 34.0 集成版本中,连接器已得到改进。它们经过优化,不易出现 bug,且更易于维护。还添加了新功能。

如果您想将连接器升级到 34.0 版本,建议您先熟悉连接器配置参数。连接器升级不会影响剧本。

McAfeeESM 连接器

连接器说明

从 McAfee ESM 中提取有关警报的信息。

连接器用法

使用连接器将关联事件和相关事件注入到 Google SecOps 中。 在此连接器中,一个 Google SecOps 提醒由一个关联事件表示。

Google SecOps 事件是根据以下对象中的数据创建的:

  • 闹钟数据
  • 关联事件数据:关联是由关联规则创建的触发事件
  • 源事件数据:导致相关性或提醒的基本事件

基于报警数据的 Google SecOps 事件示例:

基于报警数据的 Google SecOps 事件

基于关联或源事件数据的 Google SecOps 事件示例:

基于关联或源事件数据的 Google SecOps 事件

每个 Google SecOps 事件都包含来自 API 的原始信息,以及为方便映射而添加的其他键。为了区分不同类型的 Google SecOps 事件,我们提供了一个自定义 data_type 键。 此键可以包含以下值:

  • 闹钟
  • 关联事件
  • 源事件

Google SecOps 事件中的自定义类型字段

McAfee ESM 相关性/来源事件可以包含原始 API 表示形式不适合用于映射的自定义字段。

原始自定义类型数据示例:


  "customTypes": [
      {
          "fieldId": 1,
          "fieldName": "AppID",
          "definedFieldNumber": 1,
          "unformattedValue": "374385694492",
 "formatedValue": "WIN"
      },
      {
          "fieldId": 7,
          "fieldName": "UserIDSrc",
          "definedFieldNumber": 7,
          "unformattedValue": "22018731010750406",
          "formatedValue": "NGCP"
      },
      {
          "fieldId": 4259842,
          "fieldName": "Message_Text",
          "definedFieldNumber": 9,
          "unformattedValue": "11049395522927265911",
          "formatedValue": "User Log In succeeded"
      }
  ]

在 Google SecOps 事件中,相同的字段以以下方式表示:

{
  "{fieldName}": "{formatedValue}",
  "AppID": "WIN",
  "UserIDSrc": "NGCP",
  "Message_Text": "formatedValue",
  "customTypeFields": {
    "{fieldName}": "{formatedValue}",
    "AppID": "WIN",
    "UserIDSrc": "NGCP",
    "Message_Text": "formatedValue"
  }
}

我们建议使用带有 customTypeFields 键的占位符,因为占位符值可以正确表示自定义字段。上一级表示的自定义字段可能包含误导性信息。如果添加自定义字段之前已存在同名键,则会使用原始键中的数据,因为 JSON 文件中不能有重复的键。

在 Google SecOps 中配置连接器

有关如何在 Google SecOps 中配置连接器的详细说明,请参阅配置连接器

连接器配置参数

使用以下参数配置连接器:

参数名称 类型 默认值 必需 说明
商品字段名称 字符串 data_type 用于确定设备产品的字段名称。
事件字段名称 字符串 alarmName 用于确定事件名称(子类型)的字段名称。
API 根 字符串 https://{ipaddress}/rs/

McAfee ESM 实例的 API 根。

格式:https://{IP 地址}/rs/

密码 Secret 不适用 McAfee ESM 账号的密码。
PythonProccessTimeout 整数 300 运行当前脚本的 Python 进程的超时时间限制。
产品版本 字符串 不适用

McAfee ESM 的版本。

可能的值:11.1、11.2、11.3、11.4、11.5。

用户名 字符串 不适用 McAfee ESM 账号的用户名。
停用溢出 复选框 尚未核查

如果启用,连接器将停用溢出机制。

如需详细了解此参数,请参阅 使用“禁止溢出”和“禁止溢出(针对闹钟)”参数

针对闹钟停用溢出 CSV 不适用

连接器将忽略溢出的警报名称的英文逗号分隔列表。

此参数要求启用停用溢出参数。

如需详细了解此参数,请参阅 使用“禁止溢出”和“禁止溢出(针对闹钟)”参数

环境字段名称 字符串 srcZone

描述存储环境名称的字段的名称。

如果找不到环境字段,则环境为默认环境。

环境正则表达式模式 字符串 :*

要对“环境字段名称”字段中找到的值运行的正则表达式模式。

默认值为 .*,用于捕获所有内容并返回未更改的值。

用于允许用户通过正则表达式逻辑来操纵环境字段。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

提取 0 个来源的活动警报 复选框 勾选

如果启用,连接器会提取具有 0 个来源事件的提醒。

连接器将等待 Padding Time 参数中提供的时间。

如需详细了解此参数,请参阅 使用“Ingest 0 Source Event Alarms”参数

要提取的最低严重程度 整数 0

用于提取闹钟的最低严重程度。

可能的值介于 0 到 100 之间。

如果未指定任何内容,连接器会注入所有严重程度的提醒。

要提取的闹钟数量上限 整数 100

每次连接器迭代要处理的提醒数量。

默认参数值:20。

回溯的小时数上限 整数 1 提取闹钟的小时数。
填充时间 整数 1

连接器用于填充的小时数。

此参数用于描述连接器等待注入具有 0 个源事件的提醒的时长(以秒为单位),前提是注入 0 个源事件的提醒参数处于停用状态。

参数最大值:6 小时。

代理密码 密码 不适用 用于进行身份验证的代理密码。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
规则生成器字段名称 字符串 alarmName

规则生成器中使用的字段的名称。

如果值不可用,连接器会使用 alarmName,并且此参数仅适用于来自来源事件的值。

辅助设备产品字段 字符串 不适用 回退商品字段名称。
时间格式 字符串 %m/%d/%Y %H:%M:%S

用于读取 McAfee ESM 中提供的时间戳的时间格式。

如果未提供任何内容或提供的时间格式无效,连接器将不会执行转换。

如需详细了解此参数,请参阅 使用“时区”和“时间格式”参数

时区 字符串 不适用

源活动的时区。

此参数用于将时间戳转换为反映 UTC+0 时间的格式。

如果 Time Format 参数中提供了无效值或未提供任何值,则系统会忽略此参数。

如需详细了解此参数,请参阅 使用“时区”和“时间格式”参数

将动态列表用作屏蔽名单 复选框 尚未核查 如果启用,动态列表将用作屏蔽名单。
验证 SSL 复选框 尚未核查 如果启用,则验证与 McAfee ESM 服务器的连接所用的 SSL 证书是否有效。
使用“Ingest 0 Source Event Alarms”参数

在 McAfee ESM 中,相关性可能包含 0 个事件,这意味着 Google SecOps 提醒仅包含一个基于相关性信息的 Google SecOps 事件。不建议注入具有 0 个源事件的相关性,因为这样会丢失上下文。

如果启用了 Ingest 0 Source Event Alarms 参数,连接器会将所有关联数据提取到 Google SecOps 系统中,即使相关事件数为 0 也是如此。如果停用此参数,连接器会等待,直到 McAfee ESM 中出现至少一个源事件。等待时间由 Padding Period 参数定义。

填充周期参数用于指定连接器在每次迭代中向后提取数据的时长(以小时为单位,最大值为 6)。例如,如果将填充周期参数设置为 2,连接器始终会提取 2 小时前的数据,并从该时间点开始处理数据。从逻辑上讲,填充时间表示连接器等待事件发生的小时数,以便它可以注入该事件。

不过,以下两种闹钟类型除外:

  • 设备运行状况
  • EPS 速率超出限制

这些警报来自默认的 McAfee ESM 配置,并且永远不会有任何与之相关的事件。无论 Ingest 0 Source Event Alarms 配置参数设置如何,连接器始终会提取这些警报。

使用“时区”和“时间格式”参数

有时,McAfee ESM 服务器级别的时间和时区可以使用不同的格式进行配置。这可能会带来一些挑战,因为例如 McAfee ESM API 不会返回有关时区的信息。默认情况下,连接器会将来自 API 的时间戳视为 UTC 时间。这可能会因应用本地化设置而导致 Google SecOps 提醒和事件中的时间出现问题。

例如,原始 API 返回了 UTC+8 中的时间戳。连接器提取了闹钟,然后将本地化也设置为 UTC+8。在这种情况下,Google SecOps 提醒的时间戳为未来时间。

如需克服此挑战,请使用时区参数。此参数定义了以 UTC 格式获取时间戳的要求。如果 McAfee ESM 返回的时间戳采用 UTC+8 格式,您需要将时区连接器参数设置为 -8

在 Google SecOps 事件中,添加了 3 个新键:

  • 基于关联/来源事件数据的事件的 utc_firstTimeutc_lastTime 键。
  • 基于闹钟数据的事件的 utc_triggeredDate 键。

添加的密钥示例

使用“禁止溢出”和“禁止溢出(针对报警名称)”参数

有时,McAfee ESM 可能会非常嘈杂,并创建大量关联事件。 在 Google SecOps 中,有一个溢出机制可以防止在短时间内创建过多的 Google SecOps 提醒。

如果您认为所有提醒都有意义且需要进行分诊,那么此机制可能会造成不利影响。我们不建议停用溢出机制。 不过,如果需要,您可以使用 Disable OverflowDisable Overflow For Alarm Names 参数来实现此目的。

首选解决方案是使用 Disable Overflow For Alarm Names 参数,因为该参数允许您提供应忽略溢出规则的特定闹铃名称,而不是针对所有闹铃停用溢出。

McAfeeESM Correlations 连接器

连接器说明

从 McAfee ESM 中提取有关相关性的信息。

连接器用法

使用连接器将关联事件和相关事件注入到 Google SecOps 中。 在此连接器中,一个 Google SecOps 提醒由一个关联事件表示。

Google SecOps 事件是根据以下对象中的数据创建的:

  • 关联事件数据:关联是由关联规则创建的触发事件
  • 源事件数据:导致相关性的基础事件

基于关联或源事件数据的 Google SecOps 事件示例:

基于关联或源事件数据的 Google SecOps 事件

每个 Google SecOps 事件都包含来自 API 的原始信息,以及为方便映射而添加的其他键。为了区分不同类型的 Google SecOps 事件,我们提供了一个自定义 data_type 键。 此键可以包含以下值:

  • 关联事件
  • 源事件

Google SecOps 事件中的自定义类型字段

McAfee ESM 相关性/来源事件可以包含原始 API 表示形式不适合用于映射的自定义字段。

原始自定义类型数据示例:

  "customTypes": [
      {
          "fieldId": 1,
          "fieldName": "AppID",
          "definedFieldNumber": 1,
          "unformattedValue": "374385694492",
          "formatedValue": "WIN"
      },
      {
          "fieldId": 7,
          "fieldName": "UserIDSrc",
          "definedFieldNumber": 7,
          "unformattedValue": "22018731010750406",
          "formatedValue": "NGCP"
      },
      {
          "fieldId": 4259842,
          "fieldName": "Message_Text",
          "definedFieldNumber": 9,
          "unformattedValue": "11049395522927265911",
          "formatedValue": "User Log In succeeded"
      }
  ]

在 Google SecOps 事件中,相同的字段以以下方式表示:

{
  "{fieldName}": "{formatedValue}",
  "AppID": "WIN",
  "UserIDSrc": "NGCP",
  "Message_Text": "formatedValue",
  "customTypeFields": {
    "{fieldName}": "{formatedValue}",
    "AppID": "WIN",
    "UserIDSrc": "NGCP",
    "Message_Text": "formatedValue"
  }
}

我们建议使用带有 customTypeFields 键的占位符,因为占位符值可以正确表示自定义字段。上一级表示的自定义字段可能包含误导性信息。如果添加自定义字段之前已存在同名键,则会使用原始键中的数据,因为 JSON 文件中不能有重复的键。

在 Google SecOps 中配置连接器

有关如何在 Google SecOps 中配置连接器的详细说明,请参阅配置连接器

连接器参数

使用以下参数配置连接器:

参数名称 类型 默认值 必需 说明
商品字段名称 字符串 data_type 输入源字段名称,以便检索产品字段名称。
事件字段名称 字符串 sigId 输入源字段名称,以便检索事件字段名称。
环境字段名称 字符串 srcZone

描述存储环境名称的字段的名称。

如果找不到环境字段,则环境为默认环境。

环境正则表达式模式 字符串 :*

要对“环境字段名称”字段中找到的值运行的正则表达式模式。

默认值为 .*,用于捕获所有内容并返回未更改的值。

用于允许用户通过正则表达式逻辑来操纵环境字段。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

PythonProcessTimeout 字符串 300 运行当前脚本的 Python 进程的超时时间限制。
API 根 字符串 https://{ipaddress}/rs/

McAfee ESM 实例的 API 根。

格式:https://{IP 地址}/rs/

用户名 字符串 不适用 McAfee ESM 账号的用户名。
密码 Secret 不适用 McAfee ESM 账号的密码。
产品版本 字符串 不适用

McAfee ESM 的版本。

可能的值:11.1、11.2、11.3、11.4、11.5。

要提取的最低平均严重程度 整数 0

用于提取相关性的最低平均严重程度。可能的值介于 0 到 100 之间。

如果未指定任何内容,连接器会注入所有严重程度的相关性。

注入 0 个来源的事件相关性 复选框 尚未核查

如果启用,连接器会提取具有 0 个源事件的相关性。

此参数可能会影响来自产品字段名称事件字段名称规则生成器字段名称参数的值。

如果停用,连接器会等待 填充时间参数中指定的时间。

如需详细了解此参数,请参阅 使用“Ingest 0 Source Event Correlations”参数

填充时间 整数 1

连接器用于填充的小时数。

此参数用于描述连接器在“Ingest 0 Source Event Correlations”(注入 0 个源事件的相关性)参数处于停用状态时,等待注入相关性的时长(以秒为单位)。

参数最大值:6 小时。

回溯的小时数上限 整数 1 提取闹钟的小时数。
要提取的相关性数量上限 整数 20

每次连接器迭代要处理的提醒数量。

默认参数值:20。

IPSID 过滤条件 不适用

用于提取数据的 IPSID 列表(以英文逗号分隔)。

如果未提供任何内容,连接器将使用默认 IPSID。

SIGID 过滤条件 CSV 不适用

在提取期间使用的签名 ID 的英文逗号分隔列表。

如果未提供任何内容,连接器会从所有规则中提取相关性。

将动态列表用作屏蔽名单 复选框 尚未核查 如果启用,动态列表将用作屏蔽名单。
时间格式 字符串 %m/%d/%Y %H:%M:%S

用于读取 McAfee ESM 中提供的时间戳的时间格式。

如果未提供任何内容或提供的时间格式无效,连接器将不执行转换。

如需详细了解此参数,请参阅 使用“时区”和“时间格式”参数

时区 字符串 不适用

源活动的时区。此参数用于将时间戳转换为反映 UTC+0 时间的格式。

如果 Time Format 参数中提供了无效值或未提供任何值,则系统会忽略此参数。

如需详细了解此参数,请参阅 使用“时区”和“时间格式”参数

规则生成器字段名称 字符串 应用

规则生成器中使用的字段的名称。

如果提供的值无效,则操作会使用 ruleName

辅助设备产品字段 字符串 不适用 回退商品字段名称。
停用溢出 复选框 尚未核查

如果启用,连接器会停用溢出机制。

如需详细了解此参数,请参阅 使用“禁止溢出”和“禁止溢出(针对 SigID)”参数

针对 SigID 停用溢出 CSV 不适用

连接器忽略溢出的签名 ID 的逗号分隔列表。

此参数要求启用停用溢出参数。

如需详细了解此参数,请参阅 使用“禁止溢出”和“禁止溢出(针对 SigID)”参数

验证 SSL 复选框 尚未核查 如果启用,则验证与 McAfee ESM 服务器的连接所用的 SSL 证书是否有效。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 不适用 用于进行身份验证的代理密码。
使用“Ingest 0 Source Event Correlations”参数

在 McAfee ESM 中,相关性可能包含 0 个事件,这意味着 Google SecOps 提醒仅包含一个基于相关性信息的 Google SecOps 事件。不建议注入具有 0 个源事件的相关性,因为这样会丢失上下文。

如果启用了 Ingest 0 Source Event Correlations 参数,连接器会将所有关联数据提取到 Google SecOps 系统中,即使相关事件数为 0 也是如此。如果停用此参数,连接器会一直等待,直到 McAfee ESM 中出现至少一个源事件。等待时间由 Padding Period 参数定义。

填充周期参数用于指定连接器在每次迭代中向后提取数据的时长(以小时为单位,最大值为 6)。例如,如果将填充周期参数设置为 2,连接器始终会提取 2 小时前的数据,并从该时间点开始处理数据。从逻辑上讲,填充时间表示连接器等待事件发生的小时数,以便它可以注入该事件。

使用“时区”和“时间格式”参数

有时,McAfee ESM 服务器级别的时间和时区可以使用不同的格式进行配置。这可能会带来一些挑战,因为例如 McAfee ESM API 不会返回有关时区的信息。默认情况下,连接器会将来自 API 的时间戳视为 UTC 时间。这可能会因应用本地化设置而导致 Google SecOps 提醒和事件中的时间出现问题。

例如,原始 API 返回了 UTC+8 中的时间戳。连接器提取了闹钟,然后将本地化也设置为 UTC+8。在这种情况下,Google SecOps 提醒的时间戳为未来时间。

如需克服此挑战,请使用时区参数。此参数定义了以 UTC 格式获取时间戳的要求。如果 McAfee ESM 返回的时间戳采用 UTC+8 格式,您需要将时区连接器参数设置为 -8

在 Google SecOps 事件中,添加了 2 个新键:基于关联/来源事件数据的 utc_firstTime 和 utc_lastTime 键。

使用“Disable Overflow”和“Disable Overflow For SigIDs”参数

有时,McAfee ESM 可能会非常嘈杂,并创建大量关联事件。 在 Google SecOps 中,有一个溢出机制可以防止在短时间内创建过多的 Google SecOps 提醒。

如果您认为所有提醒都有意义且需要进行分诊,那么此机制可能会造成不利影响。我们不建议停用溢出机制。 不过,如果需要,您可以使用 Disable OverflowDisable Overflow For SigIDs 参数来实现此目的。

首选解决方案是使用 Disable Overflow For SigIDs 参数,因为这样一来,您就可以提供应忽略溢出规则的特定签名 ID,而不是针对所有相关性停用溢出。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。