Archiver: Guía de reglas y consultas

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

Todas las consultas y las condiciones de regla en los servicios de RSA Security Analytics Core deben seguir estas pautas: 

Todos los literales de cadena y los registros de fecha y hora deben ir entre comillas. No use comillas para los números ni las direcciones MAC o IP.

Por ejemplo:

  • extension = 'torrent'
  • time='2015-jan-01 00:00:00'
  • service=80
  • ip.src = 192.168.0.1

Nota: El espacio a la derecha y a la izquierda de un operador es opcional.
Por ejemplo, puede usar service=80 o service = 80.

Ejemplos de reglas

En la siguiente tabla se muestran ejemplos de condiciones de regla. Puede usar condiciones de regla para recopilaciones de retención de registros en un Archiver y para reglas de aplicación, red y correlación en un Decoder, Log Decoder o Concentrator. Las condiciones de regla también se usan en todas las cláusulas Where de todas las consultas de la base de datos Core.

Para obtener información detallada sobre la sintaxis de las reglas en Security Analytics, consulte Cláusulas Where en el tema Consultas de la Guía de ajuste de la base de datos de RSA Security Analytics Core.

                                   
Nombre de la reglaCondición
ComplianceDevicesdevice.group='PCI Devices' || device.group='HIPPA Devices'
HighValueWindowsdevice.group='Windows Compliance'
MediumValueWindowsdevice.type='winevent_nic' && msg.id='security_4624_security'
LowValueWinLogsdevice.type='winevent_nic' && msg.id='security_4648_security'
LowValueProxyLogsdevice.class='proxy' && msg.id='antivirus_license_expired'
GeneralWindowsdevice.type='winevent_nic'

Configuración del modo estricto para Security Analytics 10.6

Desde la versión 10.2, Security Analytics ha utilizado un analizador moderno para las reglas y las consultas, el cual define estrictamente la sintaxis válida. Cuando un servicio principal encuentra sintaxis obsoleta, escribe una advertencia acerca de esta en los registros de Security Analytics. Security Analytics ahora aplica el análisis estricto a las reglas de aplicación, red y correlación nuevas. El analizador heredado de las generaciones anteriores, ahora obsoleto, permite una sintaxis ambigua que puede dar lugar a resultados imprevistos. Aunque Security Analytics 10.6 continúa siendo compatible con la sintaxis obsoleta, las versiones futuras dejarán de serlo.

Después de la actualización a Security Analytics 10.6, las reglas con sintaxis obsoleta se resaltan en la interfaz del usuario. En el Editor de regla se proporcionan mensajes de globo adicionales. Después de corregir las reglas, los elementos resaltados desaparecen. Consulte Corregir las reglas con sintaxis obsoleta en la Guía de configuración de Decoder y Log Decoder.

Las estadísticas /decoder/config/rules/rule.errors y /concentrator/config/rules/rule.errors, que se incorporaron en 10.6, contienen el conteo de reglas con errores. Si rule.errors es distinto de cero, Security Analytics genera una alerta de Estado y condición para indicar que debe corregir las reglas.

Además, hay una ruta de migración para las consultas de sistemas externos. Después de una actualización desde una versión anterior, el sistema funciona en el modo obsoleto (lo controla /sdk/config/query.parse). En el modo obsoleto, el servicio continúa utilizando el analizador antiguo para todas las consultas que no pasan el análisis estricto. Los errores se registran y se envía un mensaje al cliente en el cual se informa la falla del análisis estricto. Pero la consulta se ejecuta y devuelve resultados como en las versiones anteriores. Debe monitorear los registros y los clientes externos en busca de informes, tableros, reglas, etc. que estén escritos con sintaxis obsoleta y resolver esos problemas a medida que surgen.

Después de resolver los problemas, puede cambiar todos los servicios principales (Decoders, Log Decoders, Concentrators, Brokers y Archivers) al modo estricto y monitorearlos en busca de problemas. En el modo estricto no se utiliza el analizador antiguo y cualquier infracción en el análisis devuelve errores. Esta tarea se debe ejecutar antes de cualquier actualización principal después de 10.6, porque el analizador antiguo se eliminará en versiones futuras y no existirá la opción de funcionamiento en el modo obsoleto.

