Configura los filtros del panel

Compatible con:

En este documento, se explica cómo puedes aplicar filtros a los campos de la fuente de datos para definir mejor los datos que se muestran en los gráficos aplicables.

Agregar un filtro

Para agregar un filtro, haz lo siguiente:

  1. En la página Editar panel, haz clic en Filtro para agregar un filtro.

  2. En la ventana Administrar filtros, haz clic en Agregar para agregar un filtro nuevo.

  3. En el campo Campo que se debe filtrar, ingresa el campo que deseas usar para filtrar los datos. Para obtener más información sobre las fuentes de datos y los campos compatibles, consulta Fuentes de datos compatibles.

  4. En el campo Nombre del filtro, ingresa un nombre para el filtro.

  5. En el campo Aplicar a, selecciona los gráficos en los que se debe aplicar el filtro.

  6. Opcional: Establece un valor predeterminado para el filtro.

  7. Haz clic en Listo para agregar el filtro y cerrar la ventana Administrar filtros.

Limitaciones del filtro de fuente de datos de SOAR

El panel de SOAR de supervisión del flujo de trabajo de SOC predeterminado y la fuente de datos de SOAR subyacente usan su propio campo environment y no se asignan directamente al campo principal.namespace que usan las fuentes de datos de SIEM.

Como resultado, un panel unificado que contiene widgets de SIEM y SOAR no se puede filtrar por entorno con un solo filtro global asignado a principal.namespace. Si aplicas un filtro en principal.namespace, no se aplicará a los widgets de SOAR. Para filtrar ambos conjuntos de datos, es posible que debas definir filtros separados o crear paneles personalizados en los que la lógica de filtrado se defina de forma explícita para cada fuente.

Filtro avanzado

Google Security Operations proporciona filtros avanzados dentro de su plataforma de panel integrada. A diferencia de los filtros básicos, que están vinculados a campos específicos, los filtros avanzados funcionan como variables de consulta, también conocidas como tokens. Esta función permite a los analistas de seguridad insertar valores dinámicos, expresiones regulares complejas o lógica booleana directamente en las consultas de YARA-L en el tiempo de ejecución.

Características clave

  • Filtrado flexible: Usa una sola entrada de filtro (por ejemplo, $token$) para filtrar simultáneamente en función de varios campos en varios gráficos dentro de un panel.
  • Opciones de menú desplegable dinámicas: Propaga las opciones de filtro de forma dinámica con los resultados de una consulta de YARA-L independiente. Esto garantiza que los usuarios siempre seleccionen datos actualizados.
  • Formato flexible: Define prefijos, sufijos y delimitadores personalizados (por ejemplo, / para expresiones regulares o , para cláusulas IN) para dar formato a los valores seleccionados por el usuario antes de que se inserten en la consulta.
  • Valores predeterminados: Configura valores predeterminados para garantizar que los paneles se carguen con datos de inmediato y para admitir informes programados automatizados en los que no se produce interacción del usuario.
  • Compatibilidad con selección múltiple: Permite a los usuarios seleccionar varios valores para un solo token, unidos por un separador definido por el usuario.

Seguridad y permisos

El filtrado avanzado usa permisos existentes de Control de acceso basado en roles (RBAC) y no se requieren permisos nuevos. Los siguientes permisos de Identity and Access Management (IAM) son relevantes:

Permisos de IAM Objetivo
nativeDashboards.update Crea y configura filtros avanzados dentro de un panel.
nativeDashboards.get Visualiza paneles y usa los controles de entrada de filtro.
dashboardQueries.execute Ejecuta las consultas resueltas finales con tokens sustituidos.

Para la aplicación del RBAC de datos, las consultas que se usan para propagar los menús desplegables dinámicos se ejecutan en el contexto del usuario que visualiza. Esto garantiza que los usuarios solo vean los valores (como IPs específicas) a los que tienen autorización para acceder.

Configura y usa filtros avanzados

En las siguientes secciones, se detalla el proceso para configurar y usar filtros avanzados en los paneles de Google SecOps.

Crea un filtro avanzado nuevo

