Informes: Sintaxis de reglas de IPDB

Document created by RSA Information Design and Development on May 1, 2018
Version 1Show Document
  • View in full screen mode

En esta sección se describe la sintaxis de regla diferente compatible con Reporting Engine.

Sintaxis de reglas de NWDB

La regla NWDB forma parte de la sintaxis de regla compatible en Reporting Engine. Para mejorar el tiempo de ejecución de las entidades informantes, consulte la sección “Guías para informes” en Descripción general de Reporting.

Una regla es una función que manipula el conjunto de resultados de una regla para lograr que la salida de un informe sea más concreta o para agregar una funcionalidad adicional distinta a la consulta de datos y su visualización. Se puede usar cualquier combinación de estas acciones de regla para crear representaciones únicas e interesantes de la información que recopila NetWitness Suite.

El Reporting Engine es compatible con las siguientes categorías de sintaxis de reglas de orígenes de datos de NWDB:

  • Cláusula Select

    • Regla no agregada
    • Regla agregada
  • alias
  • Cláusula Where
  • Operadores de la cláusula Where
  • Cláusula Then
  • Campo Límite
  • Acciones de regla
  • Operadores de regla

Cláusula Select

La cláusula Select es una lista de valores separados por comas. Por ejemplo: select sessionid,time,service.

Hay dos tipos de cláusulas Select para la regla NWDB:

  • Regla no agregada
  • Regla agregada

Regla no agregada

Cuando desee definir una regla sin agrupación, elija “Ninguno” en el campo Resumen. En una regla no agregada, puede seleccionar una cantidad indefinida de metadatos en la cláusula Select. Por ejemplo, select service, sessionid, time. 

For example for select service, sessionid, time in select clause

Regla agregada

Cuando desea consultar por metadatos específicos y su valor agregado asociado, debe usar la regla agregada. Para obtener un agregado, debe elegir cualquiera de los tres metadatos (Conteo de eventos, Conteo de paquetes o Tamaño de sesión) o seleccionar “Personalizado” en el campo Resumen para incluir una función de agregado en la cláusula Select. Por ejemplo, select ip.src, sum (ip.dst). Cuando se habilita la regla agregada Personalizado, se completan los siguientes campos en la interfaz del usuario:

  • Agrupar por
  • Ordenar por
  • Umbral de sesión

En la siguiente figura se muestra la vista Crear regla para una regla agregada.

Build Rule view for Aggregate Rule

Existen dos tipos de valores de agregados que se pueden consultar:

  • Agregación de recopilación
  • Agregación de metadatos

Agregación de recopilación

Con la agregación de recopilación, puede obtener agregados relacionados con eventos, sesiones o paquetes. Los siguientes valores se pueden solicitar en una agregación de recopilación:

  • Conteo de eventos: El conteo total de eventos.
  • Conteo de paquetes: El conteo total de paquetes.
  • Tamaño de sesión: El tamaño total de la sesión.

Estas opciones se indican en el campo “Resumen” y cualquiera de ellas se puede seleccionar en una regla. 
Por ejemplo, elija cualquiera de los agregados de Recopilación (Conteo de eventos, Conteo de paquetes o Tamaño de sesión) en el campo “Resumen” y seleccione ip.src.

Example for Collection Aggregation

Agregación de metadatos

Con la agregación de metadatos, puede obtener agregados de valores de metadatos. Las siguientes son las funciones de agregado de metadatos compatibles:

  • sum(meta)
  • count(meta)
  • countdistinct(meta)
  • min(meta)
  • max(meta)
  • avg(meta)
  • first(meta)
  • last(meta)
  • len(meta)
  • distinct(meta)

Funciones agregadas de metadatos compatibles

El servicio NWDB es compatible con las siguientes funciones agregadas y sintaxis en esta versión.

                                                   
SintaxisFunción
sum(<meta>)

La suma de todos los valores de metadatos.

Por ejemplo, si proporciona el campo sum(payload) en la cláusula Select, el conjunto de resultados es la suma del tamaño de la carga útil.

Nota: El campo de metadatos que se eligió para la función de agregado de suma debe ser del tipo de datos numéricos.

count(<meta>)

La cantidad total de campos de metadatos que se deberían devolver.

Por ejemplo, si proporciona el campo count(ip.dst) en la cláusula Select, el conjunto de resultados es la cantidad de veces que se devuelve un valor ip.dst. 

countdistinct(<meta>)

La cantidad total de campos de metadatos distintos que se devolverían. Por ejemplo, si proporciona el campo countdistinct(ip.dst) en la cláusula Select, el conjunto de resultados es la cantidad de veces que se devuelve un valor distinct ip.dst.

min(<meta>)

El mínimo de todos los valores de metadatos.

Por ejemplo, si proporciona el campo min(payload) en la cláusula Select, el conjunto de resultados es el mínimo del tamaño de la carga útil.

max(<meta>)

El máximo de todos los valores de metadatos.

Por ejemplo, si proporciona el campo max(payload) en la cláusula Select, el conjunto de resultados es el máximo del tamaño de la carga útil.

avg(<meta>)

El promedio de todos los valores de metadatos.

Por ejemplo, si proporciona el campo avg(payload) en la cláusula Select, el conjunto de resultados es el promedio del tamaño de la carga útil.

Nota: El campo de metadatos que se eligió para la función de agregado de promedio debe ser del tipo de datos numéricos.

first(<meta>)

La primera aparición del valor de metadatos.

