配置信息中心过滤条件

支持的平台:

本文档介绍了如何对数据源字段应用过滤条件,以优化相应图表中显示的数据。

添加过滤条件

如需添加过滤条件,请执行以下操作:

  1. 在修改信息中心页面上,点击 过滤以添加过滤条件。

  2. 在管理过滤条件窗口中,点击 添加以添加新的过滤条件。

  3. 在过滤字段字段中,输入要用于过滤数据的字段。如需详细了解支持的数据源和字段,请参阅支持的数据源。

  4. 在过滤条件名称字段中,输入过滤条件的名称。

  5. 在“应用到”字段中,选择应应用过滤条件的图表。

  6. 可选:为过滤条件设置默认值。

  7. 点击完成以添加过滤条件并关闭管理过滤条件窗口。

SOAR 数据源过滤条件限制

默认 SOC 工作流监控 SOAR 信息中心和底层 SOAR 数据源使用自己的 environment 字段,不会直接映射到 SIEM 数据源使用的 principal.namespace 字段。

因此,包含 SIEM 和 SOAR widget 的统一信息中心无法使用映射到 principal.namespace 的单个全局过滤条件按环境进行过滤。如果您在 principal.namespace 上应用过滤条件,该过滤条件不会应用于 SOAR widget。如需同时过滤这两个数据集,您可能需要定义单独的过滤条件,或者构建自定义信息中心,在其中为每个来源明确定义过滤逻辑。

高级过滤

Google Security Operations 在其内置信息中心平台中提供高级过滤功能。与绑定到特定字段的基本过滤条件不同,高级过滤条件作为查询变量(也称为令牌)运行。借助此功能,安全分析师可以在运行时将动态值、复杂的正则表达式或布尔逻辑直接注入到 YARA-L 查询中。

主要特性

  • 灵活的过滤功能:使用单个过滤条件输入(例如 $token$)可同时根据信息中心内多个图表中的多个字段进行过滤。
  • 动态下拉选项:使用单独的 YARA-L 查询的结果动态填充过滤条件选项。这样可确保用户始终从最新数据中进行选择。
  • 灵活的格式设置:定义自定义前缀、后缀和分隔符(例如,用于正则表达式的 / 或用于 IN 子句的 ,),以便在将用户选择的值注入查询之前对其进行格式设置。
  • 默认值:配置默认值,以确保信息中心立即加载数据,并支持不会发生用户互动的自动预定报告。
  • 多选支持:允许用户为单个令牌选择多个值,并使用用户定义的分隔符进行联接。

安全性和权限

高级过滤功能使用现有的基于角色的访问控制 (RBAC) 权限,无需新权限。以下 Identity and Access Management (IAM) 权限相关:

IAM 权限 用途
nativeDashboards.update 在信息中心内创建和配置高级过滤条件。
nativeDashboards.get 查看信息中心并使用过滤条件输入控件。
dashboardQueries.execute 执行替换了令牌的最终已解析查询。

对于数据 RBAC 强制执行,用于填充动态下拉菜单的查询是在查看用户的上下文中执行的。这样可确保用户只能看到他们有权访问的值(例如特定 IP)。

配置和使用高级过滤条件

以下部分详细介绍了如何在 Google SecOps 信息中心内设置和使用高级过滤条件。

创建新的高级过滤条件

