Creación de reglas personalizadas con el creador de reglas asistido

La opción Creador de reglas asistido te ayuda a crear conjuntamente el Agent y las reglas de detección dependientes, y garantiza que se haga referencia a la regla del Agent en las reglas de detección. El uso de esta herramienta es más rápido que el método avanzado de creación del Agent y de las reglas de detección por separado.

Para obtener más detalles, consulta Creación de reglas de detección personalizadas.

Sintaxis de expresiones del Agent

Cloud Security Management Threats (CSM Threats) evalúa primero la actividad en el Datadog Agent con respecto a las expresiones del Agent para decidir qué actividad recopilar. Esta parte de una regla de CSM Threats se denomina expresión del Agent. Las expresiones del Agent utilizan el Lenguaje de seguridad de Datadog (SECL). El formato estándar de una expresión SECL es el siguiente:

<event-type>.<event-attribute> <operator> <value> [<operator> <event-type>.<event-attribute>] ...

Cuando se utiliza este formato, una regla de ejemplo de un sistema Linux tiene el siguiente aspecto:

open.file.path == "/etc/shadow" && process.file.path not in ["/usr/sbin/vipw"]

Operadores

Los operadores SECL se utilizan para combinar atributos de evento en una única expresión. Los siguientes operadores están disponibles:

Operador SECLTiposDefiniciónVersión del Agent
==ProcesoIgual7.27
!=ArchivoNo es igual7.27
>ArchivoMayor7.27
>=ArchivoMayor o igual7.27
<ArchivoMenos7.27
<=ArchivoMenor o igual7.27
!ArchivoNo7.27
^ArchivoBinario no7.27
in [elem1, ...]ArchivoEl elemento está contenido en una lista7.27
not in [elem1, ...]ArchivoEl elemento no está contenido en una lista7.27
=~ArchivoCoincidencia de cadenas7.27
!~ArchivoCadena no coincidente7.27
&ArchivoBinario y7.27
|ArchivoBinario o7.27
&&ArchivoLógico y7.27
||ArchivoLógico o7.27
in CIDRRedEl elemento está en el rango IP7.37
not in CIDRRedEl elemento no está en el rango IP7.37
allin CIDRRedTodos los elementos están en el rango IP7.37
in [CIDR1, ...]RedEl elemento está en los rangos IP7.37
not in [CIDR1, ...]RedEl elemento no está en los rangos IP7.37
allin [CIDR1, ...]RedTodos los elementos están en los rangos IP7.37

Patrones y expresiones regulares

En las expresiones SECL se pueden utilizar patrones o expresiones regulares. Pueden utilizarse con los operadores in, not in, =~ y !~.

FormatoEjemploCampos admitidosVersión del Agent
~"pattern"~"httpd.*"Todas7.27
r"regexp"r"rc[0-9]+"Todos excepto .path7.27

Los patrones de los campos .path se utilizarán como Glob. * coincidirá con archivos y carpetas del mismo nivel. **, introducido en 7.34, puede utilizarse al final de una ruta para que coincida con todos los archivos y subcarpetas.

Duración

Puedes utilizar SECL para escribir reglas basadas en duraciones, que activan eventos que ocurren durante un período de tiempo específico. Por ejemplo, activar un evento donde se accede a un archivo durante un mayor período de tiempo después de que se crea un proceso. Una regla de este tipo podría escribirse de la siguiente manera:

open.file.path == "/etc/secret" && process.file.name == "java" && process.created_at > 5s

Las duraciones son números con un sufijo de unidad. Los sufijos admitidos son “s”, “m”, “h”.

Sintaxis específica de la plataforma

Las expresiones SECL admiten varias plataformas. Puedes utilizar la documentación siguiente para ver qué atributos y ayudantes están disponibles para cada una.