Por ejemplo, si proporciona el campo first(ip.src) en la cláusula Select, el conjunto de resultados es la primera aparición de ip.src para ese grupo.

last(<meta>)

La última aparición del valor de metadatos.

Por ejemplo, si proporciona el campo last(ip.src) en la cláusula Select, el conjunto de resultados es la última aparición de ip.src para ese grupo.

len(<meta>)

Convierte todos los valores de campo a una longitud UInt32 en lugar de devolver el valor real. Esta longitud es el número de bytes para almacenar el valor real, no la longitud de la estructura almacenada en la base de datos de metadatos.

Por ejemplo, el valor de metadatos “NetWitness” devuelve una longitud de 10.  Todos los campos IPv4, como ip.src, devuelven 4 bytes.

distinct(<meta>)

Los valores distintos de los metadatos.

Por ejemplo, si proporciona el campo distinct(ip.src) en la cláusula Select, el conjunto de resultados corresponde a todos los ip.src distintos para ese grupo.

Debe seleccionar “Personalizado” en el campo “Resumen” y proporcionar los metadatos y las funciones de agregado de metadatos en la cláusula Select.
Meta aggregate functions in the select clause

Nota: Las funciones de agregado de metadatos no se pueden usar en una cláusula WHERE y las acciones de regla como min_threshold/max_threshold se pueden usar para filtrar funciones de agregado. Se recomienda usar una cláusula WHERE más refinada para obtener un mejor rendimiento de la regla cuando se usa “group by”.

Consulta de agregado para múltiples metadatos

Para ejecutar una consulta de agregado para múltiples metadatos, siga estos pasos:

  1. Seleccione MONITOR > Informes.

    Se resalta la pestaña Administrar y se muestra la vista Reglas.

  2. En la barra de herramientas Regla, haga clic en Base de datos de NetWitness.

    Por ejemplo, ingrese los siguientes metadatos en los campos que se resaltan a continuación:

    SELECT: ip.src, service, count(alias.host)
    ALIAS: Source IP Address, Service Type, count(alias.host)
    WHERE: ip.src = 59.96.136.142

    Nota: En el campo Alias, puede ingresar un nombre para las columnas que se usan en la cláusula Select. Si no especifica el alias para uno de los campos en la cláusula Select, se usará la descripción predeterminada. Por ejemplo, si la cláusula Select tiene Field1, Field2, Field3, Field4 y alias tiene solo Field1, Field3, Field4, para Field2 se usa una descripción predeterminada.

  3. Haga clic en el botón Probar regla de la parte inferior de la pantalla.

    Aparecerá la página Probar regla.

    The Test Rule page is displayed

Resumen 

Resumen determina el tipo de resumen o agregación para la regla.

               
NombreValor de configuración
Resumen

Para consultar metadatos sin ninguna agrupación personalizada, seleccione:

  • Ninguno: los datos se agrupan por sesión en este caso.

Para obtener agregados relacionados con la recopilación (sesiones/eventos/paquetes), seleccione una de las siguientes opciones:

  • Conteo de eventos: El conteo total de eventos.
  • Conteo de paquetes: El conteo total de paquetes.
  • Tamaño de sesión: El tamaño total de la sesión.

Para obtener agregados basados en metadatos, seleccione:

  • Personalizada: Esto indica que la función agregada de metadatos esperados se define en la cláusula Select de la regla.

Ordenar por 

Ordenar por determina cómo se ordena el conjunto de resultados.

                   
NombreValor de configuración
Nombre de columnaEl Nombre de la columna es el nombre de las columnas según las cuales desea ordenar los resultados. El valor está vacío de forma predeterminada. Cuando hace clic en una columna, el valor se completa de acuerdo con el campo Resumen.
  • Para “Ninguno” y “Personalizado”, el valor se completa de acuerdo con las entradas hechas en el campo Select. Puede seleccionar un valor de esta lista o agregar un nombre personalizado. 
  • Para Conteo de eventos, Conteo de paquetes y Tamaño de sesión, los valores aceptados son Total y Valor. 
  • Total: se ordena por valor agregado
  • Valor: se ordena por grupo por metadatos
Ordenar porOrdenar por determina el orden en el cual desea clasificar los resultados. Los valores son los siguientes:
  • Orden ascendente
  • Orden descendente

Umbral de sesión

El umbral de sesión es la configuración de optimización para detener el escaneo de las sesiones coincidentes para cada valor
único posible para los metadatos seleccionados. El umbral es un número entero entre 0 (predeterminado) y 2147483647. El umbral 0 escanea todas las sesiones coincidentes.

Nota: Si proporciona un valor distinto de cero (un valor mayor que cero), los resultados del agregado son inexactos. Esto puede utilizarse únicamente cuando está interesado en valores únicos y no en valores agregados.

Cláusula Where compatible

                   
SintaxisDescripción
where <field1> [<field-operator>] <value1>,<value2>,<value3-value4> <logic-operator> <field2>, etc.La cláusula Where es una lista separada por comas de los valores y rangos de campos de idiomas que utiliza la función NwValues. En la cláusula Where, los valores de cadena deben estar encerrados en comillas simples. Por ejemplo, where username = 'admin' && service = 22.
where <field1> [<field-operator>] <List1>Puede usar una lista en la cláusula Where si tiene múltiples valores que informar. Por ejemplo, where ip.src exists && alias.host exists && alias.host contains $[User Reports/List of Alias Host]. Cuando utiliza la lista, debe especificar en el formato $[<path>/<List name>].

