Base de datos Core: Personalización del índice

Document created by RSA Information Design and Development on Feb 9, 2017
Version 1Show Document
  • View in full screen mode
  

En este tema se describe cómo usar el archivo de índice personalizado para personalizar el índice. Cada servicio Security Analytics Core se instala con una configuración de índice predeterminada que tiene como objetivo satisfacer las necesidades del índice para la mayoría de los usuarios del producto. Sin embargo, es posible indexar nuevas claves de metadatos para usar el índice con contenido personalizado que generó metadatos personalizados.

Ubicaciones del archivo de configuración del índice

La personalización del índice se lleva a cabo mediante cambios en el archivo de índice personalizado. La ubicación de este archivo es /etc/netwitness/ng/index-<servicename>-custom.xml, donde <servicename> corresponde al nombre del producto que está personalizando. Por ejemplo, el archivo de índice personalizado de Concentrator es /etc/netwitness/ng/index-concentrator-custom.xml.

Los productos Concentrator también incluyen un archivo que describe la configuración predeterminada del índice: /etc/netwitness/ng/index-concentrator.xml. Este archivo es útil como plantilla para mostrar cómo está formateado el archivo de índice personalizado.

Si realiza personalizaciones al índice en el archivo de índice personalizado, estas anulan los conflictos con la configuración predeterminada del índice.

Puede hacer cambios en el archivo de índice personalizado mientras el servicio está en ejecución. Cuando el servicio recibe un comando de guardado del índice, los cambios en el archivo de índice personalizado se leen y se aplican al índice.

Nota: Los cambios en el índice solo se pueden aplicar a los nuevos datos entrantes. Los datos no se pueden volver a indexar retroactivamente con una nueva configuración personalizada del índice, excepto con un procedimiento muy lento para volver a indexar.

Entradas de configuración del índice

El archivo de índice personalizado es un documento XML. El elemento raíz de este documento es el elemento language y se incluye un elemento por clave de metadatos para describir cada índice personalizado. Cada elemento de la configuración personalizada del índice tiene la siguiente apariencia:

 <key name="did" description="Decoder Source" level="IndexValues" format="Text" valueMax="100" /> 

Definiciones de cada atributo en este elemento: Atributo | Descripción -|- name | Nombre de la clave de metadatos que se indexará description | Descripción en lenguaje natural del tipo de metadatos level | Tipo de índice que se creará para esta clave de metadatos valueMax | Valores únicos máximos que se almacenarán para esta clave por segmento format | Formato de los datos que contienen todos los elementos de metadatos con este nombre de clave de metadatos.

Las siguientes secciones analizan estos parámetros de manera más detallada.

Nombres de metadatos

El nombre de metadatos que usa el índice se refiere al nombre de la clave de metadatos presente en cada elemento de metadatos en la base de datos de metadatos. Los Decoders generan estos nombres de metadatos durante el análisis. Los analizadores pueden optar por generar metadatos con cualquier nombre de clave de metadatos. Por lo tanto, el índice personalizado permite elegir cuáles de los elementos de metadatos que genera el Decoder se indexan.

Los nombres de clave de metadatos pueden tener 16 caracteres de largo e incluir solo letras o el carácter “.”.

Tipos de datos

Cuando el Decoder genera elementos de metadatos, asigna un tipo de datos. Cada analizador puede elegir el tipo de datos de los metadatos que genera. Sin embargo, hay tipos de datos recomendados y estándar para cada una de las claves de metadatos predeterminadas. Por ejemplo, ip.src e ip.dst se almacenan como el tipo de metadatos IPv4 y alias.host se almacena como el tipo de metadatos texto. Cada analizador debe acordar el formato de datos para cada clave de metadatos que genera el Decoder.

Cuando se agrega un índice personalizado a Concentrator, el tipo de datos del índice personalizado debe coincidir con el formato de los datos que genera el Decoder. Si los tipos no coinciden, Concentrator intenta conversiones de los metadatos generados al tipo especificado para el índice personalizado. Sin embargo, estas conversiones pueden fallar y el índice resultante puede producir resultados indeterminados.

Asimismo, cuando muchos Decoders y Concentrators trabajan en conjunto como parte de una instalación de Security Analytics, deben acordar los tipos para cada clave de metadatos. Los conflictos de tipos de metadatos entre los servicios Security Analytics Core pueden causar un comportamiento indeterminado.

