Ein Ticket einreichen Meine Tickets
Willkommen
Anmeldung  Registrieren Sie sich

PowerDMARC und Elastic – Implementierungshandbuch

PowerDMARC Elastic SIEM-Implementierungshandbuch

Einführung

Mit der Elastic SIEM-Integration von PowerDMARC können Sie Ihre E-Mail-Authentifizierungs- und Domänensicherheits-Auditdaten nahtlos direkt in Ihrer Elastic Stack-Umgebung erfassen und überwachen. Durch die Nutzung der PowerDMARC-API und der in Elastic Agent integrierten httpjson-Eingabe können Unternehmen eine optimierte SIEM-Integration ohne externe Skripte oder komplexe Konfigurationen erstellen – einfach über die Kibana-Weboberfläche konfigurieren, bereitstellen und einen zentralen Überblick über die E-Mail-Sicherheit aller Domänen erhalten.


Dieser Leitfaden behandelt die gesamte Einrichtung: von der Installation des Elastic Agent über die Konfiguration der API-Integration bis hin zum Aufbau von Ingest-Pipelines für die Feldzuordnung und -anreicherung sowie zur Erstellung eines Überwachungs-Dashboards – alles über die Kibana-Weboberfläche und die Dev Tools Console.


API-Dokumentation: https://app.powerdmarc.com/swagger-ui/index.html

Alternative Dokumentation: https://api.powerdmarc.com/


Architekturübersicht

In diesem Beispiel verwenden wir den Audit-Protokoll-Endpunkt zu Testzwecken und zur Veranschaulichung.


PowerDMARC REST-API

        ↓

Elastic Agent (httpjson-Eingabe) – auf Ihrem Host installiert

        ↓

Elasticsearch-Ingest-Pipeline (ECS-Zuordnung, GeoIP, Deduplizierung)

        ↓

Elasticsearch-Datenstrom (logs-powerdmarc.audit-*)

        ↓

Kibana (Entdecken, Dashboards, Warnmeldungen, Erkennungsregeln)


Der Elastic Agent läuft auf Ihrem Host-Rechner (Windows, Linux oder macOS) und fragt die PowerDMARC-API in einem konfigurierbaren Intervall ab. Jede Antwort wird in einzelne Audit-Log-Ereignisse aufgeteilt, über eine Ingest-Pipeline zur Feldnormalisierung und -anreicherung verarbeitet und in einem Elasticsearch-Datenstrom gespeichert. Kibana stellt die Visualisierungs- und Warnungs-Ebene bereit.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:


  • Bereitstellung von Elastic Stack 8.x (Elastic Cloud oder selbst verwaltet) mit Kibana-Zugriff

  • Flotte in Ihrer Elastic-Bereitstellung aktiviert

  • Berechtigung zum Erstellen von Ingest-Pipelines, Agent-Richtlinien und Paketrichtlinien

  • Ein Host-Rechner (Windows, Linux oder macOS), auf dem der Elastic Agent installiert werden soll.

  • Ein PowerDMARC-API-Bearer-Token mit Berechtigung zum Zugriff auf Audit-Protokolle

  • Netzwerkverbindung vom Host sowohl zur PowerDMARC-API als auch zu Ihrem Elasticsearch-Cluster

Konfigurationsschritte

Die gesamte Konfiguration erfolgt über die Kibana Dev Tools Console. Diese bietet eine einzige Schnittstelle zum Erstellen von Pipelines, Verwalten von Fleet-Richtlinien und Überprüfen der Datenerfassung.

Schritt 1: Öffnen Sie die Dev Tools-Konsole.

  1. Öffnen Sie Ihre Kibana-URL im Browser.

  2. Klicken Sie oben links auf das Hamburger-Menü (☰).

  3. Scrollen Sie nach unten zu „Verwaltung“ und klicken Sie auf „Entwicklertools“.

  4. Der Konsolen-Editor öffnet sich mit einem linken Fensterbereich (Eingabe) und einem rechten Fensterbereich (Antwort).

  5. Löschen Sie alle Standard-Beispielcodes im linken Bereich.


Schritt 2: Erstellen Sie die Ingest-Pipeline