En la cláusula Where, asegúrese de que la sintaxis esté correcta según el tipo de metadatos.
Por ejemplo, 
Para todos los tipos de metadatos de texto, use comillas; por ejemplo, nombre de usuario =“user1”.
Para todas las direcciones IP, las direcciones de Ethernet y los tipos de metadatos numéricos, no utilice comillas; por ejemplo, service = 80 && ip.src = 192.168.1.1.
Para los tipos de metadatos de fecha y hora, si el formato de fecha y hora es “AAAA-MM-DD HH:MM:SS”, utilice comillas.
Si el formato de fecha y hora es 1448034064 (número de segundos transcurridos desde EPOCH (1 de enero de 1970), no use comillas.

Nota: Si se utiliza una lista en la regla, asegúrese de que los valores de la lista estén entre comillas o sin comillas en función del tipo de metadatos que se utiliza. Si marca la casilla de verificación Se insertarán comillas para todos los valores en la página de definición de lista (para obtener más información, consulte la sección Crear listas o grupos de listas en Configurar una regla), se agregarán comillas a todos los valores de la lista. 

Operadores de cláusula Where compatibles

                                                   
SintaxisDescripción
=Devuelve los resultados donde el campo es igual a cualquier valor proporcionado. Por ejemplo, tcp.dstport = 21-25,110 devuelve la sesión con puertos de destino TCP de 21, 22, 23, 24, 25 o 110.
!=Devuelve resultados para los campos que no coinciden con los valores especificados.  Por ejemplo, eth.type !=0x0800 devuelve sesiones fuera del valor hexadecimal (valor decimal de 2048), que son todos los protocolos que no se basan en IP.
beginsVerifica un valor en el comienzo de un texto o campo binario.
containsBusca un textoo valor binario para una coincidencia parcial.
endsVerifica un valor al final de un texto o campo binario.
existsSi el valor de campo existe, independientemente del valor, la operación se evalúa como verdadera.
!existsSi el valor de campo no existe, la operación se evalúa como verdadera.
lengthEvalúa la longitud del campo. Por ejemplo, username length 20-u devuelve todos los nombres de usuario que tienen 20 o más caracteres de longitud.
regexEjecuta una búsqueda de expresión regular contra el texto o los valores binarios.
 
noEl operador Not se usa para negar una cláusula o una condición. Por ejemplo, (not(user.dst ends "$")) no mostrará valores para el destino del usuario.

Cláusula Then compatible

               
SintaxisDescripción
then <rule action>La cláusula Then contiene una acción de regla que manipula el conjunto de resultados original de una regla para lograr que la salida en un informe sea más concreta o agregar una funcionalidad adicional distinta de la consulta de datos y su visualización. Por ejemplo, dedup (nombre de archivo).

Campo Límite

Indica el límite que se introducirá en la consulta mientras se obtienen los datos de la base de datos. Si un conjunto de resultados se ordena por conteo de
eventos, conteo de paquetes o tamaño de sesión, el límite representa los N valores superiores (o inferiores) que se devolverán. Si el conjunto de resultados no se
ordena, se devuelven los primeros N valores.

Acciones de regla

La sintaxis de regla de orígenes de datos de NWDB es compatible con las siguientes acciones de regla:

  • dedup
  • filter_on
  • filter_out
  • lookup_and_add
  • max_threshold
  • min_threshold
  • regex
  • sum_count
  • sum_values
  • show_whats_new

dedup (string field)

Dedup elimina las entradas duplicadas en un conjunto de resultados desordenado y solo muestra datos pertinentes. La acción de regla dedup elimina entradas duplicadas de un campo específico del informe, de modo que solo se incluye la primera aparición de ese valor en el informe.

Nota: La acción de regla dedup no se puede usar con una regla agregada.

Por ejemplo, los metadatos que genera una sesión individual son generalmente repetitivos, en especial cuando tiene sesiones con muchas búsquedas de DNS o sesiones web que acceden al mismo host en múltiples ocasiones para varios recursos (como javascript, css). Para quitar las entradas duplicadas del host, puede usar la acción de regla dedup.

Ejemplo:

El siguiente ejemplo es un conjunto de resultados extenso que se puede acortar eliminando los valores duplicados en la misma sesión.

Example of lengthy result set that can be trimmed by removing the duplicate values in the same session

Las siguientes figuras muestran la acción de regla dedup para eliminar las entradas duplicadas del conjunto de resultados.

Example of dedup rule action to remove the duplicate entries from the result set

El valor duplicado de cada entrada en el conjunto de resultados de la regla se reduce a un valor.

Rule with Dedup Rule actions

filter_on (string filter, string field, bool matchExact)

filter_on quita valores que no contienen el criterio filter del conjunto de resultados.  Si el conjunto de resultados contiene múltiples campos, debe seleccionar un campo específico al cual se aplica el filtro. Para agregar resultados adicionales a un único conjunto de resultados, incluya una función como lookup_and_add.

El parámetro matchExact determina si la coincidencia es una coincidencia exacta o si contiene una coincidencia.

  • Si matchExact se configura en false,, cualquier valor que contiene el texto de filtro se considera una coincidencia.
  • Si matchExact se configura en true, solamente los valores que coinciden con el texto de filtro proporcionado se incluyen en el conjunto de resultados.

Nota: A menos que se especifique el parámetro matchExact, el comportamiento predeterminado de la acción de regla será coincidir exactamente con el texto especificado en el parámetro de filtro. Para especificar que los resultados que contienen el texto de filtro se mantengan en el conjunto de resultados, los usuarios deben configurar el parámetro matchExact en falso.

Ejemplo:

La siguiente figura muestra la lista de países y su conteo de eventos.

Example to  list of countries and their event count

En la siguiente figura se muestra una acción de regla filter_on para excluir países del conjunto de resultados, con excepción de España, China, Estados Unidos y Reino Unido.

Example to filter_on rule action to filter out countries

En la siguiente figura se muestra la salida con la acción de regla filter_on:

Output of  filter_on rule action

Otra forma de filtrar las salidas de cada conjunto de resultados es crear una lista de variables que desea filtrar. Por ejemplo, puede crear una lista con Reino Unido, Francia y Alemania como valores de la lista. Puede utilizar esta lista en la acción de regla para obtener el mismo conjunto de resultados. Por ejemplo, si crea una lista denominada COUNTRY_LIST, puede utilizar la lista de la siguiente manera:

filter_on ('$COUNTRY_LIST', 'country.src', 'false');

filter_out (string filter, string field)

filter_out (string filter, string field, bool matchExact)

filter_out elimina los valores que contienen el criterio filtro del conjunto de resultados. Si el conjunto de resultados contiene múltiples campos, debe seleccionar un campo específico al cual se aplica el filtro (por ejemplo, puede utilizar lookup_and_add para agregar resultados a un único conjunto de resultados).

El parámetro matchExact determina si la coincidencia es una coincidencia exacta o si contiene una coincidencia.

  • Si matchExact se configura en falso, cualquier valor que contiene el texto de filtro se considera una coincidencia.
  • Si matchExact se configura en verdadero, solamente los valores que coinciden con el texto de filtro proporcionado se excluyen del conjunto de resultados.

Nota: A menos que se especifique el parámetro matchExact, el comportamiento predeterminado de la acción de regla es buscar una coincidencia exacta para el texto especificado en el parámetro de filtro. Para especificar que los resultados que contienen el texto de filtro se quiten del conjunto de resultados, los usuarios deben configurar el parámetro matchExact en falso.

Ejemplo:

La siguiente figura muestra la lista de países y su conteo de eventos.

 Example for list of countries and their event count

En la siguiente figura se muestra la acción de regla filter_out para eliminar el conteo de eventos de España, China, Estados Unidos y Reino Unido del conjunto de resultados.

Example to filter_out rule action to remove the event count for countries

En la siguiente figura se muestra la salida con la acción de regla filter_out.

Output of Rule with filter_out rule action

lookup_and_add (string select, string field)

lookup_and_add (string select, string field, int limit)

lookup_and_add (string select, string field, int limit, boolean inherit)

lookup_and_add (string select, string field, int limit, boolean inherit, string extraWhere)   

lookup_and_add(string select, string field, int limit, boolean inherit, string extraWhere, boolean aggregate)

Esta acción de regla realiza una iteración mediante una lista de valores en un conjunto de resultados y busca metadatos adicionales para describir con más detalles las relaciones entre diversos elementos dentro de un conjunto de resultados.

Nota: La acción de regla lookup_and_add se puede usar solo con una regla agregada.

El primer parámetro, select, designa el tipo de metadatos que se debe agregar a los elementos del conjunto de resultados. El segundo parámetro, field, especifica en qué parte del conjunto de resultados se debe aplicar el adjunto. Además, se puede aplicar un límite para evitar la sobrecarga del conjunto de resultados con un gran conjunto de resultados.

De manera predeterminada, las consultas posteriores que se realicen a SDK heredan la cláusula Where de la regla principal. Para usar una cláusula Where única, puede especificar un valor booleano en el cuarto parámetro como false y, en el quinto parámetro, especificar una cláusula Where diferente.

Nota: Si está utilizando una cláusula where única en su consulta, asegúrese de utilizar una comilla simple (') para encerrar argumentos y comillas dobles (") para los valores de cadena.

Ahora, con la adición del resumen Personalizado y la función Group By, el resultado se puede lograr incluso sin tener una acción de regla lookup_and_add. La sintaxis de la nueva regla con groupby muestra el resultado en una estructura plana que es mejor que la sintaxis de regla anterior sin groupby. Por lo tanto, se recomienda editar/actualizar manualmente las reglas con la acción de regla lookup_and_add y usar la cláusula groupby dondequiera que pueda aplicarse.

Nota: La acción de regla Lookup_And_Add solo es compatible si la cláusula SELECT tiene un metadato y una función de agregado.

Por ejemplo, consulte los siguientes escenarios: En el ejemplo 2a, se usa la acción de regla lookup_and_add. En lugar de usar la acción de regla lookup_and_add, se puede lograr el mismo resultado si se usa el resumen Personalizado y la función Group By. Consulte el ejemplo 2b más adelante.

Sin embargo, la acción de regla lookup_and_add es compatible con las reglas de NWDB en las siguientes condiciones:

  • Todas las versiones de reglas de NWDB en las cuales Resumen está configurado en Conteo de eventos, Conteo de paquetes o Tamaño de sesión.
  • En el caso del resumen Personalizado, la regla lookup_and_add debe tener solo un metadato group by con solo una función de agregado, y esta debe ser sum() o count().

Nota: No es compatible con “Resumen: Ninguno”.

Por ejemplo, la acción de regla lookup_and_add se puede usar para las siguientes reglas:

  • select ip.src, sum(size) group by ip.src
  • select ip.src, count(filename) group by ip.src

No se puede usar para las siguientes reglas:

  • select ip.src, sum(size),count(filename) group by ip.src
  • select ip.src, sum(size),avg(size) group by ip.src
  • select ip.src,ip.dst count(filename) group by ip.src,ip.dst

Ejemplos:

1. lookup_and_add('ip.dst','ip.src', 2);

Esta acción de regla se repetirá a través de cada ip.src en el conjunto de resultados inicial y buscará las dos direcciones IP de destino principales con cada ip.src.

La siguiente figura muestra la definición de la regla.

Example for lookup_and_add('ip.dst','ip.src', 2)

En la siguiente figura se muestra el conjunto de resultados que contienen las direcciones IP de origen y las dos direcciones IP principales de destino con cada ip.src.

Output of lookup_and_add('ip.dst','ip.src', 2)

2a. lookup_and_add('ip.dst','ip.src', 2); lookup_and_add('service','ip.src', 3);

Esta acción de regla realizará la iteración a través de cada ip.src en el conjunto de resultados inicial y buscará las dos direcciones IP de destino principales con cada ip.src y los tres puertos principales utilizados por ip.src.

La siguiente figura muestra la definición de la regla.

Example of lookup_and_add('ip.dst','ip.src', 2); lookup_and_add('service','ip.src', 3);

La siguiente captura de pantalla muestra el conjunto de resultados que contienen las direcciones IP de origen y las dos direcciones IP principales de destino con cada ip.src y los tres puertos principales utilizados por cada ip.src:

Output of lookup_and_add('ip.dst','ip.src', 2); lookup_and_add('service','ip.src', 3);

Puede hacer la consulta con el grado de complejidad que desee mediante la selección de diferentes campos en el conjunto de resultados y la adición a diferentes partes. Por ejemplo, puede que desee saber qué archivos ha tocado cada IP de origen. Sin embargo, debido a que la regla principal tiene una cláusula WHERE service = 6667 y a que el comportamiento predeterminado de esta acción de regla es anexarse a la cláusula WHERE original, será necesario reemplazar la cláusula WHERE primaria. La manera más fácil de comprender este concepto es observar la llamada lookup_and_add anterior: lookup_and_add('ip.dst','ip.src',2). La consulta real que se envía al servidor es SELECT ip.dst WHERE service = 6667 &&ip.src = 206.42.199.194. Para forzar que la cláusula WHERE reemplace la parte de service = 6667 de la cláusula WHERE (heredada de la regla primaria), el usuario puede especificar un cuarto parámetro false, como se muestra en el ejemplo 3.

2b. Sin la regla lookup_and_add

Esta regla usa el resumen Personalizado y la función Group By para ordenar los resultados.

La siguiente figura muestra la definición de la regla.

Example of  Without Lookup_and_add Rule

La siguiente captura de pantalla muestra el conjunto de resultados que contienen las direcciones IP de origen y las dos direcciones IP principales de destino con cada ip.src y los tres puertos principales utilizados por cada ip.src:

Output of Without Lookup_and_add Rule

3. lookup_and_add('filename', 'ip.src', 2, false);

Esta llamada enviaría una consulta al servidor, como SELECT filename WHERE ip.src = 90.0.0.142 en lugar de SELECT filename WHERE service = 6667' && ip.src = 90.0.0.142, porque se especificó la acción de regla para omitir la cláusula WHERE inicial de la regla primaria.

La siguiente figura muestra la definición de la regla.

Example of  lookup_and_add('filename', 'ip.src', 2, false);

La siguiente figura muestra el conjunto de resultados.

Output of  lookup_and_add('filename', 'ip.src', 2, false);

La lista test está en un grupo llamado netwitness; puede acceder a esa lista con la siguiente sintaxis.

Incluso puede acotar aún más estos resultados anexados para incluir solamente nombres de archivos que tengan .gif como la extensión del nombre de archivo utilizando el quinto parámetro en la acción de regla. El quinto parámetro le permite especificar criterios adicionales de la cláusula WHERE. Los archivos con extensión de nombre de archivo .gif se almacenarían en la lista test dentro de un grupo llamado DocTeamList. Puede acceder a esta lista con la siguiente sintaxis: threat.source = $[DocTeamList/test] 
Puede hacer referencia a ella en el parámetro de la cláusula Where adicional de la siguiente forma:

4. lookup_and_add('filename', 'ip.src', 5, false, 'filename CONTAINS $[DocTeamList/test]');

La siguiente figura muestra la definición de la regla.

Example of  lookup_and_add('filename', 'ip.src', 5, false, 'filename CONTAINS $[DocTeamList/test]');

La siguiente figura muestra el conjunto de resultados.

Output of  lookup_and_add('filename', 'ip.src', 5, false, 'filename CONTAINS $[DocTeamList/test]');

5. lookup_and_add('ip.dst','ip.src', 2,true,,false);

Esta acción de regla se repetirá a través de cada ip.src en el conjunto de resultados inicial y buscará las dos direcciones IP de destino principales con cada ip.src. El parámetro “aggregate” está configurado en “false”, lo cual implica que los agregados se omitirán en los valores de búsqueda y, por lo tanto, las ejecuciones de consulta de búsqueda se completarán más rápidamente.

Nota:
El valor predeterminado para “aggregate” es “true”. Cuando “aggregate” está configurado en “false”, Reporting Engine transmite threshold=1, Sort by='value' y Order=Ascending a NWDB para acelerar las consultas de búsqueda. 
. Debe configurar “aggregate” en false cuando la regla contenga funciones de agregado o cuando se ejecute contra un rango de tiempo amplio. Esto ayuda a la regla a completar la ejecución con mayor rapidez.

La siguiente figura muestra la definición de la regla.

Exaample of  lookup_and_add('ip.dst','ip.src', 2,true,,false);

La siguiente figura muestra el conjunto de resultados.

Output of  lookup_and_add('ip.dst','ip.src', 2,true,,false);

max_threshold (string quantity)

max_threshold (string quantity, string field)

max_threshold elimina cualquier resultado con una cantidad que es mayor a la cantidad del umbral máximo de un conjunto de resultados. Se puede especificar la cantidad en términos de conteo o de tamaño y es relativa a las opciones de orden de la regla principal. Esto significa que si clasifica una regla por tamaño, la acción de la regla espera que especifique el parámetro en bytes (puede agregar KB, MB, GB o TB al parámetro para facilitar la conversión del tamaño). 

La regla max_threshold también se puede usar para filtrar valores de acuerdo con los valores de la función de agregado. Use la sintaxis según el tipo de resumen que se utiliza en la regla que se muestra a continuación:

  • max_threshold(String quantity): se puede usar para filtrar Conteo de eventos, Conteo de paquetes y Tamaño de sesión.
  • max_threshold(String quantity, String field): se puede usar para filtrar valores de agregados personalizados o cualquier metadato.

Ejemplos:

1. max_threshold(200);

En la siguiente figura se muestra el resultado sin el argumento max_threshold. Los resultados de salida tienen conteos de eventos que exceden los 200.

Output of max_threshold(200);

En la siguiente figura se muestra la acción de regla max_threshold que pone un límite de 200 bytes en la salida. No se enumera ninguna salida que tenga más de 200 bytes de datos.

Example for max_threshold rule action that puts a limit of 200 bytes on the output

En la siguiente figura se muestra el resultado cuando se aplica la acción de regla max_threshold. Los resultados enumerados 1 en la captura de pantalla anterior se quitan del resultado.

Result of  when the max_threshold rule action is applied

2. max_threshold(5,count(alias.host));

En la siguiente figura se muestra el resultado sin el argumento max_threshold. Los resultados de salida tienen un conteo de alias.host mayor de cinco.

 Result of without the max_threshold argument

En la siguiente figura se muestra la acción de regla max_threshold que pone un límite de cinco en la salida. No se enumera ninguna salida que tenga un valor mayor de cinco.

Example of max_threshold rule action that puts a limit of 5 on the output

En la siguiente figura se muestra el resultado cuando se aplica la acción de regla max_threshold. Cualquier salida que tenga un valor mayor de cinco se elimina del resultado.

Result when the max_threshold rule action is applied

min_threshold (string quantity)

min_threshold elimina los resultados con una cantidad que es menor a la cantidad del umbral mínimo de un conjunto de resultados. Se puede especificar la cantidad en términos de conteo o de tamaño y es relativa a las opciones de orden de la regla principal. Esto significa que si clasifica una regla por tamaño, la acción de la regla espera que especifique el parámetro en bytes (puede agregar KB, MB, GB o TB al parámetro para facilitar la conversión del tamaño).

La regla min_threshold también se puede usar para filtrar valores de acuerdo con los valores de la función de agregado. Use la sintaxis según el tipo de resumen que se utiliza en la regla que se muestra a continuación:

  • min_threshold(String quantity): se puede usar para filtrar Conteo de eventos, Conteo de paquetes y Tamaño de sesión.
  • min_threshold(String quantity, String field): se puede usar para filtrar valores de agregados personalizados o cualquier metadato.

Ejemplos:

1. min_threshold(200);

En la siguiente se figura muestra un ejemplo de la consulta min_threshold.

Example of min_threshold query

En la figura anterior se establece un límite de 200 bytes en la salida. No se enumera ninguna salida que tenga menos de 200 bytes de datos. Se aplica la salida con la acción de regla min_threshold.

The output with the min_threshold rule action is applied

Como se muestra, todos los valores son más grandes que 200 bytes.

2. min_threshold(100,count(alias.host));

En la siguiente figura se muestra el resultado sin el argumento min_threshold. Los resultados de salida tienen un conteo de alias.host menor de 100.

The result without the min_threshold argument

En la siguiente figura se muestra la acción de regla min_threshold que establece el límite mínimo de 100 en la salida. No se enumera ninguna salida que tenga datos menores de 100.

The min_threshold rule action that sets the minimum limit of 100 on the output

En la siguiente figura se muestra el resultado cuando se aplica la acción de regla min_threshold. Cualquier salida que tenga datos de menos de 100 se quita del resultado.

The result when the min_threshold rule action is applied

regex (string regex, string field)

La acción de regla regex aplica la expresión regular al conjunto de resultados. El siguiente es el formato de la acción de regla regex:

regex(regular_expression, meta_name)

Donde:

  • regular_expression: es la expresión regular para igualar el valor de los metadatos.
  • meta_name: nombre del campo o de los metadatos donde se debe aplicar regex.

Para ver una lista completa de los patrones de regex compatibles, consulte http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html.

Ejemplo de la acción de regla regex:

Si desea incluir nombres de archivos de todos los formatos de archivo PNG y JPEG de diferentes sesiones, puede escribir una regla con la siguiente acción de regla regex:

regex(".+.(png|jpg)", filename);

En la siguiente se figura muestra la regla.

Sample regex rule action

La salida con la acción de regla regex aplicada se muestra en la siguiente figura:

Regex rule action output

sum_count()

Calcula el total de los cuantificadores de un conjunto de resultados específico. Por ejemplo, al llamar un sum_count() para una regla que está clasificada por conteos de eventos, se calcula el tamaño total de todos los valores en el conjunto de resultados y se muestra el total implementado del conjunto de resultados.

Ejemplo:

En la siguiente se figura muestra la regla de acción sum_count().

Example of sum_count() rule action

Con la regla de acción sum_count(), la salida muestra el tamaño total de todos los conteos de eventos:

Output of sum_count() rule action

sum_values()

Calcula la cantidad total de valores de un conjunto de resultados específico. Use esta acción para mostrar la cantidad de coincidencias que se encontraron para una regla determinada.

Ejemplo:

En la siguiente figura se muestra la acción de regla sum_values().

Example of sum_values() rule action

En la siguiente figura se muestra el resultado con la acción de regla sum_value:

Output of sum_values() rule action

show_whats_new()

La acción de regla show_whats_new() toma cualquier resultado de un conjunto de resultados y filtra cualquier valor disponible en la base de datos de metadatos de NetWitness antes del marco de tiempo del informe en ejecución. Cuando se ejecuta un informe, NetWitness Suite determina el ID de la primera sesión en el rango de tiempo del informe. Si un valor en un conjunto de resultados tiene un ID de primera sesión mayor al ID de primera sesión del marco de tiempo del informe, no existía en la base de datos de metadatos de NetWitness antes de que el informe se ejecutara y, por lo tanto, es nueva para el sistema NetWitness relacionado con el marco de tiempo del informe.

La acción de regla show_whats_new() también es compatible con la regla agregada personalizada. Cuando se seleccionan múltiples metadatos en la regla Personalizada, se consideran los primeros para filtrar los valores antiguos. Consulte el ejemplo 2 más adelante para comprender cómo se usa esta acción de regla para la regla agregada personalizada.

Nota: La acción de regla show_whats_new() se puede usar solo con una regla agregada.

Ejemplos:

1. show_whats_new() para una regla agregada con Conteo de eventos

En el siguiente ejemplo se enumeran todas las direcciones IP de origen disponibles durante las últimas dos semanas.

Example for all the Source IP Addresses available for the past two weeks are listed

En la siguiente figura se muestra el uso de la acción de regla show_whats_new para mostrar solo las entradas nuevas en las últimas dos semanas.

Use of show_whats_new rule action to list only the new entries for the past two weeks

En la siguiente figura se muestran las entradas nuevas en las últimas dos semanas.

Exaample for lists of new entries for the past two weeks

2. show_whats_new() para una regla agregada personalizada

En el siguiente ejemplo se enumeran todas las direcciones IP de origen disponibles durante las últimas dos semanas.

Example for All the Source IP Addresses available for the past two weeks are listed

En la siguiente figura se muestra el uso de la acción de regla show_whats_new para mostrar solo las entradas nuevas en las últimas dos semanas.

Example to show_whats_new rule action to list only the new entries for the past two weeks

En la siguiente figura se muestran las entradas nuevas de direcciones IP de origen en las últimas dos semanas.

Lists of new entries of Source IP Addresses for the past two weeks

El poder de esta función es que no importa cuándo se ejecuta el informe en los valores identificados que son nuevos para NetWitness. Preste atención con esta función porque si se restablecen los datos, se perderán. Sin embargo, es fácil establecer un punto de base en un sistema e identificar cambios y nuevos elementos sin una gran cantidad de esfuerzo en el sistema (según el tamaño del conjunto de resultados).

Operadores de reglas compatibles

La sintaxis de regla del origen de datos de Reporting Engine de NWDB es compatible con un subconjunto de operadores de reglas que son compatibles con NetWitness Suite.

                                           
SintaxisDescripción
*Use un asterisco (*) como el único operador de una regla para seleccionar todo el tráfico.
=Es igual al operador
!= No es igual al operador
&&Operador Y lógico
||Operador O lógico
-uLímite superior. Por ejemplo, tcp.port = 40000-u selecciona todos los puertos TCP superiores a 40,000.
-lLímite inferior. Por ejemplo, tcp.port = I-40000 selecciona todos los puertos TCP inferiores a 40,000.
-El operador guion (-) solo se aplica a valores numéricos. Separe los límites inferiores y superiores del rango con un guion (-).  Por ejemplo, tcp.port = 25-443 selecciona todos los puertos TCP entre 25 y 443.
  Informes: Sintaxis de reglas de IPDB  

Ejemplo de consultas compatibles

Sintaxis de reglas de Respond

La sintaxis de reglas compatible para el servicio RESPOND mediante descripciones y ejemplos de las sintaxis compatibles y no compatibles. Existe un conjunto limitado de sintaxis que puede usar para crear las reglas de los informes mediante el servicio RESPOND en esta versión.

Reporting Engine es compatible con las siguientes categorías de sintaxis de reglas de orígenes de datos de RESPOND:

  • Cláusula Select

    • Regla no agregada
    • Regla agregada
  • alias
  • Cláusula Where
  • Operadores de la cláusula Where
  • Agrupar por
  • Ordenar por
  • Campo Límite

Nota: La lista no se admite en las reglas de origen de datos de Respond.

Cláusula Select

La cláusula Select es una lista de valores separada por comas. Por ejemplo: select alert.severity, alert.name, count(*).

Hay dos tipos de cláusulas Select para la regla RESPOND:

  • Regla no agregada
  • Regla agregada

Regla no agregada

Cuando desee definir una regla sin agrupación, elija “Ninguno” en el campo Resumen. En una regla no agregada, puede seleccionar una cantidad indefinida de metadatos en la cláusula Select. Por ejemplo, select alert.severity, alert.name.

Regla agregada

Cuando desea consultar por metadatos específicos y su valor agregado asociado, debe usar la regla agregada. Para obtener un agregado, debe elegir “Personalizado” en el campo Resumen para incluir una función de agregado en la cláusula Select. Por ejemplo, select alert.severity, alert.name, count(*). 

En la siguiente figura se muestra la vista Crear regla para una regla agregada.

Build Rule view for Aggregate Rule

Funciones de agregado compatibles

Las reglas del servicio RESPOND admiten las siguientes funciones de agregado y la siguiente sintaxis.

  • count
  • máx.
  • min
  • sum
  • avg

Nota: Las funciones de agregado se deben agregar al final de una cláusula Select para una consulta de agregado. Por ejemplo, alert.name, alert.severity, sum(alert.numEvents). De forma predeterminada, se obtiene un máximo de resultados de 10,000 filas y esto se puede configurar mediante rsa.response.query.QueryProperties.

Ejemplos de sintaxis de la cláusula Select

En la siguiente tabla se proporcionan ejemplos de la sintaxis de la cláusula Select.

               
EjemplosDescripciones
select column1,column2,column3,...,columnNSeleccione metadatos específicos de un origen de datos de RESPOND (debe separar cada columna con una coma). 

Ejemplos de consultas Select admitidas

select alert.name, alert.numEvents, count(alert.numEvents)

select alert.severity, avg(alert.severity)

select alert.timestamp, incidentCreated where alert.timestamp >= 1475658011

Resumen 

Resumen determina el tipo de resumen o agregación para la regla.

               
NombreValor de configuración
Resumen

Para consultar metadatos sin ninguna agrupación personalizada, seleccione:

  • Ninguno:

Para obtener agregados basados en metadatos, seleccione:

  • Personalizada: Esto indica que la función agregada de metadatos esperados se define en la cláusula Select de la regla.

Alias

Es probable que algunos nombres de metadatos no sean descriptivos; en este caso se puede agregar la descripción en el campo de alias para facilitar la lectura de los nombres de columna. Por ejemplo, SELECT: alert.severity, alert.name, count(*)
ALIAS: Alert Severity, Alert Name

En el campo Alias, puede ingresar un nombre para las columnas que se usan en la cláusula Select. Si no especifica el alias para uno de los campos en la cláusula Select, se usará la descripción predeterminada. Por ejemplo, si la cláusula Select tiene Field1, Field2, Field3, Field4 y alias tiene solo Field1, Field3, Field4, para Field2 se usa una descripción predeterminada.

Cláusula Where

La cláusula Where consta de valores y rangos de campo de idioma que usa la función RESPOND. En la cláusula Where, los valores de cadena deben estar encerrados en comillas simples.

                   
EjemplosDescripciones
alert.host summary ='(Primary) Link status ''Down'' on interface INTNAME.'Para los datos de tipo TEXTO o cadena, ingrese la cadena o el texto entre comillas simples o dobles. Si hay algún carácter especial, como un apóstrofo, dentro de los datos, deberá agregar comillas simples o dobles adicionales. Por ejemplo, alert.name = 'top alerts from Cote d''Ivoire'.
alert.timestamp >= 1475658011Para la fecha y la hora (columnas del tipo de datos fecha/registro de fecha y hora), use la sintaxis
EPOCH.

Operadores de cláusula Where compatibles

                                   
OperadorSintaxis
= (es igual a)column1 = 'value'
!= (no es igual a)column1 != 'value'
>column1 > 'value'
>=column1 >= 'value'
<column1 < 'value'
<=column1 <= 'value'

Agrupar por 

               
SintaxisFunción

group by : alert.severity, alert.timestamp, incidentCreated

Nota: El campo Agrupar por está habilitado para las consultas agregadas y no es editable.

RESPOND elige automáticamente los metadatos para el campo Agrupar por de la cláusula Select seleccionada.

Ordenar por

Ordenar por determina cómo se ordena el conjunto de resultados y no distingue mayúsculas de minúsculas.

                   
NombreValor de configuración

Nombre de columna

El Nombre de la columna es el nombre de las columnas según las cuales desea ordenar los resultados. De forma predeterminada, el valor está vacío. Cuando hace clic en una columna, el valor se completa de acuerdo con el campo Resumen.

  • order by alert.name asc
  • order by incidentCreated desc
  • order by count(numEvents)
  • order by status

Ordenar por

Ordenar por determina el orden en el cual desea clasificar los resultados como, por ejemplo, ascendente o descendente.

Nota: Para todas las consultas, es obligatorio que seleccione el campo Ordenar por.

Campo Límite

Indica el límite que se introducirá en la consulta mientras se obtienen los datos de la base de datos. Si un conjunto de resultados se ordena por conteo de
eventos, conteo de paquetes o tamaño de sesión, el límite representa los N valores superiores (o inferiores) que se devolverán. Si el conjunto de resultados no se
ordena, se devuelven los primeros N valores.

    
Previous Topic:Apéndice
You are here
Table of Contents > Apéndice > Sintaxis de la regla

Attachments

    Outcomes