Ir al contenido principal

Integración de IBM QRadar

Actualizado hace más de 2 meses

Esta guía explica cómo ingerir feeds de Axur Platform en IBM QRadar utilizando el protocolo Universal Cloud REST API con un workflow personalizado.

Nota: Este tutorial asume que ya tiene acceso a Axur Platform y la API Key requerida.

Nota de UI: Dependiendo de su versión de QRadar, la ubicación de Log Sources / Log Source Management puede variar (pestaña superior vs AdminLog Sources). Debe acceder a esta área para crear y configurar la integración. Si no la ve o el protocolo Universal Cloud REST API, vaya a AdminExtensions Management para instalarlos/habilitarlos.


Prerrequisitos

  • IBM QRadar versión 7.3.2 o superior (compatible con Universal Cloud REST API)

  • Acceso a Log Source Management (pestaña) o a AdminLog Sources

  • Acceso a AdminExtensions Management (para instalar aplicaciones/protocolos si es necesario)

  • Acceso administrativo a la consola de QRadar

  • API Key de Axur Platform y un Feed ID


Consideraciones de costo y facturación

  • Importante: Esta integración utiliza las capacidades integradas de Universal Cloud REST API de QRadar, por lo que no hay costos de licencia adicionales para la integración en sí.

  • Las principales consideraciones de costo son:

    • Licencia de QRadar: Asegúrese de que su licencia de QRadar soporte las características requeridas

    • Ancho de banda de red: La ingesta de datos de APIs externas consumirá ancho de banda

    • Almacenamiento: Los eventos ingeridos consumirán espacio de almacenamiento de QRadar

Sugerencia: Un glosario de términos de QRadar utilizados en este tutorial está disponible al final del documento.


1) Crear el Feed de Axur Platform

Cree una API Key y un Feed directamente en Axur Platform. Mantenga ambos valores a mano para pasos posteriores.

  1. Generar una API Key

    1. En Axur Platform, vaya a API Keys configuration.

    2. Cree una nueva API key y copie el valor de la API Key de forma segura.

    3. Nota: El feed solo devuelve datos a los que el usuario de la API key tiene permiso de acceso.

      Capturas de pantalla:

  2. Crear el Feed y copiar su ID

    1. En Axur Platform, vaya a API & Integrations → Feeds.

    2. Cree un nuevo feed según su caso de uso (por ejemplo, phishing, abuso de marca, filtraciones de credenciales), configurando los filtros deseados.

    3. Después de guardar, abra el feed recién creado. Copie solo el Feed ID de la URL y guárdelo para más tarde.

      Capturas de pantalla:

  3. (Opcional) Validar el feed a través de la API

    Use curl para confirmar que el feed devuelve datos usando su API Key y Feed ID:

    curl -sS \
    -H "Authorization: Bearer YOUR_AXUR_API_KEY" \
    -H "Accept: application/json" \
    "https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/YOUR_FEED_ID" | jq '.'

    1. En API & Integrations → Feeds, también puede monitorear el estado del feed a lo largo del tiempo (por ejemplo, la marca de tiempo de la última solicitud).

    2. Si no se devuelven eventos, verifique los filtros del feed y los permisos del usuario de la API key.

A partir de este punto (Paso 2+), toda la configuración se realiza en la consola de IBM QRadar.


2) Localizar Administración de Fuentes de Registro (diferencias de UI por versión)

Dependiendo de su versión de QRadar, la Administración de Fuentes de Registro puede aparecer en diferentes lugares.

En la consola de QRadar:

  1. Si ve una pestaña Log Source Management en la navegación superior, ábrala.

  2. De lo contrario, vaya a AdminLog Sources (vista clásica).

  3. Si no encuentra Log Source Management, instálela a través de AdminExtensions Management:

    1. Haga clic en Add e instale desde IBM App Exchange, o cargue el archivo de extensión.

    2. Instale/habilite la aplicación “Log Source Management”.

    3. Despliegue los cambios y espere a que la instalación se complete.

Capturas de pantalla:


3) Crear una Nueva Fuente de Registro

Cree una nueva fuente de registro utilizando el protocolo Universal Cloud REST API.

En la consola de QRadar:

  1. Vaya a la pestaña Log Source Management, o navegue a AdminLog Sources.

  2. Haga clic en + New Log Source para añadir una nueva fuente de registro.

  3. Cuando se le solicite, seleccione Single Log Source.

  4. En el campo “Log Source Type”, seleccione Universal DSM. Luego establezca el “Protocol Type” en Universal Cloud REST API.

  5. Establezca el “Log Source Name” en algo significativo (por ejemplo, Axur Platform Feed).

  6. En el campo “Log Source Identifier”, introduzca un nombre descriptivo (por ejemplo, Axur_Feed_Integration).