De manera predeterminada, todas las instalaciones nuevas funcionan en el modo estricto. Si planea agregar un dispositivo nuevo a una infraestructura existente que se ejecuta en el modo obsoleto, en la vista Explorar (Administration > Servicios > seleccione un servicio y, en el menú Acciones, seleccione Ver > Explorar), puede cambiar /sdk/config/query.parse al modo obsoleto hasta que la plataforma completa se haya cambiado al modo estricto.

En Security Analytics 10.6, toda la validación de reglas funcionará siempre en el modo estricto para impedir la creación de problemas de sintaxis.

Sintaxis válida con el analizador moderno

Las siguientes son reglas con sintaxis válida que usan el analizador moderno:

  • En todos los tipos de texto, los valores literales deben ir entre comillas. Ejemplo: username = 'user1'
  • Las comillas pueden ser simples o dobles, pero deben coincidir (no puede comenzar con comillas simples y terminar con comillas dobles)
  • Si el valor literal incluye una comilla, puede anteponerle el carácter de escape o usar un carácter de comillas iniciales diferente. Los dos ejemplos siguientes son válidos (se usa la barra invertida como carácter de escape):

    • username = "User’s"
    • username = 'User\'s'
  • Para usar una barra invertida en una cadena literal, antepóngale un carácter de escape de barra invertida adicional: \\
  • Todos los tipos de fecha/hora deben usar comillas para las fechas en este formato: time = 'YYYY-MM-DD HH:MM:SS'
  • Todos los tipos de tiempo que representan la cantidad de segundos transcurridos desde EPOCH (1.º de enero de 1970) no deben ir entre comillas.
    Ejemplo: time = 1448034064
  • TODO lo demás no lleva comillas: dirección IP, direcciones Ethernet, valores numéricos, etc.
    Ejemplo: service = 80 && ip.src = 192.168.1.1/16

Ejemplos de sintaxis ambigua con el analizador antiguo

El siguiente es un ejemplo de sintaxis ambigua con el analizador antiguo obsoleto:

select * where alias.host = server-xeon

En la consulta anterior, parece lógico que el autor de la consulta desea obtener todos los metadatos en los cuales alias.host es igual a server-xeon. Lamentablemente, eso no sucede con el analizador heredado. En vez de esto, analiza esa consulta como select * where alias.host = 'server'-'xeon'. Por lo tanto, la convierte en una consulta de rango (valores ENTRE “server” y “xeon” con el uso del operador guion - sin comillas) y, debido a que es probable que ese rango devuelva resultados que no tienen ninguna relación con server-xeon, los usuarios podrían suponer que existe un problema en el motor de consultas. En el modo estricto de 10.6, obtendrá este error:

expecting <quoted_string> here: "server-xeon" 

Esto informa de inmediato al usuario el motivo por el cual la consulta no se pudo analizar correctamente.

El siguiente es otro ejemplo de sintaxis ambigua con el analizador antiguo obsoleto:

select * where username=lastname,firstname

En el lenguaje de Security Analytics, puede especificar valores múltiples si los separa con comas (un operador OR implícito). Pero, ¿quería el autor de la consulta expresar 'lastname,firstname' o deseaba buscar dos valores, 'lastname' y 'firstname'? Nuevamente, es ambiguo, pero el analizador heredado lo acepta (y lo convierte en 'lastname' OR 'firstname'). Con el analizador moderno, debe expresar su intención con total claridad, ya sea 'lastname,firstname' o 'lastname','firstname'

El siguiente ejemplo no se analiza correctamente:

select * where username = lastname, firstname

A primera vista, tal vez no se dé cuenta de que hay un espacio entre la coma y firstname. Debido a la ausencia de comillas, esto no se analiza correctamente con el analizador antiguo, pero este no devuelve un error de análisis. En su lugar, ejecuta la consulta (y descarta firstname por completo debido al problema del espacio en blanco). Lo que es peor, usted no sabría que la consulta ejecutada no es lo que envió, a menos que determinara mediante otros métodos que el conjunto de resultados está incompleto. Con el análisis estricto habilitado, esto devuelve un error de análisis, que es lo que siempre debería ocurrir. Por lo menos en las versiones anteriores (y en el modo obsoleto), los registros muestran un mensaje inmediatamente después del registro de auditoría para la consulta: Rule '<rule name>' in deprecated format. Please make sure all text values are surrounded with quotes.

You are here
Table of Contents > Referencias > Guía de reglas y consultas

Attachments

    Outcomes