En la siguiente tabla se muestran los tipos de metadatos compatibles con los servicios Security Analytics Core.

                                                                                                  
TipoTamaño en bytesDescripción
Int81Entero de 8 bits con signo
UInt81Entero de 8 bits sin signo
Int162Entero de 16 bits con signo
UInt162Entero de 16 bits sin signo
Int324Entero de 32 bits con signo
UInt324Entero de 32 bits sin signo
Int648Entero de 64 bits con signo
UInt648Entero de 64 bits sin signo
UInt12816Entero de 128 bits sin signo
Float324Número de punto flotante de 32 bits, precisión sencilla
Float648Número de punto flotante de 64 bits, doble precisión
TimeT8Registro de fecha y hora epoc de Unix
Binaria1-255Datos binarios arbitrarios
Texto1-255Datos de texto con codificación UTF-8
IPv44Bytes de dirección IPv4
IPv616Bytes de dirección IPv6
MAC6Bytes de dirección MAC

Cuando se define un índice personalizado, es importante usar el mejor tipo de datos para los metadatos. Por ejemplo, nunca almacene direcciones IP como texto, puesto que la representación de texto requiere más bytes que la representación IPv4.

Niveles de índice

Hay tres niveles, o tipos, de indexación: IndexNone, IndexKeys e IndexValues.

IndexNone

Este tipo de índice personalizado no es en realidad un índice. Las entradas de índice personalizado con el nivel IndexNone existen solo para definir y documentar la clave de metadatos. Las entradas IndexNone se pueden usar en índices personalizados de Decoder para imponer un tipo de datos específico para una clave de metadatos a todos los analizadores de un Decoder.

IndexKeys

Este tipo de índice personalizado indica que el índice solo hace un seguimiento de las sesiones que contienen elementos de metadatos con este nombre de clave de metadatos. Sin embargo, no indexa ningún valor único en la base de datos de metadatos para la clave de metadatos.

Los índices en el nivel de clave ocupan mucho menos espacio de almacenamiento, memoria y tiempo de CPU destinado a la administración, pero requieren mucho más trabajo del motor de consultas cuando se ejecutan operaciones query o values que los usan.

Si se usa en una cláusula Where, una clave de metadatos indexada en el nivel de clave solo se puede usar para resolver operaciones como exists o !exists.

IndexValues

Este tipo de índice personalizado mantiene sesiones que contienen cada valor único individual para la clave de metadatos. También se conoce como un “índice completo”.

Este tipo de índice se necesita para el procesamiento eficiente de la mayoría de las cláusulas Where y para el uso de esta clave de metadatos como el parámetro fieldName de una llamada values.

Valor máximo

El valor máximo es un parámetro que puede tener un impacto muy significativo en la exactitud y el rendimiento de un índice en el nivel de valor.

A medida que un Decoder analiza paquetes o registros, se le permite crear metadatos de cualquier tipo con cualquier valor. En general, estos elementos de metadatos se crean a partir de datos copiados directamente del paquete o del registro. Por lo tanto, cualquiera puede crear valores de metadatos únicos en respuesta casi a cualquier evento.

El rendimiento del índice depende directamente de la cantidad de valores únicos que ha encontrado para cada clave de metadatos. A medida que la cantidad de valores únicos aumenta, la tasa a la cual se indexan los nuevos metadatos puede disminuir y la velocidad con la cual se completan las consultas baja. Dado que cualquier persona puede influir en la creación de valores de metadatos únicos, es posible que cualquiera afecte el rendimiento del índice.

El parámetro valor máximo limita la cantidad de valores únicos que pueden ingresar al índice. Por lo tanto, un usuario malicioso no puede inundar el sistema con una gran cantidad de valores únicos en un intento por hacer que el sistema Security Analytics no funcione.

Es importante configurar un valor máximo en cualquier clave de metadatos cuyo valor pueda recibir la influencia directa de registros o paquetes entrantes.

El valor máximo se aplica solo a valores agregados desde la última operación de guardado del índice.

El límite para la configuración del valor máximo superior varía de una versión a otra y según la cantidad de RAM disponible para el servicio Security Analytics Core. A partir de 10.3, el límite recomendado para el valor máximo es 5,000,000 para cualquier clave de metadatos. Si hay muchos índices personalizados, es posible que el valor máximo se deba configurar en una cifra inferior.

maxLength

El parámetro de longitud máxima se utiliza exclusivamente en el tipo de metadatos word. Debe coincidir con la configuración correspondiente para /decoder/parsers/config/token.max.length en el servicio Log Decoder que genera metadatos de token de palabra. El índice utiliza maxLength para interpretar correctamente los términos de búsqueda que se alimentan en la función de SDK msearch.

Previous Topic:Consultas
You are here
Table of Contents > Personalización del índice

Attachments

    Outcomes