Capturas de pantalla:


4) Configurar el XML del Workflow

Configure el workflow que define cómo QRadar recopilará eventos del feed de Axur.
La Plataforma Axur proporciona tres tipos de feeds, cada uno con una estructura de datos diferente en la respuesta de la API:

  • Feed de Tickets: Devuelve datos en /collectionData/tickets - utilizado para feeds basados en tickets (phishing, abuso de marca, etc.)

  • Feed de Credenciales: Devuelve datos en /collectionData/detections - utilizado para feeds de detección de filtraciones de credenciales

  • Feed de IOCs: Devuelve datos en /collectionData/iocs - utilizado para feeds de Indicadores de Compromiso

Importante: Debe seleccionar el XML de workflow apropiado según su tipo de feed. La única diferencia entre los workflows es la ruta utilizada para acceder a los datos en la respuesta de la API.


En la configuración de la fuente de registro:

  1. En el campo "Workflow", pegue el XML que coincida con su tipo de feed:

Workflow para Feed de Tickets

Use este workflow cuando su feed devuelva datos de tickets (ruta: /collectionData/tickets):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow name="Axur_Feed_Tickets_OneCall" version="1.0" minimumRecurrence="60"
xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

<Parameters>
<Parameter name="base_url" label="Base URL" default="https://api.axur.com" />
<Parameter name="feed_id" label="Feed ID" required="true" />
<Parameter name="jwt_token" label="JWT Bearer Token" required="true" secret="true" />
<Parameter name="current_page" label="Page to Fetch" default="1" />
</Parameters>

<Actions>
<Set path="/axur/url" value="https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/${/feed_id}" />

<CallEndpoint url="${/axur/url}" method="GET" savePath="/axur/response">
<QueryParameter name="page" value="1" />
<RequestHeader name="Authorization" value="Bearer ${/jwt_token}" />
<RequestHeader name="Accept" value="application/json" />
</CallEndpoint>

<If condition="/axur/response/status_code = 429">
<SetStatus type="WARN" message="Rate limited (429). Try increasing the minimumRecurrence (>= 30s) or wait for Retry-After." />
<Abort reason="HTTP 429 from Axur API" />
</If>

<If condition="/axur/response/status_code != 200">
<Abort reason="${/axur/response/status_code}: ${/axur/response/status_message}" />
</If>

<If condition="${count(/axur/response/body/collectionData/tickets)} > 0">
<PostEvents path="/axur/response/body/collectionData/tickets" source="${/base_url}" />
<SetStatus type="INFO" message="Published ${count(/axur/response/body/collectionData/tickets)} events from page ${/current_page}." />
</If>

<Delete path="/axur/response" />
</Actions>

<Tests>
<DNSResolutionTest host="api.axur.com"/>
<SSLHandshakeTest host="api.axur.com"/>
</Tests>
</Workflow>

Workflow para Feed de Credenciales

Use este workflow cuando su feed devuelva datos de detección de credenciales (ruta: /collectionData/detections):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow name="Axur_Feed_Credentials_OneCall" version="1.0" minimumRecurrence="60"
xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

<Parameters>
<Parameter name="base_url" label="Base URL" default="https://api.axur.com" />
<Parameter name="feed_id" label="Feed ID" required="true" />
<Parameter name="jwt_token" label="JWT Bearer Token" required="true" secret="true" />
<Parameter name="current_page" label="Page to Fetch" default="1" />
</Parameters>

<Actions>
<Set path="/axur/url" value="https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/${/feed_id}" />

<CallEndpoint url="${/axur/url}" method="GET" savePath="/axur/response">
<QueryParameter name="page" value="1" />
<RequestHeader name="Authorization" value="Bearer ${/jwt_token}" />
<RequestHeader name="Accept" value="application/json" />
</CallEndpoint>

<If condition="/axur/response/status_code = 429">
<SetStatus type="WARN" message="Rate limited (429). Try increasing the minimumRecurrence (>= 30s) or wait for Retry-After." />
<Abort reason="HTTP 429 from Axur API" />
</If>

<If condition="/axur/response/status_code != 200">
<Abort reason="${/axur/response/status_code}: ${/axur/response/status_message}" />
</If>

