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

PowerDMARC и Elastic — руководство по внедрению

Руководство по внедрению PowerDMARC Elastic SIEM

Введение

Благодаря интеграции PowerDMARC с Elastic SIEM вы можете легко импортировать и отслеживать данные аутентификации электронной почты и аудита безопасности домена непосредственно в среде Elastic Stack. Используя API PowerDMARC и встроенный вход httpjson Elastic Agent, организации могут создать оптимизированную интеграцию SIEM без внешних скриптов или сложных настроек — просто настройте через веб-интерфейс Kibana, разверните и получите централизованный обзор состояния безопасности электронной почты во всех доменах.


В этом руководстве описана полная настройка: от установки Elastic Agent до настройки интеграции API, создания конвейеров поглощения для сопоставления полей и обогащения данных, а также создания панели мониторинга — все это выполняется через веб-интерфейс Kibana и консоль Dev Tools.


Документация API: https://app.powerdmarc.com/swagger-ui/index.html

Альтернативная документация: https://api.powerdmarc.com/


Обзор архитектуры

В этом примере мы используем конечную точку журнала аудита для тестирования и иллюстрации.


REST API PowerDMARC

        ↓

Elastic Agent (вход httpjson) — устанавливается на ваш хост

        ↓

Конвейер поглощения Elasticsearch (сопоставление ECS, GeoIP, дедупликация)

        ↓

Поток данных Elasticsearch (logs-powerdmarc.audit-*)

        ↓

Kibana (Discover, панели мониторинга, оповещения, правила обнаружения)


Elastic Agent работает на вашем хост-компьютере (Windows, Linux или macOS) и опрашивает API PowerDMARC с настраиваемым интервалом. Каждый ответ разделяется на отдельные события журнала аудита, обрабатывается через конвейер поглощения для нормализации и обогащения полей и хранится в потоке данных Elasticsearch. Kibana обеспечивает визуализацию и оповещения.

Предпосылки

Перед началом работы убедитесь, что у вас есть:


  • Развертывание Elastic Stack 8.x (Elastic Cloud или самостоятельное управление) с доступом к Kibana

  • Флот включен в вашем развертывании Elastic

  • Разрешение на создание конвейеров поступления данных, политик агентов и политик пакетов

  • Хост-машина (Windows, Linux или macOS) для установки Elastic Agent

  • Токен PowerDMARC API Bearer с разрешением на доступ к журналам аудита

  • Сетевое подключение от хоста к API PowerDMARC и вашему кластеру Elasticsearch

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

Вся настройка выполняется через консоль Kibana Dev Tools. Она предоставляет единый интерфейс для создания конвейеров, управления политиками Fleet и проверки поступления данных.

Шаг 1: Откройте консоль Dev Tools

  1. Откройте URL-адрес Kibana в браузере.

  2. Нажмите на меню гамбургер (☰) в левом верхнем углу.

  3. Прокрутите вниз до раздела «Управление» и нажмите «Инструменты разработчика».

  4. Редактор консоли открывается с левой панелью (ввод) и правой панелью (ответ).

  5. Удалите любой пример кода по умолчанию в левой панели.


Шаг 2. Создание конвейера поступления данных

Конвейер ввода данных нормализует необработанные поля API PowerDMARC в формат Elastic Common Schema (ECS), обогащает IP-адреса данными GeoIP и генерирует идентификатор документа на основе отпечатка пальца для дедупликации.


Вставьте и запустите следующее в Dev Tools:


PUT _ingest/pipeline/powerdmarc-audit-pipeline

{

  «описание»: «Обработка журналов аудита PowerDMARC в полях ECS»,

  «процессоры»: [

    {

      "json": {

        «поле»: «сообщение»,

        «target_field»: «powerdmarc»

      }

    },

    {

      "date": {

        «поле»: «powerdmarc.created_at»,

        «форматы»: [«yyyy-MM-dd HH:mm:ss»],

        «target_field»: «@timestamp»

      }

    },

    {

      "rename": {

        «поле»: «powerdmarc.user_name»,

        «target_field»: «user.name»,

        «ignore_missing»: true

      }

    },

    {

      "rename": {

        «поле»: «powerdmarc.action»,

        «target_field»: «event.action»,

        «ignore_missing»: true

      }

    },

    {

      "rename": {

        «поле»: «powerdmarc.ip_address»,

        «target_field»: «source.ip»,

        «ignore_missing»: true

      }

    },

    {

      "rename": {

        «поле»: «powerdmarc.a_username»,

        «target_field»: «user.target.name»,

        «ignore_missing»: true

      }

    },

    {

      "rename": {

        «поле»: «powerdmarc.other»,

        «target_field»: «event.reason»,

        «ignore_missing»: true

      }

    },

    { "set": { "field": "event.kind",       "value": "event" } },

    { "set": { "field": "event.category",   "value": "configuration" } },

    { "set": { "field": "observer.vendor",  "value": "PowerDMARC" } },

    { "set": { "field": "observer.product", "value": "PowerDMARC" } },

    {

      "geoip": {

        «поле»: «источник.ip»,

        «target_field»: «source.geo»,

        «ignore_missing»: true

      }

    },

    {

      "fingerprint": {

        «поля»: [«user.name», «event.action»,

                    «source.ip», «@timestamp»],

        «target_field»: «_id»,

        «ignore_missing»: true

      }

    },

    {

      "remove": {

        «поле»: [«powerdmarc», «message»],

        «ignore_missing»: true

      }

    }

  ]

}


Ожидаемый ответ:

{ "acknowledged": true }


Шаг 3: Найдите идентификационный номер полиса вашего агента

Вам понадобится идентификатор политики агента, к которой будет привязана интеграция. Выполните:


GET kbn:/api/fleet/agent_policies


В ответе найдите нужную политику и скопируйте ее идентификатор. Если у вас есть несколько политик, используйте ту, которая назначена хосту, на котором работает Elastic Agent — как правило, это не политика Fleet Server.

Шаг 4: Создание интеграции httpjson

Это создает интеграцию httpjson, управляемую Fleet, которая опрашивает API PowerDMARC, обрабатывает аутентификацию, пагинацию и разделение ответов — все это настраивается с помощью одного вызова API.


Перед запуском замените два заполнителя:

  • YOUR_AGENT_POLICY_ID - идентификатор из шага 3

  • YOUR_POWERDMARC_API_KEY - ваш токен PowerDMARC API Bearer


POST kbn:/api/fleet/package_policies

{

  «policy_ids»: [«YOUR_AGENT_POLICY_ID»],

  "package": { "name": "httpjson", "version": "1.24.0" },

  «name»: «powerdmarc-audit-logs»,

  «описание»: «Интеграция REST API журналов аудита PowerDMARC»,

  «пространство имен»: «по умолчанию»,

  "inputs": {

    "generic-httpjson": {

      «enabled»: true,

      "streams": {

        "httpjson.generic": {

          «enabled»: true,

          "vars": {

            «data_stream.dataset»: «powerdmarc.audit»,

            «pipeline»: «powerdmarc-audit-pipeline»,

            «request_url»: «https://app.powerdmarc.com/api/v1/audit-logs»,

            «request_interval»: «60m»,

            «request_method»: «GET»,

            «request_transforms»: [

              {

                "set": {

                  «target»: «url.params.api_key»,

                  «значение»: «ВАШ_КЛЮЧ_API_ЗДЕСЬ»

                }

              }

            ],

            «response_split»: «target: body.data»,

            «response_pagination»: [

              {

                "set": {

                  «target»: «url.params.page»,

                  «значение»: «[[.last_response.body.current_page]]»,

                  «fail_on_template_error»: true

                }

              }

            ],

            «request_redirect_headers_ban_list»: [],

            «oauth_scopes»: [],

            «теги»: [«переслано», «powerdmarc-audit»]

          }

        }

      }

    }

  }

}



Ожидаемый ответ:

{

  "item": {

    "id": "<integration-id>",

    «name»: «powerdmarc-audit-logs»,

    ...

  }

}

Шаг 5. Установите Elastic Agent

Агент Elastic должен быть установлен на хост-машине, которая имеет сетевой доступ как к API PowerDMARC, так и к вашему кластеру Elasticsearch. Агент работает как служба и управляется удаленно через Fleet.

Вы можете скачать агент непосредственно с веб-сайта Elastics здесь


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

После того как агент получит политику (обычно в течение 1–2 минут), первый запрос API должен произойти автоматически. Проверьте, что данные передаются:


6a. Проверить количество документов

В Dev Tools:

GET logs-powerdmarc.audit-*/_count


Значение больше 0 подтверждает, что данные поступают.


6b. Проверьте образец документа

GET logs-powerdmarc.audit-*/_search?size=1


Убедитесь, что документ содержит правильно проанализированные поля ECS:

  • user.name — имя пользователя, выполнившего действие

  • event.action — описание предпринятых действий

  • источник.ip — исходный IP-адрес

  • source.geo.* — GeoIP-обогащение (страна, город, координаты)

  • @timestamp — проанализированная метка времени события


6c. Проверить в Discover

  1. Перейдите в раздел «Аналитика» → «Обзор».

  2. Щелкните раскрывающийся список представлений данных и выберите или создайте представление данных для logs-powerdmarc.audit-*.

  3. Установите временной диапазон «Последние 30 дней».

  4. События журнала аудита должны отображаться со всеми сопоставленными полями.

Шаг 7: Создание представления данных Kibana

Создайте специальный вид данных, чтобы данные аудита PowerDMARC отображались в Discover и могли использоваться в визуализациях панели инструментов.


Запустить в Dev Tools:


POST kbn:/api/data_views/data_view

{

  "data_view": {

    «title»: «logs-powerdmarc.audit-*»,

    «name»: «Журналы аудита PowerDMARC»,

    «timeFieldName»: «@timestamp»

  }

}


Запомните возвращенное значение id — оно понадобится, если вы захотите создать панели информационной панели программным способом.

Шаг 8: Создание панели инструментов

Вы можете скачать файл dashboard.txt, прикрепленный в конце этого руководства, и запустить его с помощью Dev Tools, чтобы автоматически создать панель инструментов. 

Следующие шаги

На этом этапе журналы аудита PowerDMARC успешно импортированы в Elastic. Теперь вы можете:


  • Создайте правила обнаружения подозрительной активности (например, входы в систему с неожиданных IP-адресов или из стран, неудачные попытки входа в систему, массовые изменения конфигурации).

  • Настройте оповещения с помощью встроенной системы оповещений Elastic или коннекторов для электронной почты, Slack и т. д.

  • Сопоставьте данные аудита PowerDMARC с другими журналами безопасности в вашей системе SIEM для комплексного обнаружения угроз.

  • Расширьте интеграцию на дополнительные конечные точки API PowerDMARC (агрегированные отчеты DMARC, криминалистические отчеты)

  • Создавайте отчеты о соответствии с помощью функций отчетности Kibana.


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

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

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