Enviar un billete Mis entradas
Bienvenido
Inicio de sesión  Inscríbete

PowerDMARC y Splunk: guía de integración

Con la integración de PowerDMARC en Splunk, puede incorporar y supervisar sin problemas sus datos de autenticación de correo electrónico y seguridad de dominio directamente en su entorno Splunk. Al aprovechar la API de PowerDMARC, las organizaciones pueden crear una integración SIEM optimizada sin configuraciones complejas: simplemente conectarse, ejecutar y obtener una visibilidad centralizada de su postura de seguridad del correo electrónico en todos los dominios.

La guía se centra intencionadamente en la configuración y la ingestión. Los paneles de Splunk y las visualizaciones avanzadas quedan fuera del alcance de este documento.

Documentación de la API

  • Documentación de Swagger: https://app.powerdmarc.com/swagger-ui/index.html

  • Documentación alternativa: https://api.powerdmarc.com/

Nota: Las convenciones de nomenclatura no se limitan a las mencionadas en esta documentación.


Descripción general de la arquitectura

En este ejemplo, utilizamos el punto final del registro de auditoría con fines de prueba e ilustración.

PowerDMARC API

    ↓

Script de Python (programado mediante cron/Programador de tareas)

    ↓

Recopilador de eventos HTTP (HEC) de Splunk

    ↓

Splunk (Búsqueda, Paneles, Alertas, Correlación)

Splunk recibe datos a través de su punto final HTTP Event Collector (HEC), que permite la ingesta segura de datos desde fuentes externas.


Requisitos previos