<If condition="${count(/axur/response/body/collectionData/detections)} > 0">
<PostEvents path="/axur/response/body/collectionData/detections" source="${/base_url}" />
<SetStatus type="INFO" message="Published ${count(/axur/response/body/collectionData/detections)} events from page ${/current_page}." />
</If>

<Delete path="/axur/response" />
</Actions>

<Tests>
<DNSResolutionTest host="api.axur.com"/>
<SSLHandshakeTest host="api.axur.com"/>
</Tests>
</Workflow>

Workflow para Feed de IOCs

Use este workflow cuando su feed devuelva datos de IOCs (ruta: /collectionData/iocs):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow name="Axur_Feed_IOCs_OneCall" version="1.0" minimumRecurrence="60"
xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

<Parameters>
<Parameter name="base_url" label="Base URL" default="https://api.axur.com" />
<Parameter name="feed_id" label="Feed ID" required="true" />
<Parameter name="jwt_token" label="JWT Bearer Token" required="true" secret="true" />
<Parameter name="current_page" label="Page to Fetch" default="1" />
</Parameters>

<Actions>
<Set path="/axur/url" value="https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/${/feed_id}" />

<CallEndpoint url="${/axur/url}" method="GET" savePath="/axur/response">
<QueryParameter name="page" value="1" />
<RequestHeader name="Authorization" value="Bearer ${/jwt_token}" />
<RequestHeader name="Accept" value="application/json" />
</CallEndpoint>

<If condition="/axur/response/status_code = 429">
<SetStatus type="WARN" message="Rate limited (429). Try increasing the minimumRecurrence (>= 30s) or wait for Retry-After." />
<Abort reason="HTTP 429 from Axur API" />
</If>

<If condition="/axur/response/status_code != 200">
<Abort reason="${/axur/response/status_code}: ${/axur/response/status_message}" />
</If>

<If condition="${count(/axur/response/body/collectionData/iocs)} > 0">
<PostEvents path="/axur/response/body/collectionData/iocs" source="${/base_url}" />
<SetStatus type="INFO" message="Published ${count(/axur/response/body/collectionData/iocs)} events from page ${/current_page}." />
</If>

<Delete path="/axur/response" />
</Actions>

<Tests>
<DNSResolutionTest host="api.axur.com"/>
<SSLHandshakeTest host="api.axur.com"/>
</Tests>
</Workflow>

5) Configurar Parámetros del Workflow

Establezca los parámetros requeridos para que el workflow se conecte a la Axur API.

En el campo “Workflow Parameter Values”, pegue el siguiente XML y reemplace los valores de marcador de posición:

<?xml version="1.0" encoding="UTF-8"?>
<WorkflowParameterValues xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/WorkflowParameterValues/V2">
<Value name="feed_id" value="YOUR_AXUR_FEED_ID"/>
<Value name="jwt_token" value="YOUR_AXUR_API_KEY"/>
</WorkflowParameterValues>

Importante: Reemplace los siguientes valores: - YOUR_AXUR_FEED_ID: El Feed ID que copió de Axur Platform - YOUR_AXUR_API_KEY: Su API Key de Axur

Capturas de pantalla:


6) Configurar Ajustes Adicionales

Configure opciones adicionales para la fuente de registro.

  1. Use Proxy: Si su red requiere un proxy para acceder a APIs externas, habilítelo y proporcione los detalles del proxy.

  2. Recurrence: Establezca la frecuencia para la recopilación de datos (predeterminado: 10 minutos). Para el feed de Axur, recomendamos comenzar con 5 minutos.

7) Guardar y Desplegar Cambios

Complete la configuración y despliegue los cambios para que la fuente de registro se active.

  1. Revise todos los ajustes para asegurarse de que sean correctos.

  2. Haga clic en Finish para guardar la configuración de la fuente de registro.

  3. Vaya a la pestaña/página Admin y haga clic en Deploy Changes para aplicar la configuración en todo QRadar. Dependiendo de la versión, el botón puede aparecer en la parte superior derecha o como una acción de banner.

  4. Espere a que se complete el despliegue. La fuente de registro se mostrará como “Active” solo después del despliegue.

  5. Después del despliegue, espere unos minutos para que comience la recopilación inicial de datos.

Capturas de pantalla:


Validación

Después de configurar la fuente de registro, espere de 10 a 15 minutos para que el primer ciclo de recopilación de datos se complete, luego verifique que la integración funcione correctamente.

Comprobar Actividad de Registro

  1. Navegue a Log Activity en la consola de QRadar.

  2. Busque eventos de su fuente de registro utilizando el nombre o identificador de la fuente de registro.

  3. Busque eventos con origen “https://api.axur.com” o su identificador de fuente de registro.