Para crear un filtro avanzado nuevo, haz lo siguiente:

  1. Abre el cuadro de diálogo Administrar filtros en un panel.
  2. Selecciona y, luego, Filtro avanzado como el Tipo de filtro.
  3. Ingresa un Nombre del filtro (etiqueta) y una Variable de token (por ejemplo, token).
    • Restricciones de sintaxis de variables de token: El nombre de la variable de token solo permite caracteres alfanuméricos y guiones bajos (^[a-zA-Z0-9_]+$).
    • Unicidad: Los nombres de los tokens deben ser únicos. Los conflictos impedirán guardar el filtro.
  4. Selecciona Generar a partir de una consulta (resultados dinámicos de YARA-L) o Entrada manual (una lista estática).
    1. Cuando se selecciona Generar a partir de una consulta , haz lo siguiente:
      1. Ingresa una consulta y define un Período.
      2. Haz clic en Ejecutar búsqueda.
      3. Elige una columna en el menú desplegable Seleccionar columna.
      4. Elige un valor en el menú desplegable Vista previa del menú desplegable de filtros.
    2. Cuando se selecciona Entrada manual, escribe un valor en el campo Entrada manual y haz clic en Agregar.
  5. Elige un Prefijo y un Sufijo para ajustar los valores de una lógica específica, como las expresiones regulares.
    • Si el token se usa dentro de los delimitadores de expresión regular en la consulta de YARA-L (por ejemplo, principal.ip = /$token$/), por lo general, no necesitas especificar un Prefijo ni un Sufijo.
    • Si el token se usa sin delimitadores de expresión regular, pero está destinado a funcionar como una expresión regular anclada (por ejemplo, principal.ip = $token$), establece el Prefijo en /^ y el Sufijo en $/.
  6. Activa el botón Permitir la selección de varias opciones para definir un Delimitador (por ejemplo, | para la lógica OR de expresiones regulares).
  7. Selecciona un Valor predeterminado en el menú desplegable.
  8. Selecciona o anula la selección de la casilla de verificación Aplicar prefijo/sufijo para los valores predeterminados.
  9. Haz clic en Listo.

Usa tokens en consultas de gráficos

Los creadores de paneles deben insertar manualmente el token, ajustado en símbolos $, en la consulta del gráfico.

Ejemplos:

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

Para la validación de tokens, se muestra un banner de advertencia amarillo si una consulta usa un token no definido. En esos casos, el sistema trata el token como una cadena literal.

Comportamiento predeterminado en la carga

Los filtros avanzados en los paneles de Google SecOps operan exclusivamente a través de la sustitución de cadenas. A diferencia de los filtros estándar, el sistema no interpreta la lógica por ti, sino que realiza una operación de "buscar y reemplazar" de tu $token$ con el valor seleccionado antes de que se compile la consulta. La consulta actúa como una plantilla, y el usuario es responsable de asegurarse de que la consulta final sustituida por el token sea sintácticamente correcta.

Valores predeterminados y validez de la consulta

Dado que el sistema no ignora automáticamente un token si no se proporciona ninguna entrada, debes definir valores predeterminados que mantengan una estructura de consulta válida para las cargas iniciales y los informes programados.

A continuación, se muestran ejemplos de configuraciones efectivas de Valores predeterminados:

Caso de uso Contexto de la consulta Configuración de valores predeterminados Lógica resultante
Concordancia exacta principal.hostname = $host$ Incorrecto: Si se deja vacío, se produce una sintaxis no válida (principal.hostname =). Correcto: Usa un marcador de posición que mantenga una sintaxis válida. Ejemplo con valor predeterminado vacío: Falla porque principal.hostname = no es un YARA-L válido.
Concordancia exacta principal.hostname = "$host$" Dejar vacío Éxito: Se evalúa como principal.hostname = "", que no muestra resultados, pero es sintácticamente válido.
Comodín (Mostrar todo) principal.hostname = /.*$host$.*/ .* Éxito: Se evalúa como principal.hostname = /.*/, una expresión regular "comodín" que muestra todos los resultados.
Expresión regular (Mostrar todo) principal.hostname = $host$ /.*/ Éxito: Se evalúa como principal.hostname = /.*/, que coincide con todos los nombres de host.
Anclaje de expresión regular metadata.product_name = /^$token$$/ .* Éxito: Se evalúa como metadata.product_name = /^.*$/ en la carga, lo que coincide con todos los productos.
Números enteros (Mostrar todo) principal.host = $token$ 0 or 1=1 Éxito: Se evalúa como principal.host = 0 or 1=1, lo que muestra todos los resultados de manera efectiva.
Números enteros (Mostrar todo) cast.as_string(principal.host) = $token$ /.*/ Éxito: Se evalúa como cast.as_string(principal.host) = /.*/, que coincide con todas las representaciones de cadena de números enteros del host.
Token de selección única con lógica predeterminada $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log Dejar vacío (con prefijo: ", sufijo: ") Éxito: Con un valor predeterminado vacío, $log se convierte en "". La instrucción if se convierte en $log = if("" = "", metadata.log_type, ""), que se simplifica a $log = metadata.log_type. Luego, la consulta coincide con todos los tipos de registro.
Valor predeterminado específico único $et = metadata.event_type \n $et = $et2$ \n match: $et EMAIL_TRANSACTION (con prefijo: ", sufijo: ") Éxito: Se evalúa como $et = "EMAIL_TRANSACTION" en la carga, lo que restringe los resultados predeterminados a una categoría de evento específica.
Expresión regular de selección múltiple $log = metadata.log_type \n $log = $logs$ \n match: $log .* (con prefijo: /, sufijo: /, delimitador: |) Éxito: Se evalúa como $log = /.*/ en la carga, lo que coincide con todos los tipos de registro. Si se seleccionan varios valores (p.ej., DNS, DHCP), se evalúa como $log = /DNS|DHCP/.
Valor predeterminado siempre verdadero (Mostrar todo) $et = metadata.event_type \n $et = $et4$ \n match: $et "USER_LOGIN" or 1=1 (con delimitador: " or metadata.event_type = ", Aplicar prefijo/sufijo para los valores predeterminados: sin marcar) Éxito: Se evalúa como $et = "USER_LOGIN" or 1=1 en la carga, lo que coincide con todos los eventos. Si se seleccionan opciones específicas, se reemplaza la cadena por cláusulas de igualdad OR explícitas.
Inserción de cláusula completa (selección múltiple) $et$ \n $et = metadata.event_type \n match: $et Dejar vacío (con prefijo: metadata.event_type = ", sufijo: ", delimitador: " or metadata.event_type = ", Aplicar prefijo/sufijo para los valores predeterminados: sin marcar) Éxito: El token en sí inserta todo el predicado del campo de destino. Si se seleccionan USER_LOGIN y NETWORK_DNS, se expande a metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS".
Comodín predeterminado de expresión regular $pet = metadata.product_event_type \n $pet = $pet$ \n match: $pet /.*/ (con prefijo: ", sufijo: ", Aplicar prefijo/sufijo para los valores predeterminados: sin marcar) Éxito: Se evalúa como $pet = /.*/ en la carga, lo que coincide con todos los tipos de eventos de productos. Si se selecciona un valor específico, se aplican comillas (por ejemplo, $pet = "USER_LOGIN").

