Отправить билет Мои билеты
Добро пожаловать
Вход в систему  Зарегистрироваться

PowerDMARC и Splunk — руководство по интеграции

Благодаря интеграции 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: Создайте специальный индекс

  1. Перейдите в Настройки → Индексы

  2. Нажмите Новый индекс

  3. Настройка:

    • Название индекса: powerdmarc

    • Тип данных индекса: События

    • Приложение: поиск (или ваше предпочтительное приложение)

    • Оставьте другие настройки по умолчанию или настройте их в соответствии с требованиями к хранению данных.

  4. Нажмите Сохранить

Шаг 2. Включение HTTP Event Collector (HEC)

  1. Перейдите в Настройки → Ввод данных

  2. Нажмите Сборщик событий HTTP

  3. Нажмите Глобальные настройки

  4. Настройка:

    • Все токены: Включено

    • Включить SSL: Включено (рекомендуется)

    • Номер порта HTTP: 8088 (по умолчанию)

  5. Нажмите Сохранить

Шаг 3: Создание токена HEC

  1. Все еще в Настройки → Ввод данных → HTTP-сборщик событий

  2. Нажмите Новый токен

  3. Настройте параметры токена:

    • Имя: PowerDMARC_Integration

    • Переопределение имени источника: powerdmarc:api

    • Описание: Токен для приема журнала аудита PowerDMARC

  4. Нажмите Далее

  5. Настройки ввода:

    • Тип источника: Выбрать Автоматический

    • Индекс: Выбрать powerdmarc (или доступные индексы, включая powerdmarc)

    • Индекс по умолчанию: powerdmarc

  6. Нажмите Обзор

  7. Нажмите Отправить

  8. Важно: Сразу скопируйте и сохраните значение токена (позже его не удастся восстановить).


Настройка скрипта интеграции

Шаг 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 и обновите:

  1. POWERDMARC_API_TOKEN: Ваш токен-носитель API PowerDMARC

  2. 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

  3. SPLUNK_HEC_TOKEN: Токен HEC, созданный на этапе 3.

  4. SPLUNK_INDEX: powerdmarc (или выбранное вами имя индекса)

  5. 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)

  1. Редактируйте crontab:

crontab -e


  1. Добавить запись для запуска каждый час:

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


  1. Или запускать каждые 15 минут:

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

Для Windows (Планировщик заданий)

  1. Открыть планировщик задач

  2. Нажмите Создать задачу

  3. Настройка:

    • Название: Интеграция PowerDMARC с Splunk

    • Описание: Запланированное поглощение журналов аудита PowerDMARC

    • Параметры безопасности: Запускать независимо от того, вошел ли пользователь в систему

  4. Вкладка «Триггеры»: Нажмите «Новый»

    • Начало: По расписанию

    • Настройки: Ежедневно, повторять каждый час

  5. Вкладка «Действия»: Нажмите «Новый»

    • Действие: Запустить программу

    • Программа: python.exe

    • Аргументы: C:\path\to\powerdmarc_to_splunk.py

  6. Нажмите ОК


Проверка ввода данных в Splunk

Шаг 8: Проверка данных в Splunk

  1. Перейти к Поиск и отчетность приложение

  2. Запустите следующий запрос 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 для обнаружения угроз

Рекомендуемые усовершенствования

  1. Добавление дополнительных конечных точек API: Расширьте скрипт для получения сводных отчетов DMARC, отчетов о расследованиях или данных о доменах.

  2. Реализация логики контрольной точки: Сохраняйте временную метку последнего успешного запуска, чтобы избежать дублирования данных.

  3. Добавление ведения журнала: Реализуйте надлежащее ведение журналов с ротацией для производственных сред.

  4. Уведомления об ошибках: Настройте уведомления по электронной почте или в Slack о сбоях в работе скриптов.

  5. Развертывание в качестве дополнения 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/

A
Айан является автором этой статьи о решении.

Нашли ли вы его полезным? Да Нет

Отправить отзыв
Извините, мы не смогли быть полезными. Помогите нам улучшить эту статью с помощью ваших отзывов.