如需创建新的高级过滤条件,请按以下步骤操作:

  1. 在信息中心内打开管理过滤条件对话框。
  2. 选择 ,然后选择高级过滤条件作为过滤条件类型。
  3. 输入过滤条件名称(标签)和令牌变量(例如 token)。
    • 令牌变量语法限制:令牌变量名称仅允许使用字母数字字符和下划线 (^[a-zA-Z0-9_]+$)。
    • 唯一性:令牌名称必须是唯一的。冲突会阻止保存过滤条件。
  4. 选择 Generate from Query(动态 YARA-L 结果)或 Manual Entry(静态列表)。
    1. 选择根据查询生成后:
      1. 输入查询内容并定义时间范围。
      2. 点击运行搜索。
      3. 从选择列下拉菜单中选择一列。
      4. 从预览过滤条件下拉菜单中选择一个值。
    2. 选择手动输入后,在手动输入字段中输入一个值,然后点击添加。
  5. 选择前缀和后缀来封装特定逻辑(例如正则表达式)的值。
    • 如果令牌在 YARA-L 查询中用于正则表达式分隔符(例如 principal.ip = /$token$/),您通常不需要指定前缀或后缀。
    • 如果令牌在未使用正则表达式分隔符的情况下使用,但旨在充当锚定正则表达式(例如 principal.ip = $token$),请将 Prefix 设置为 /^,并将 Suffix 设置为 $/。
  6. 切换允许选择多个选项按钮,以定义定界符(例如,对于正则表达式 OR 逻辑,定界符为 |)。
  7. 从下拉菜单中选择默认值。
  8. 选中或取消选中为默认值应用前缀/后缀复选框。
  9. 点击完成。

在图表查询中使用令牌

信息中心创建者必须手动将令牌(用 $ 符号括起来)插入图表的查询中。

示例:

  • principal.hostname = $hostname$
  • re.regex(target.ip, $ip_regex$)

对于令牌验证,如果查询使用了未定义的令牌,系统会显示黄色警告横幅。在这种情况下,系统会将令牌视为字面字符串。

加载时的默认行为

Google SecOps 信息中心的高级过滤功能只能通过字符串替换来运行。与标准过滤条件不同,系统不会为您解读逻辑,而是在编译查询之前,对 $token$ 执行“查找和替换”操作,将其替换为所选值。查询充当模板,用户负责确保最终的令牌替换查询在语法上正确无误。

默认值和查询有效性

由于系统不会在未提供输入时自动忽略令牌,因此您必须定义默认值,以在初始加载和预定报告中保持有效的查询结构。

以下是有效的默认值配置示例:

使用场景 查询上下文 默认值配置 生成的逻辑
完全匹配 principal.hostname = $host$ 错误:留空会导致语法无效 (principal.hostname =)。正确:使用可保持语法有效的占位符。 默认值为空的示例:失败,因为 principal.hostname = 是无效的 YARA-L。
完全匹配 principal.hostname = "$host$" 留空 成功:求值为 principal.hostname = "",不返回任何结果,但在语法上有效。
通配符(显示全部) principal.hostname = /.*$host$.*/ .* 成功:计算结果为 principal.hostname = /.*/,这是一个“包罗万象”的正则表达式,可返回所有结果。
正则表达式(显示全部) principal.hostname = $host$ /.*/ 成功:评估结果为 principal.hostname = /.*/,与所有主机名匹配。
正则表达式锚点 metadata.product_name = /^$token$$/ .* 成功:在加载时评估为 metadata.product_name = /^.*$/,与所有商品匹配。
整数(显示全部) principal.host = $token$ 0 or 1=1 成功:计算结果为 principal.host = 0 or 1=1,有效返回所有结果。
整数(显示全部) cast.as_string(principal.host) = $token$ /.*/ 成功:求值为 cast.as_string(principal.host) = /.*/,与主机整数的所有字符串表示形式匹配。
具有默认“全部”逻辑的单选令牌 $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log 留空(前缀:",后缀:") 成功:如果默认值为空,$log 会变为 ""。if 语句变为 $log = if("" = "", metadata.log_type, ""),简化为 $log = metadata.log_type。然后,该查询会匹配所有日志类型。
单个特定默认值 $et = metadata.event_type \n $et = $et2$ \n match: $et EMAIL_TRANSACTION(前缀:",后缀:") 成功:加载时评估结果为 $et = "EMAIL_TRANSACTION",将默认结果限制为特定事件类别。
多选正则表达式 $log = metadata.log_type \n $log = $logs$ \n match: $log .*(前缀:/,后缀:/,分隔符:|) 成功:在加载时评估为 $log = /.*/,匹配所有日志类型。选择多个值(例如 DNS、DHCP)的计算结果为 $log = /DNS|DHCP/。
始终为 true 的默认值(显示全部) $et = metadata.event_type \n $et = $et4$ \n match: $et "USER_LOGIN" or 1=1(定界符:" or metadata.event_type = ",为默认值应用前缀/后缀:未选中) 成功:在加载时评估为 $et = "USER_LOGIN" or 1=1,与所有事件匹配。选择特定选项会将字符串替换为明确的 OR 等值子句。
完整子句注入(多选) $et$ \n $et = metadata.event_type \n match: $et 留空(前缀:metadata.event_type = ",后缀:",定界符:" or metadata.event_type = ",为默认值应用前缀/后缀:未勾选) 成功:令牌本身会注入整个目标字段谓词。选择 USER_LOGIN 和 NETWORK_DNS 会展开为 metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS"。
正则表达式默认全捕获 $pet = metadata.product_event_type \n $pet = $pet$ \n match: $pet /.*/(前缀:",后缀:",为默认值应用前缀/后缀:未选中) 成功:在加载时评估为 $pet = /.*/,与所有商品事件类型匹配。选择特定值会应用引号(例如 $pet = "USER_LOGIN")。

