Consejos y trucos para personalizar plantillas de correo electrónico

Las plantillas de correo electrónico de alerta personalizadas en IBM® QRadar ® se implementan utilizando plantillas de Velocity . Velocidad es un lenguaje de plantilla basado en Java que proporciona una inmensa cantidad de potencia y programabilidad.

Nota: Este artículo del blog técnico es as-is y no pasó por ningún examen extra.

Problema-Dominios de multitenencia

Actualmente, el DomainID para direcciones IP solapadas o multitenencia no está disponible en las plantillas de correo electrónico personalizadas.

Solución-Utilizar propiedades personalizadas de AQL QRadar

QRadar tiene propiedades personalizadas de AQL (lenguaje de consulta Ariel) que están disponibles en las plantillas de correo electrónico cuando utiliza la sintaxis siguiente:

${AqlCustomPropertiesList}
Como muestra la captura de pantalla siguiente, es sencillo crear una propiedad personalizada AQL que incluya la información del dominio:
Figura 1. Propiedad personalizada de AQL
Imagen que muestra que la información de dominio debe especificarse en el campo Descripción.

Pero, por desgracia, tenemos varias propiedades personalizadas de AQL y lo único que permite la plantilla de correo electrónico es obtener la LISTA de AqlCustomProperties y sus valores:

AQL Custom Properties: GregAQL: Net_10_0_0_0
00MYAQL: Net_10_0_0_0
DomainInformation: ApophisDomain (ID: 1)
SystemName: ApophisQAFedora
Debido a que la velocidad es un lenguaje flexible basado en Java, podemos simplemente ir a través de cada uno de ellos e imprimir el que queremos:
#foreach ( $str in $AqlCustomPropertiesList.split("\n") )
#if ( $str.contains('DomainInformation') )
                DomainInformation:                             $str
#end
#end
La adición del ejemplo de código anterior en la plantilla de correo electrónico le proporciona el resultado que desea:
DomainInformation: DomainInformation: ApophisDomain  (ID: 1)

También puede imprimir los valores de las propiedades personalizadas, calculadas o AQL dadas utilizando una de las siguientes series:

  • ${body.CustomProperty(“CustomName”)}
  • ${body.CalculatedProperty(“CalculatedName”)}
  • ${body.AqlCustomProperty(“AQLName”)}

La plantilla es tan simple como el siguiente fragmento de código:

DomainInformation: ${body.AqlCustomProperty(“DomainInformation”)}