Благодаря интеграции PowerDMARC с Splunk вы можете легко импортировать и отслеживать данные об аутентификации электронной почты и безопасности домена непосредственно в среде Splunk. Используя API PowerDMARC, организации могут создать оптимизированную интеграцию SIEM без сложных настроек — просто подключитесь, запустите и получите централизованный обзор состояния безопасности электронной почты во всех доменах.
В данном руководстве уделяется особое внимание настройке и приему данных. Панели мониторинга Splunk и расширенные визуализации не входят в сферу применения данного документа.
Документация API
Документация Swagger: https://app.powerdmarc.com/swagger-ui/index.html
Альтернативная документация: https://api.powerdmarc.com/
Примечание: Правила именования не ограничиваются теми, которые упомянуты в данной документации.
Обзор архитектуры
В этом примере мы используем конечную точку журнала аудита для тестирования и иллюстрации.
PowerDMARC API
↓
Скрипт Python (запланирован через cron/планировщик заданий)
↓
Сборщик событий HTTP Splunk (HEC)
↓
Splunk (поиск, информационные панели, оповещения, корреляция)
Splunk получает данные через конечную точку HTTP Event Collector (HEC), которая обеспечивает безопасный прием данных из внешних источников.
Предпосылки
Перед началом работы убедитесь, что у вас есть:
Splunk Enterprise или Splunk Cloud с административным доступом
Разрешение на:
Создание токенов HTTP Event Collector (HEC)
Создать индексы
Настройка ввода данных
Python 3.7+ установлен в системе, на которой запущен скрипт интеграции
Токен Bearer API PowerDMARC с разрешением на доступ к журналам аудита
Сетевое подключение из среды выполнения скрипта к:
API PowerDMARC (https://app.powerdmarc.com)
Конечная точка Splunk HEC
Конфигурация Splunk
Шаг 1: Создайте специальный индекс
Перейдите в Настройки → Индексы
Нажмите Новый индекс
Настройка:
Название индекса: powerdmarc
Тип данных индекса: События
Приложение: поиск (или ваше предпочтительное приложение)
Оставьте другие настройки по умолчанию или настройте их в соответствии с требованиями к хранению данных.
Нажмите Сохранить
Шаг 2. Включение HTTP Event Collector (HEC)
Перейдите в Настройки → Ввод данных
Нажмите Сборщик событий HTTP
Нажмите Глобальные настройки
Настройка:
Все токены: Включено
Включить SSL: Включено (рекомендуется)
Номер порта HTTP: 8088 (по умолчанию)
Нажмите Сохранить
Шаг 3: Создание токена HEC
Все еще в Настройки → Ввод данных → HTTP-сборщик событий
Нажмите Новый токен
Настройте параметры токена:
Имя: PowerDMARC_Integration
Переопределение имени источника: powerdmarc:api
Описание: Токен для приема журнала аудита PowerDMARC
Нажмите Далее
Настройки ввода:
Тип источника: Выбрать Автоматический
Индекс: Выбрать powerdmarc (или доступные индексы, включая powerdmarc)
Индекс по умолчанию: powerdmarc
Нажмите Обзор
Нажмите Отправить
Важно: Сразу скопируйте и сохраните значение токена (позже его не удастся восстановить).
Настройка скрипта интеграции
Шаг 4: Подготовка среды Python
Вариант A: Онлайн-установка (рекомендуется)
Установите необходимые библиотеки Python из PyPI (требуется подключение к Интернету):
pip установить запросы
Или используйте прилагаемый файл файл requirements.txt :
pip install -r requirements.txt
Вариант B: Автономная установка
Для сред без доступа к Интернету используйте прилагаемый файл requirements.txt .
Загрузите пакеты на компьютер с доступом в Интернет:
pip загрузить -r requirements.txt -d ./packages
Перенести пакеты в целевую систему, затем установите:
pip install --no-index --find-links=./packages -r requirements.txt
Проверка установки:
python3 -c "import requests; print(f'requests version: {requests.__version__}')"
Ожидаемый результат: версия запросов: 2.31.0 (или аналогичная)
Шаг 5: Создание скрипта интеграции
Создать powerdmarc_to_splunk.py и вставьте код из файла powerdmarc_to_splunk.txt pro
Шаг 6: Настройте скрипт
Отредактируйте файл файл powerdmarc_to_splunk.py и обновите:
POWERDMARC_API_TOKEN: Ваш токен-носитель API PowerDMARC
SPLUNK_HEC_URL: Ваша конечная точка Splunk HEC
Формат: https://your-splunk-instance:8088/services/collector/event
For Splunk Cloud: https://input-<your-instance>.cloud.splunk.com:8088/services/collector/event
SPLUNK_HEC_TOKEN: Токен HEC, созданный на этапе 3.
SPLUNK_INDEX: powerdmarc (или выбранное вами имя индекса)
DAYS_TO_FETCH: Количество дней исторических данных для извлечения (по умолчанию: 1)
Шаг 7: Протестируйте скрипт
Запустите скрипт вручную, чтобы проверить подключение и прием данных:
python3 powerdmarc_to_splunk.py
Ожидаемый результат:
============================================================
Интеграция PowerDMARC с Splunk
============================================================
Извлечение Журналы PowerDMARC с 00:00:00 03.01.2025 по 00:00:00 04.01.2025...
Успешно получено 15 записей журнала аудита
Отправка 15 событий в Splunk...
Резюме по проглатыванию:
Успешно отправлено: 15
Неудачные: 0
Всего: 15
============================================================
Интеграция завершена успешно
============================================================
Расписание автоматического выполнения
Для Linux/Unix (cron)
Редактируйте crontab:
crontab -e
Добавить запись для запуска каждый час:
0 * * * * /usr/bin/python3 /path/to/powerdmarc_to_splunk.py >> /var/log/powerdmarc_splunk.log 2>&1
Или запускать каждые 15 минут:
*/15 * * * * /usr/bin/python3 /path/to/powerdmarc_to_splunk.py >> /var/log/powerdmarc_splunk.log 2>&1
Для Windows (Планировщик заданий)
Открыть планировщик задач
Нажмите Создать задачу
Настройка:
Название: Интеграция PowerDMARC с Splunk
Описание: Запланированное поглощение журналов аудита PowerDMARC
Параметры безопасности: Запускать независимо от того, вошел ли пользователь в систему
Вкладка «Триггеры»: Нажмите «Новый»
Начало: По расписанию
Настройки: Ежедневно, повторять каждый час
Вкладка «Действия»: Нажмите «Новый»
Действие: Запустить программу
Программа: python.exe
Аргументы: C:\path\to\powerdmarc_to_splunk.py
Нажмите ОК
Проверка ввода данных в Splunk
Шаг 8: Проверка данных в Splunk
Перейти к Поиск и отчетность приложение
Запустите следующий запрос SPL:
index=powerdmarc тип источника=powerdmarc:auditlog
| сортировка - _время
| глава 20
| таблица _time, user_name, action, ip_address, created_at
Ожидаемые результаты
Вы должны увидеть записи журнала аудита с такими полями, как:
user_name: Пользователь, выполнивший действие
действие: Описание выполненного действия
ip_address: IP-адрес пользователя
created_at: Временная метка события аудита
Пример структуры мероприятия
{
«user_name»: «John Doe»,
«действие»: «Обновлены присоединенные домены»,
«ip_address»: «12.111.67.123»,
«a_username»: null,
«другое»: null,
«created_at»: «2025-01-04 14:29:24»
}
Устранение неполадок
Общие проблемы
Проблема: В Splunk не отображаются данные
Убедитесь, что токен HEC правильный и включен
Проверьте доступность URL-адреса конечной точки HEC
Проверить индекс powerdmarc существует и доступен
Проверьте, что правила брандмауэра разрешают исходящий HTTPS-трафик в Splunk.
Просмотрите журналы выполнения скриптов на наличие ошибок.
Проблема: Ошибки SSL-сертификата
Для самоподписанных сертификатов установите verify=False в скрипте (не рекомендуется для производственной среды).
Или установите соответствующие SSL-сертификаты на Splunk.
Проблема: Сбои аутентификации API PowerDMARC
Проверьте, что токен API действителен и имеет правильные разрешения.
Проверить, что токен не истек
Убедитесь, что URL-адрес конечной точки API правильный.
Проблема: Скрипт запускается, но журналы не загружаются
Проверьте параметры временного диапазона
Проверить наличие журналов аудита за указанный период
Ознакомьтесь с документацией по API PowerDMARC для ознакомления с форматом параметров.
Следующие шаги
На данный момент:
Журналы аудита PowerDMARC успешно импортированы в Splunk
Теперь вы можете:
Создание настраиваемых панелей инструментов для визуализации
Настройка оповещений о конкретных событиях аудита
Сопоставьте данные PowerDMARC с другими журналами безопасности
Создание отчетов для контроля соответствия и безопасности
Используйте аналитические возможности Splunk для обнаружения угроз
Рекомендуемые усовершенствования
Добавление дополнительных конечных точек API: Расширьте скрипт для получения сводных отчетов DMARC, отчетов о расследованиях или данных о доменах.
Реализация логики контрольной точки: Сохраняйте временную метку последнего успешного запуска, чтобы избежать дублирования данных.
Добавление ведения журнала: Реализуйте надлежащее ведение журналов с ротацией для производственных сред.
Уведомления об ошибках: Настройте уведомления по электронной почте или в Slack о сбоях в работе скриптов.
Развертывание в качестве дополнения Splunk: Скомпилируйте интеграцию в виде Splunk TA (технологического дополнения) для упрощения развертывания.
Соображения безопасности
Безопасное хранение учетных данных: Используйте переменные среды или зашифрованные файлы конфигурации.
Включить проверку SSL: Всегда использовать verify=True для производственных сред.
Регулярно меняйте токены API: Следуйте лучшим практикам безопасности для управления учетными данными
Ограничить разрешения токена HEC: Ограничить определенными индексами и типами источников
Мониторинг выполнения скриптов: Настройка оповещений о сбоях в выполнении или аномалиях
Проверьте средства контроля доступа Splunk: Убедитесь, что только авторизованные пользователи могут получить доступ к данным PowerDMARC.
Поддержка и ресурсы
Документация по API PowerDMARC: https://api.powerdmarc.com/
Документация Splunk HEC: https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector
Ответы Splunk: https://community.splunk.com/