高级过滤条件的语法注意事项

系统不会自动转义特殊字符(例如引号或斜线)。请务必验证您配置的前缀、后缀和分隔符是否与您使用的查询语言 (YARA-L) 的语法一致。

API 规范

如需查看详细的 API 规范,请参阅 AdvancedFilterConfig。

管理全局时间过滤条件

全局时间过滤条件适用于所有图表,无论图表的数据源是什么。

如需选择可应用全局时间过滤条件的图表,请执行以下操作:

  1. 在修改信息中心页面上,点击 过滤以添加过滤条件。

  2. 在管理过滤条件窗口中,从过滤条件列表中选择全局时间过滤条件。

  3. 点击相应切换开关,确保已启用全局时间过滤条件。

  4. 在应用到字段中,选择要应用全局时间过滤条件的图表。

  5. 在设置默认值字段中,使用绝对值或相对值设置时间范围以查看数据。

  6. 点击完成以启用过滤条件并关闭管理过滤条件窗口。

应用信息中心过滤条件

如需应用过滤条件,请执行以下操作:

  1. 在修改信息中心页面上,依次点击返回 > 过滤条件,以查看信息中心过滤条件。

  2. 在信息中心过滤条件窗口中,选择您创建的过滤条件。

  3. 为所选字段输入一个值。

  4. 点击应用。系统会使用新数据刷新适用相应过滤条件的图表。

更改全局时间过滤条件

当您打开信息中心时,系统会以默认时间范围对适用的图表应用全局时间过滤条件。

如需更改全局时间过滤条件值,请执行以下操作:

  1. 点击 安排。

  2. 在全局时间过滤条件对话框中,选择 past 或 between 运算符。

  3. 选择日期范围。

  4. 点击应用。所选图表会根据全局时间过滤条件更新为新数据。

了解 Past 运算符

past 运算符会根据您提供的值和单位计算开始时间。结束时间始终为当前时间。

开始时间的计算方式取决于时间单位:

  • 秒、分钟、小时:这些单位通过从当前时间戳中减去确切的秒数、分钟数或小时数来计算开始时间。
  • 天、周、月、年:这些单位会将开始时间对齐到当前或上一个时间段的开头(例如,当前天或月的开头)。

下表显示了基于当前时间戳(2025 年 7 月 2 日 13:13)的示例:

值 单位 过滤开始时间
n 秒 2025 年 7 月 2 日 13:13:00 减去 n 秒
n 分钟 2025 年 7 月 2 日 13:13:00 减去 n 分钟
n 小时 2025 年 7 月 2 日 13:13:00 减去 n 小时
1 天 2025 年 7 月 2 日 00:00:00(当前日的开始时间)
2 天 2025 年 7 月 1 日 00:00:00(前一天的开始时间)
1 周 当前周第一天的 00:00:00。一周的起始日取决于系统的语言区域设置。
1 月 2025 年 7 月 1 日 00:00:00(当前月的开始时间)
2 月 2025 年 6 月 1 日 00:00:00(上个月的开始时间)
1 年 2025 年 1 月 1 日 00:00:00(当前年的开始)
2 年 2024 年 1 月 1 日 00:00:00(上一年年初)

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