Antes de comenzar, asegúrese de tener:

  • Splunk Enterprise o Splunk Cloud con acceso administrativo

  • Permiso para:

    • Crear tokens de HTTP Event Collector (HEC)

    • Crear índices

    • Configurar entradas de datos

  • Python 3.7+ instalado en el sistema que ejecuta el script de integración

  • Token de portador de la API de PowerDMARC con permiso para acceder a los registros de auditoría

  • Conectividad de red desde el entorno de ejecución del script a:

    • API de PowerDMARC (https://app.powerdmarc.com)

    • Punto final Splunk HEC


Configuración de Splunk

Paso 1: Crear un índice dedicado

  1. Vaya a Configuración → Índices

  2. Haga clic en Nuevo índice

  3. Configurar:

    • Nombre del índice: powerdmarc

    • Tipo de datos del índice: Eventos

    • Aplicación: search (o tu aplicación preferida)

    • Deje los demás ajustes como están por defecto o modifíquelos según los requisitos de retención.

  4. Haga clic en Guardar

Paso 2: Habilitar el recopilador de eventos HTTP (HEC)

  1. Navega a Configuración → Entradas de datos

  2. Haga clic en Recopilador de eventos HTTP

  3. Haga clic en Configuración global

  4. Configurar:

    • Todos los tokens: Habilitado

    • Habilitar SSL: Habilitado (recomendado)

    • Número de puerto HTTP: 8088 (predeterminado)

  5. Haga clic en Guardar

Paso 3: Crear token HEC

  1. Todavía en Configuración → Entradas de datos → Recopilador de eventos HTTP

  2. Haga clic en Nuevo token

  3. Configurar los ajustes del token:

    • Nombre: PowerDMARC_Integration

    • Anulación del nombre de la fuente: powerdmarc:api

    • Descripción: Token para la ingestión del registro de auditoría de PowerDMARC

  4. Haga clic Siguiente

  5. Configuración de entrada:

    • Tipo de fuente: Seleccionar Automático

    • Índice: Seleccionar powerdmarc (o los índices disponibles, incluyendo powerdmarc).

    • Índice predeterminado: powerdmarc

  6. Haga clic en Revisar

  7. Haga clic Enviar

  8. Importante: Copie y guarde el valor del token inmediatamente (no podrá recuperarlo más tarde).


Configuración del script de integración

Paso 4: Preparar el entorno Python

Opción A: Instalación en línea (recomendada)

Instala las bibliotecas Python necesarias desde PyPI (requiere conexión a Internet):

pip instalar solicitudes

O utilice el archivo requirements.txt :

pip instalar -r requisitos.txt

Opción B: Instalación sin conexión

Para entornos sin acceso a Internet, utilice el archivo requirements.txt .

Descargar paquetes en un equipo con acceso a Internet:

pip descargar -r requisitos.txt -d ./packages

Transfiere los paquetes al sistema de destino y, a continuación, instálelos:

pip instalar --no-index --find-links=./packages -r requirements.txt

Verificar la instalación:

python3 -c "import requests; print(f'requests version: {requests.__version__}')"

Resultado esperado: solicitudes versión: 2.31.0 (o similar)

Paso 5: Crear el script de integración

Crear powerdmarc_to_splunk.py y pegue el código de powerdmarc_to_splunk.txt pro

Paso 6: Configurar el script

Edita el archivo powerdmarc_to_splunk.py y actualiza:

  1. POWERDMARC_API_TOKEN: Tu token de portador de la API de PowerDMARC

  2. SPLUNK_HEC_URL: Su punto final Splunk HEC

    • Formato: https://your-splunk-instance:8088/services/collector/event

    • For Splunk Cloud: https://input-<your-instance>.cloud.splunk.com:8088/services/collector/event

  3. SPLUNK_HEC_TOKEN: El token HEC creado en el paso 3.

  4. SPLUNK_ÍNDICE: powerdmarc (o el nombre del índice que haya elegido)

  5. DAYS_TO_FETCH: Número de días de datos históricos que se deben recuperar (valor predeterminado: 1).

Paso 7: Prueba el script

Ejecute el script manualmente para verificar la conectividad y la ingesta de datos:

Python 3 powerdmarc_to_splunk.py

Resultado esperado:

============================================================

Integración de PowerDMARC con Splunk

============================================================


Obtención los registros de PowerDMARC desde el 3 de enero de 2025 a las 00:00:00 hasta el 4 de enero de 2025 a las 00:00:00...

Se han recuperado correctamente 15 entradas del registro de auditoría.

Enviando 15 eventos a Splunk...


Resumen de ingestión:

  Enviado correctamente: 15

  Fallidos: 0

  Total: 15


============================================================

Integración completada con éxito

============================================================


Programar ejecución automatizada

Para Linux/Unix (cron)

  1. Editar crontab:

crontab -e


  1. Añadir entrada para ejecutar cada hora:

0 * * * * /usr/bin/python3 /path/to/powerdmarc_to_splunk.py >> /var/log/powerdmarc_splunk.log 2>&1


  1. O ejecutar cada 15 minutos:

*/15 * * * * /usr/bin/python3 /path/to/powerdmarc_to_splunk.py >> /var/log/powerdmarc_splunk.log 2>&1

Para Windows (Programador de tareas)

  1. Abrir Programador de tareas

  2. Haga clic en Crear tarea

  3. Configurar:

    • Nombre: Integración de PowerDMARC con Splunk

    • Descripción: Ingestión programada de registros de auditoría de PowerDMARC

    • Opciones de seguridad: Ejecutar independientemente de si el usuario ha iniciado sesión o no.

  4. Pestaña Desencadenantes: Haga clic en Nuevo

    • Comience: Según lo programado

    • Configuración: Diariamente, repetir cada hora.

  5. Pestaña Acciones: Haga clic en Nuevo

    • Acción: Iniciar un programa

    • Programa: python.exe

    • Argumentos: C:\ruta\a\powerdmarc_to_splunk.py

  6. Haga clic en Aceptar


Validar la ingesta de datos en Splunk

Paso 8: Verificar los datos en Splunk

  1. Navegar a Búsqueda e informes aplicación

  2. Ejecute la siguiente consulta SPL:

índice=powerdmarc tipo de fuente=powerdmarc:registro de auditoría

| ordenar - _tiempo

| cabeza 20

| tabla _hora, nombre_usuario, acción, dirección_ip, created_at

Resultados esperados

Debería ver entradas en el registro de auditoría con campos como:

  • nombre_de_usuario: Usuarioque realizó la acción.

  • acción: Descripción de la acción realizada.

  • ip_address: Dirección IP del usuario

  • created_at: Marca de tiempo del evento de auditoría

Estructura del evento de muestra

{

  «nombre_de_usuario»: «John Doe»,

  «acción»: «Dominios adjuntos actualizados»,

  «dirección_ip»: «12.111.67.123»,

  «a_username»: nulo,

  «otros»: nulo,

  «created_at»: «2025-01-04 14:29:24»

}


Solución de problemas

Problemas comunes

Problema: No aparecen datos en Splunk.

  • Verifique que el token HEC sea correcto y esté habilitado.

  • Comprueba que se puede acceder a la URL del punto final HEC.

  • Verificar índice powerdmarc existe y es accesible

  • Comprueba que las reglas del firewall permiten el tráfico HTTPS saliente hacia Splunk.

  • Revisar los registros de ejecución de scripts en busca de errores.

Problema: Errores en el certificado SSL

  • Para certificados autofirmados, establezca verify=False en el script (no recomendado para producción).

  • O instale los certificados SSL adecuados en Splunk.

Problema: Fallos en la autenticación de la API de PowerDMARC

  • Verifica que el token API sea válido y tenga los permisos correctos.

  • Comprueba que el token no haya caducado.

  • Confirma que la URL del punto final de la API sea correcta.

Problema: El script se ejecuta, pero no se obtienen registros.

  • Verifique los parámetros del intervalo de tiempo.

  • Comprueba si existen registros de auditoría para el período especificado.

  • Revise la documentación de la API de PowerDMARC para conocer el formato de los parámetros.


Próximos pasos

En este punto:

  • Los registros de auditoría de PowerDMARC se ingestan correctamente en Splunk.

  • Ahora puedes:

    • Cree paneles personalizados para la visualización.

    • Configurar alertas para eventos de auditoría específicos

    • Correlacionar los datos de PowerDMARC con otros registros de seguridad.

    • Crear informes para el cumplimiento normativo y la supervisión de la seguridad.

    • Utilice las capacidades analíticas de Splunk para la detección de amenazas.

Mejoras recomendadas

  1. Añadir puntos finales API adicionales: Amplíe el script para obtener informes agregados DMARC, informes forenses o datos de dominio.

  2. Implementar la lógica de punto de control: Almacene la marca de tiempo de la última ejecución correcta para evitar la ingesta duplicada.

  3. Añadir registro: Implementar un registro adecuado con rotación para entornos de producción.

  4. Notificaciones de error: Configure notificaciones por correo electrónico o Slack en caso de fallos en los scripts.

  5. Implementar como complemento de Splunk: Empaquete la integración como un complemento tecnológico (TA) de Splunk para facilitar la implementación.


Consideraciones de seguridad

  • Almacene las credenciales de forma segura: Utilice variables de entorno o archivos de configuración cifrados.

  • Habilitar la verificación SSL: Utilizar siempre verify=True para entornos de producción.

  • Rote los tokens API con regularidad: Siga las prácticas recomendadas de seguridad para la gestión de credenciales.

  • Restringir los permisos de los tokens HEC: Limitar a índices y tipos de fuentes específicos.

  • Supervisar la ejecución de scripts: Configurar alertas para ejecuciones fallidas o anomalías.

  • Revisar los controles de acceso de Splunk: Asegúrese de que solo los usuarios autorizados puedan acceder a los datos de PowerDMARC.


Asistencia y recursos

  • Documentación de la API de PowerDMARC: https://api.powerdmarc.com/

  • Documentación de Splunk HEC: https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector

Respuestas de Splunk: https://community.splunk.com/

A
Ayan es el autor de este artículo sobre soluciones.

¿Le ha resultado útil? No

Enviar comentarios
Sentimos no haber podido ser de ayuda. Ayúdanos a mejorar este artículo con tus comentarios.