Die Ingest-Pipeline normalisiert die Rohdatenfelder der PowerDMARC-API in das Elastic Common Schema (ECS)-Format, reichert IP-Adressen mit GeoIP-Daten an und generiert eine Fingerabdruck-basierte Dokument-ID zur Deduplizierung.


Fügen Sie Folgendes in Dev Tools ein und führen Sie es aus:


PUT _ingest/pipeline/powerdmarc-audit-pipeline

{

  „Beschreibung“: „PowerDMARC-Auditprotokolle in ECS-Felder verarbeiten“,

  „Prozessoren“: [

    {

      "json": {

        „field“: „message“,

        „target_field“: „powerdmarc“

      }

    },

    {

      "date": {

        „Feld“: „powerdmarc.created_at“,

        „Formate“: [„JJJJ-MM-TT HH:MM:SS“],

        „target_field“: „@timestamp“

      }

    },

    {

      "rename": {

        „field“: „powerdmarc.user_name“,

        „target_field“: „user.name“,

        „ignore_missing“: true

      }

    },

    {

      "rename": {

        „field“: „powerdmarc.action“,

        „target_field“: „event.action“,

        „ignore_missing“: true

      }

    },

    {

      "rename": {

        „field“: „powerdmarc.ip_address“,

        „target_field“: „source.ip“,

        „ignore_missing“: true

      }

    },

    {

      "rename": {

        „field“: „powerdmarc.a_username“,

        „target_field“: „user.target.name“,

        „ignore_missing“: true

      }

    },

    {

      "rename": {

        „field“: „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": {

        „Feld“: „Quelle.IP“,

        „target_field“: „source.geo“,

        „ignore_missing“: true

      }

    },

    {

      "fingerprint": {

        "Felder": ["Benutzername", "Ereignisaktion",

                    „source.ip“, „@timestamp“],

        „target_field“: „_id“,

        „ignore_missing“: true

      }

    },

    {

      "remove": {

        „field“: [„powerdmarc“, „message“],

        „ignore_missing“: true

      }

    }

  ]

}


Erwartete Antwort:

{ "acknowledged": true }


Schritt 3: Finden Sie Ihre Agent-Police-ID

Sie benötigen die ID der Agent-Richtlinie, an die die Integration angehängt werden soll. Führen Sie Folgendes aus:


GET kbn:/api/fleet/agent_policies


Suchen Sie in der Antwort die gewünschte Richtlinie und kopieren Sie deren ID-Wert. Wenn Sie mehrere Richtlinien haben, verwenden Sie diejenige, die dem Host zugewiesen ist, auf dem der Elastic Agent ausgeführt wird – in der Regel nicht die Fleet Server-Richtlinie.

Schritt 4: Erstellen Sie die httpjson-Integration

Dadurch wird eine von Fleet verwaltete httpjson-Integration erstellt, die die PowerDMARC-API abfragt, die Authentifizierung, Paginierung und Antwortaufteilung übernimmt – alles konfiguriert über einen einzigen API-Aufruf.


Vor dem Ausführen ersetzen Sie zwei Platzhalter:

  • IHRE_AGENTENPOLICE-ID – die ID aus Schritt 3

  • YOUR_POWERDMARC_API_KEY - Ihr PowerDMARC API Bearer Token


POST kbn:/api/flotte/paketrichtlinien

{

  „policy_ids“: [„YOUR_AGENT_POLICY_ID“],

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

  "name": "powerdmarc-audit-logs",

  „Beschreibung“: „PowerDMARC-Auditprotokolle REST-API-Integration“,

  "namespace": "default",

  "inputs": {

    "generic-httpjson": {

      „aktiviert“: wahr,

      "streams": {

        "httpjson.generic": {

          „aktiviert“: wahr,

          "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“,

                  „Wert“: „IHR_API-SCHLÜSSEL_HIER“

                }

              }

            ],

            „response_split“: „Ziel: body.data“,

            "response_pagination": [

              {

                "set": {

                  „target“: „url.params.page“,

                  „Wert“: „[[.last_response.body.current_page]]“,

                  „fail_on_template_error“: true

                }

              }

            ],

            "request_redirect_headers_ban_list": [],

            „oauth_scopes“: [],

            „Tags“: [„weitergeleitet“, „powerdmarc-audit“]

          }

        }

      }

    }

  }

}



Erwartete Antwort:

{

  "item": {

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

    "name": "powerdmarc-audit-logs",

    ...

  }

}

Schritt 5: Installieren Sie den Elastic Agent.

Der Elastic Agent muss auf einem Host-Rechner installiert werden, der über Netzwerkzugriff sowohl auf die PowerDMARC-API als auch auf Ihren Elasticsearch-Cluster verfügt. Der Agent läuft als Dienst und wird über Fleet ferngesteuert verwaltet.

Sie können den Agenten direkt von der Elastics-Website herunterladen hier


Schritt 6: Validieren der Datenerfassung

Nachdem der Agent die Police abgerufen hat (in der Regel innerhalb von 1–2 Minuten), sollte der erste API-Abruf automatisch erfolgen. Überprüfen Sie, ob die Daten fließen:


6a. Anzahl der Dokumente überprüfen

In den Entwicklertools:

GET logs-powerdmarc.audit-*/_count


Ein Wert größer als 0 bestätigt, dass Daten empfangen werden.


6b. Ein Musterdokument prüfen

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


Überprüfen Sie, ob das Dokument korrekt geparste ECS-Felder enthält:

  • Benutzername – der Benutzername, der die Aktion ausgeführt hat

  • event.action — Beschreibung der durchgeführten Aktion

  • Quelle.IP — Ursprungs-IP-Adresse

  • source.geo.* — GeoIP-Anreicherung (Land, Stadt, Koordinaten)

  • @Zeitstempel — geparster Ereigniszeitstempel


6c. In Discover überprüfen

  1. Navigieren Sie zu „Analytics“ → „Entdecken“.

  2. Klicken Sie auf das Dropdown-Menü „Datenansicht“ und wählen Sie eine Datenansicht für „logs-powerdmarc.audit-*“ aus oder erstellen Sie eine neue.

  3. Stellen Sie den Zeitbereich auf „Letzte 30 Tage“ ein.

  4. Audit-Protokollereignisse sollten mit allen zugeordneten Feldern angezeigt werden.

Schritt 7: Erstellen einer Kibana-Datenansicht

Erstellen Sie eine dedizierte Datenansicht, damit die PowerDMARC-Auditdaten in Discover angezeigt und in Dashboard-Visualisierungen verwendet werden können.


In Dev Tools ausführen:


POST kbn:/api/data_views/data_view

{

  "data_view": {

    „title“: „logs-powerdmarc.audit-*“,

    "name": "PowerDMARC-Auditprotokolle",

    „timeFieldName“: „@timestamp“

  }

}


Beachten Sie den zurückgegebenen ID-Wert – dieser wird benötigt, wenn Sie Dashboard-Panels programmgesteuert erstellen möchten.

Schritt 8: Erstellen Sie ein Dashboard

Sie können die am Ende dieses Leitfadens angehängte Datei „dashboard.txt“ herunterladen und mit Dev Tools ausführen, um das Dashboard automatisch zu erstellen. 

Nächste Schritte

Zu diesem Zeitpunkt werden die PowerDMARC-Auditprotokolle erfolgreich in Elastic importiert. Sie können nun:


  • Erstellen Sie Erkennungsregeln für verdächtige Aktivitäten (z. B. Anmeldungen von unerwarteten IP-Adressen oder Ländern, fehlgeschlagene Anmeldungen, umfangreiche Konfigurationsänderungen).

  • Richten Sie Benachrichtigungen über das integrierte Benachrichtigungsframework von Elastic oder über Konnektoren zu E-Mail, Slack usw. ein.

  • Korrelieren Sie PowerDMARC-Auditdaten mit anderen Sicherheitsprotokollen in Ihrem SIEM, um eine umfassende Erkennung von Bedrohungen zu gewährleisten.

  • Erweitern Sie die Integration auf zusätzliche PowerDMARC-API-Endpunkte (DMARC-Aggregatberichte, forensische Berichte).

  • Erstellen Sie Compliance-Berichte mit den Berichtsfunktionen von Kibana.


P
PowerDMARC ist der Autor dieses Lösungsartikels.

Fanden Sie es hilfreich? Ja Nein

Feedback senden
Tut uns leid, dass wir nicht hilfreich sein konnten. Helfen Sie uns, diesen Artikel mit Ihrem Feedback zu verbessern.