Consideraciones de sintaxis para filtros avanzados

El sistema no realiza un escape automático para caracteres especiales (como comillas o barras). Siempre verifica que el prefijo, el sufijo y el separador configurados se alineen con la sintaxis del lenguaje de consulta (YARA-L) que estás usando.

Especificaciones de la API

Para obtener especificaciones detalladas de la API, consulta AdvancedFilterConfig.

Administra el filtro de hora global

El filtro de hora global se aplica a todos los gráficos, independientemente de la fuente de datos del gráfico.

Para seleccionar los gráficos para los que se puede aplicar el filtro de hora global, haz lo siguiente:

  1. En la página Editar panel, haz clic en Filtro para agregar un filtro.

  2. En la ventana Administrar filtros, selecciona Filtro de hora global en la lista de filtros.

  3. Haz clic en el botón de activación para asegurarte de que el filtro de hora global esté habilitado.

  4. En el campo Aplicar a, selecciona los gráficos para aplicar el filtro de hora global.

  5. En el campo Establecer valores predeterminados , establece un período para ver los datos con valores absolutos o relativos.

  6. Haz clic en Listo para habilitar el filtro y cerrar la ventana Administrar filtros.

Aplica un filtro del panel

Para agregar un filtro, haz lo siguiente:

  1. En la página Editar panel, haz clic en Atrás > Filtro para ver los filtros del panel.

  2. En la ventana Filtros del panel, selecciona el filtro que creaste.

  3. Ingresa un valor para el campo seleccionado.

  4. Haz clic en Aplicar. Los gráficos para los que es aplicable el filtro se actualizan con datos nuevos.

Cambia el filtro de hora global

Cuando abres un panel, el filtro de hora global se aplica a los gráficos correspondientes con el período predeterminado.

Para cambiar el valor del filtro de hora global, haz lo siguiente:

  1. Haz clic en Programar.

  2. En el cuadro de diálogo Filtro de hora global, selecciona el operador past o between.

  3. Selecciona el período.

  4. Haz clic en Aplicar. Los gráficos seleccionados se actualizan con datos nuevos según el filtro de hora global.

Comprende el operador Past

El operador past calcula una hora de inicio en función del valor y la unidad que proporciones. La hora de finalización siempre es el momento actual.

El cálculo de la hora de inicio depende de la unidad:

  • Segundos, minutos y horas: Estas unidades calculan la hora de inicio restando la cantidad exacta de segundos, minutos u horas de la marca de tiempo actual.
  • Días, semanas, meses y años: Estas unidades ajustan la hora de inicio al comienzo del período actual o anterior (por ejemplo, el inicio del día o mes actual).

En la siguiente tabla, se muestran ejemplos basados en una marca de tiempo actual de 13:13 del 2 de julio de 2025:

Valor Unidad Hora de inicio del filtro
n Segundos 2 de julio de 2025 a las 13:13:00 menos n segundos
n Minutos 2 de julio de 2025 a las 13:13:00 menos n minutos
n Horas 2 de julio de 2025 a las 13:13:00 menos n horas
1 Día 2 de julio de 2025 a las 00:00:00 (inicio del día actual)
2 Días 1 de julio de 2025 a las 00:00:00 (inicio del día anterior)
1 Semana 00:00:00 del primer día de la semana actual. El día de inicio de la semana depende de la configuración regional de tu sistema.
1 Mes 1 de julio de 2025 a las 00:00:00 (inicio del mes actual)
2 Meses 1 de junio de 2025 a las 00:00:00 (inicio del mes anterior)
1 Año 1 de enero de 2025 a las 00:00:00 (inicio del año actual)
2 Años 1 de enero de 2024 a las 00:00:00 (inicio del año anterior)

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.