En esta sección se describe la sintaxis de regla diferente compatible con Reporting Engine.
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
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
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.
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:
En la siguiente figura se muestra la vista Crear regla para una regla agregada.
Existen dos tipos de valores de agregados que se pueden consultar:
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:
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.
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:
Funciones agregadas de metadatos compatibles
El servicio NWDB es compatible con las siguientes funciones agregadas y sintaxis en esta versión.
Sintaxis | Funció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.
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:
Seleccione MONITOR > Informes.
Se resalta la pestaña Administrar y se muestra la vista Reglas.
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.
Haga clic en el botón Probar regla de la parte inferior de la pantalla.
Aparecerá la página Probar regla.
Resumen
Resumen determina el tipo de resumen o agregación para la regla.
Nombre | Valor de configuración |
---|---|
Resumen | Para consultar metadatos sin ninguna agrupación personalizada, seleccione:
Para obtener agregados relacionados con la recopilación (sesiones/eventos/paquetes), seleccione una de las siguientes opciones:
Para obtener agregados basados en metadatos, seleccione:
|
Ordenar por
Ordenar por determina cómo se ordena el conjunto de resultados.
Nombre | Valor 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. El valor está vacío de forma predeterminada. Cuando hace clic en una columna, el valor se completa de acuerdo con el campo Resumen.
|
Ordenar por | Ordenar por determina el orden en el cual desea clasificar los resultados. Los valores son los siguientes:
|
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
Sintaxis | Descripció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
Sintaxis | Descripció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. |
begins | Verifica un valor en el comienzo de un texto o campo binario. |
contains | Busca un textoo valor binario para una coincidencia parcial. |
ends | Verifica un valor al final de un texto o campo binario. |
exists | Si el valor de campo existe, independientemente del valor, la operación se evalúa como verdadera. |
!exists | Si el valor de campo no existe, la operación se evalúa como verdadera. |
length | Evalú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. |
regex | Ejecuta una búsqueda de expresión regular contra el texto o los valores binarios. |
no | El 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
Sintaxis | Descripció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 (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.
Las siguientes figuras muestran la acción de regla dedup para eliminar las entradas duplicadas del conjunto de resultados.
El valor duplicado de cada entrada en el conjunto de resultados de la regla se reduce a un valor.
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.
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.
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.
En la siguiente figura se muestra la salida con la acción de regla filter_on:
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.
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.
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.
En la siguiente figura se muestra la salida con la acción de regla filter_out.
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:
Nota: No es compatible con “Resumen: Ninguno”.
Por ejemplo, la acción de regla lookup_and_add se puede usar para las siguientes reglas:
No se puede usar para las siguientes reglas:
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.
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.
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.
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:
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.
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:
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.
La siguiente figura muestra el conjunto de resultados.
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.
La siguiente figura muestra el conjunto de resultados.
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.
La siguiente figura muestra el conjunto de resultados.
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:
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.
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.
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.
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.
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.
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.
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:
Ejemplos:
1. min_threshold(200);
En la siguiente se figura muestra un ejemplo de la consulta min_threshold.
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.
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.
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.
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.
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:
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.
La salida con la acción de regla regex aplicada se muestra en la siguiente figura:
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().
Con la regla de acción sum_count(), la salida muestra el tamaño total de todos los conteos de eventos:
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().
En la siguiente figura se muestra el resultado con la acción de regla sum_value:
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.
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.
En la siguiente figura se muestran las entradas nuevas en las últimas dos semanas.
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.
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.
En la siguiente figura se muestran las entradas nuevas de direcciones IP de origen en las últimas dos semanas.
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.
Sintaxis | Descripció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 |
-u | Límite superior. Por ejemplo, tcp.port = 40000-u selecciona todos los puertos TCP superiores a 40,000. |
-l | Lí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. |
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
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
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.
Funciones de agregado compatibles
Las reglas del servicio RESPOND admiten las siguientes funciones de agregado y la siguiente sintaxis.
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.
Ejemplos | Descripciones |
---|---|
select column1,column2,column3,...,columnN | Seleccione 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.
Nombre | Valor de configuración |
---|---|
Resumen | Para consultar metadatos sin ninguna agrupación personalizada, seleccione:
Para obtener agregados basados en metadatos, seleccione:
|
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.
Ejemplos | Descripciones |
---|---|
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 >= 1475658011 | Para 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
Operador | Sintaxis |
---|---|
= (es igual a) | column1 = 'value' |
!= (no es igual a) | column1 != 'value' |
> | column1 > 'value' |
>= | column1 >= 'value' |
< | column1 < 'value' |
<= | column1 <= 'value' |
Agrupar por
Sintaxis | Funció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.
Nombre | Valor 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.
|
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.