Verificar Estructura de Eventos

Verifique que los eventos contengan los campos esperados del feed de Axur: - ticket_reference - ticket_key - customer_key - detection_type - status - assets - attachments

Monitorizar el Estado de la Fuente de Registro

  1. Vaya a AdminLog Sources.

  2. Encuentre su fuente de registro de Axur y verifique su estado.

  3. Busque cualquier mensaje de error o advertencia en los detalles de la fuente de registro.

Capturas de pantalla:


Solución de Problemas

Problemas Comunes y Soluciones

No aparecen eventos en Log Activity: - Verifique que el Feed ID y la API Key sean correctos - Compruebe si la fuente de registro está habilitada y activa - Asegúrese de que el intervalo de recurrencia no sea demasiado largo - Revise los logs de QRadar en busca de mensajes de error

Errores HTTP 401/403: - Verifique que la API Key sea válida y tenga los permisos adecuados - Compruebe si la API Key ha caducado - Asegúrese de que el Feed ID exista y sea accesible

Errores HTTP 429 (Limitación de Velocidad): - Aumente el valor de minimumRecurrence en el workflow (por ejemplo, de 60 a 120 segundos) - Reduzca la frecuencia de las llamadas a la API aumentando el intervalo de recurrencia

Tiempos de espera de conexión (Connection timeouts): - Verifique la conectividad de red a api.axur.com - Verifique la configuración del proxy si utiliza uno - Aumente los valores de tiempo de espera en la configuración de la fuente de registro

Errores SSL/TLS: - Habilite “Allow Untrusted Certificates” si es necesario - Compruebe si su instancia de QRadar puede resolver api.axur.com - Verifique que las pruebas de SSL handshake pasen

Pasos de Depuración

  1. Comprobar los Logs de la Fuente de Registro:

    1. Vaya a Admin → Log Sources

    2. Haga clic en su fuente de registro de Axur

    3. Revise la información de “Last Error” y “Status”

  2. Probar Conectividad:

    1. Utilice las pruebas de conectividad integradas en la configuración de la fuente de registro

    2. Compruebe la resolución de DNS y las pruebas de SSL handshake

  3. Verificar el Acceso a la API:

    1. Pruebe la API directamente utilizando curl o herramientas similares

    2. Asegúrese de que la API Key funcione con el Feed ID específico

  4. Comprobar los Logs del Sistema QRadar:

    1. Revise los logs del sistema QRadar en busca de mensajes de error relacionados

    2. Busque errores específicos del Universal Cloud REST API

Capturas de pantalla:


Configuración Avanzada

Mapeo de Eventos Personalizado

Puede personalizar cómo se mapean los eventos en QRadar modificando el XML del workflow. El workflow actual publica los eventos tal cual desde la Axur API, pero puede añadir transformaciones si es necesario.

Múltiples Feeds

Para integrar múltiples feeds de Axur, cree fuentes de registro separadas para cada feed con diferentes Feed IDs y configuraciones.

Filtrado y Parsing

Considere añadir reglas de parsing en QRadar para extraer campos específicos de los eventos de Axur para un mejor análisis y correlación.


Glosario

  • QRadar Console: La interfaz administrativa basada en web para IBM QRadar

  • Log Source Management: Aplicación de QRadar que gestiona fuentes de datos externas

  • Universal Cloud REST API: Protocolo de QRadar para la integración con APIs basadas en la nube

  • Workflow: Configuración XML que define cómo QRadar recopila y procesa datos de fuentes externas

  • Log Source: Una fuente de datos configurada en QRadar que recopila logs de sistemas externos

  • Log Activity: Interfaz de QRadar para ver y buscar eventos de log recopilados

  • Recurrence: La frecuencia con la que QRadar consulta fuentes de datos externas para obtener nuevos datos

  • JWT Bearer Token: Método de autenticación utilizado por la Axur API

  • Feed ID: Identificador único para un feed de datos específico en Axur Platform

  • Rate Limiting: Mecanismo de protección de la API que limita el número de solicitudes por período de tiempo

  • SSL Handshake: Proceso de establecer una conexión segura entre QRadar y APIs externas

  • DNS Resolution: Proceso de convertir nombres de dominio en direcciones IP

  • Proxy: Intermediario de red que reenvía solicitudes entre QRadar y APIs externas


Si tienes cualquier duda, puedes contactarnos en [email protected] 😊

¿Ha quedado contestada tu pregunta?