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 Admin → Log 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 Admin → Extensions 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 aAdmin→Log SourcesAcceso a
Admin→Extensions 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.
Generar una API Key
En Axur Platform, vaya a API Keys configuration.
Cree una nueva API key y copie el valor de la API Key de forma segura.
Nota: El feed solo devuelve datos a los que el usuario de la API key tiene permiso de acceso.
Capturas de pantalla:
Crear el Feed y copiar su ID
En Axur Platform, vaya a API & Integrations → Feeds.
Cree un nuevo feed según su caso de uso (por ejemplo, phishing, abuso de marca, filtraciones de credenciales), configurando los filtros deseados.
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:
(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 '.'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).
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:
Si ve una pestaña
Log Source Managementen la navegación superior, ábrala.De lo contrario, vaya a
Admin→Log Sources(vista clásica).Si no encuentra
Log Source Management, instálela a través deAdmin→Extensions Management:Haga clic en
Adde instale desde IBM App Exchange, o cargue el archivo de extensión.Instale/habilite la aplicación “Log Source Management”.
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:
Vaya a la pestaña
Log Source Management, o navegue aAdmin→Log Sources.Haga clic en
+ New Log Sourcepara añadir una nueva fuente de registro.Cuando se le solicite, seleccione
Single Log Source.En el campo “Log Source Type”, seleccione
Universal DSM. Luego establezca el “Protocol Type” enUniversal Cloud REST API.Establezca el “Log Source Name” en algo significativo (por ejemplo,
Axur Platform Feed).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 credencialesFeed 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:
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.
Use Proxy: Si su red requiere un proxy para acceder a APIs externas, habilítelo y proporcione los detalles del proxy.
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.
Revise todos los ajustes para asegurarse de que sean correctos.
Haga clic en
Finishpara guardar la configuración de la fuente de registro.Vaya a la pestaña/página
Adminy haga clic enDeploy Changespara 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.Espere a que se complete el despliegue. La fuente de registro se mostrará como “Active” solo después del despliegue.
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
Navegue a
Log Activityen la consola de QRadar.Busque eventos de su fuente de registro utilizando el nombre o identificador de la fuente de registro.
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
Vaya a
Admin→Log Sources.Encuentre su fuente de registro de Axur y verifique su estado.
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
Comprobar los Logs de la Fuente de Registro:
Vaya a Admin → Log Sources
Haga clic en su fuente de registro de Axur
Revise la información de “Last Error” y “Status”
Probar Conectividad:
Utilice las pruebas de conectividad integradas en la configuración de la fuente de registro
Compruebe la resolución de DNS y las pruebas de SSL handshake
Verificar el Acceso a la API:
Pruebe la API directamente utilizando curl o herramientas similares
Asegúrese de que la API Key funcione con el Feed ID específico
Comprobar los Logs del Sistema QRadar:
Revise los logs del sistema QRadar en busca de mensajes de error relacionados
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] 😊












