Ein Ticket einreichen Meine Tickets
Willkommen
Anmeldung  Registrieren Sie sich

PowerDMARC und Splunk – Integrationshandbuch

Leitfaden zur Integration von PowerDMARC und Splunk

PowerDMARC → Lösungsübersicht → Integrationen → SIEM

Mit der Splunk-Integration von PowerDMARC können Sie Ihre Daten zur E-Mail-Authentifizierung und Domänensicherheit direkt in Ihrer Splunk-Umgebung erfassen und überwachen. Durch die Nutzung der PowerDMARC-API können Unternehmen eine optimierte SIEM-Integration ohne komplexe Konfigurationen aufbauen – einfach verbinden, starten und einen zentralen Überblick über den Stand ihrer E-Mail-Sicherheit über alle Domänen hinweg gewinnen.

Dieser Leitfaden konzentriert sich auf die Einrichtung und die Datenerfassung. Splunk-Dashboards und erweiterte Visualisierungen werden hier nicht behandelt.

API-Dokumentation

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

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

Hinweis: Namenskonventionen (Indexnamen, Quelltypen, Dateipfade) sind Empfehlungen, keine Vorgaben. Passen Sie diese an die Standards Ihrer Umgebung an.

Was das Skript erfasst

Das Integrationsskript ruft zwei Datensätze aus der PowerDMARC-API ab:

Datensatz

API-Endpunkt

Quellentyp

Prüfprotokolle

/api/v1/audit-logs

dmarc:audit

DMARC-Gesamtberichte (nach Absender)

/api/v1/reports/aggregate/nach-Absender

dmarc:aggregate


Für jede Domain in Ihrem Konto werden aggregierte Berichte erstellt, und zwar über die konformenund fehlgeschlagenenund weitergeleitete Status. Domains werden automatisch über /api/v1/domainsaufgelistet.

Architekturübersicht

PowerDMARC-API

      ↓

Python-Skript (geplant über Cron / systemd-Timer / Taskplaner)

      ↓

Splunk HTTP Event Collector (HEC)

      ↓

Splunk (Suche, Dashboards, Warnmeldungen, Korrelation)

Splunk empfängt Daten über seinen HTTP Event Collector (HEC)-Endpunkt, der eine sichere Datenerfassung aus externen Quellen ermöglicht.

Das Skript unterstützt außerdem das Schreiben von durch Zeilenumbrüche getrennten JSON-Dateien anstelle von – oder zusätzlich zu – HEC für Umgebungen, in denen ausgehende HTTPS-Verbindungen zum Splunk-HEC-Port nicht zulässig sind. Siehe Alternative: Dateimonitor-Erfassung.

Voraussetzungen

  • Splunk Enterprise oder Splunk Cloud mit Administratorrechten

  • Berechtigung zum Erstellen von HEC-Token, zum Anlegen von Indizes und zum Konfigurieren von Dateneingaben

  • Python 3.7 oder höher auf dem System, auf dem das Skript ausgeführt wird

  • Ein PowerDMARC-API-Bearer-Token mit der Berechtigung zum Zugriff auf Audit-Protokolle und aggregierte Berichte

  • Netzwerkverbindung vom Skript-Host zu:

    • PowerDMARC-API — https://app.powerdmarc.com (TCP 443)

    • Ihr Splunk-HEC-Endpunkt (TCP 8088 für Splunk Enterprise, TCP 443 für Splunk Cloud)


Splunk-Konfiguration


Schritt 1: Erstellen Sie einen dedizierten Index

  1. Navigieren Sie zu Einstellungen → Indizes

  2. Klicken Sie auf Neuer Index

  3. Konfigurieren:

    • Indexname: powerdmarc

    • Indexdatentyp: Ereignisse

    • App: Suche (oder deine bevorzugte App)

    • Behalten Sie die Standardwerte der anderen Einstellungen bei oder passen Sie sie an Ihre Aufbewahrungsanforderungen an.

  4. Klicken Sie auf . Speichern

Schritt 2: HTTP-Ereignissammler (HEC) aktivieren

  1. Navigieren Sie zu Einstellungen → Dateneingaben

  2. Klicken Sie auf HTTP-Ereignissammler

  3. Klicken Sie auf Globale Einstellungen

  4. Konfigurieren:

    • Alle Tokens: Aktiviert

    • SSL aktivieren: Aktiviert (empfohlen)

    • HTTP-Portnummer: 8088 (Standard)

  5. Klicken Sie auf . Speichern

Splunk Cloud-Kunden: HEC ist standardmäßig aktiviert und läuft auf Port 443. Sie müssen keine globalen Einstellungen ändern, müssen jedoch möglicherweise eine Supportanfrage stellen, um HEC bei einigen Stack-Typen zu aktivieren.

Schritt 3: Erstellen des HEC-Tokens

  1. Noch immer unter „Einstellungen“ → „Dateneingaben“ → „HTTP-Ereignissammler“, klicken Sie auf „Neues Token“

  2. Token-Einstellungen konfigurieren:

    • Name: PowerDMARC_Integration

    • Quellennamen überschreiben: powerdmarc:api

    • Beschreibung: Token für die Einbindung von PowerDMARC-Auditprotokollen und aggregierten Berichten

  3. Klicken Sie Weiter

  4. Eingabeeinstellungen:

    • Quelltyp: Auswählen Automatisch

    • Zulässige Indizes: include powerdmarc

    • Standardindex: powerdmarc

  5. Klicken Sie auf „Überprüfen“, dann „Absenden“

Wichtig: Kopieren Sie den Token-Wert und speichern Sie ihn sofort – Sie können ihn später nicht mehr abrufen.

Warum „Automatisch“ wichtig ist: Das Skript legt für jedes Ereignis einen Sourcetype fest (dmarc:audit oder dmarc:aggregate) in der HEC-Nutzlast fest. Die Auswahl eines festen Quelltyps für das Token würde diese Werte überschreiben und beide Datensätze zu einem einzigen Quelltyp zusammenführen.


Einrichtung des Integrationsskripts


Schritt 4: Python-Umgebung vorbereiten

Das Skript hat eine einzige Abhängigkeit von Drittanbietern: requests.

Option A – Online-Installation (empfohlen)

pip3 install requests


Option B – Offline-Installation

Auf einem Computer mit Internetzugang:

pip3 download requests -d ./packages

Übertragen Sie die Pakete Ordner auf das Zielsystem und führen Sie anschließend Folgendes aus: 

pip3 install --no-index --find-links=./packages requests

Überprüfen Sie die Installation:

python3 -c "import requests; print(requests.__version__)"

Jede einigermaßen aktuelle Version (2.25 oder höher) ist in Ordnung.

Schritt 5: Das Skript bereitstellen

Erstellen Sie ein eigenes Dienstkonto und eine eigene Verzeichnisstruktur, anstatt die Integration als „root“ auszuführen:

sudo useradd -r -s /usr/sbin/nologin dmarc

sudo mkdir -p /opt/dmarc /etc/dmarc /var/lib/dmarc /var/log/dmarc

sudo chown dmarc:dmarc /var/lib/dmarc /var/log/dmarc

sudo chmod 750 /var/lib/dmarc /var/log/dmarc

Kopieren dmarc_to_splunk.py an der entsprechenden Stelle ein:

sudo install -o dmarc -g dmarc -m 750 dmarc_to_splunk.py /opt/dmarc/


Schritt 6: Konfigurieren Sie das Skript

Jede Einstellung kann entweder durch Bearbeiten der Konfigurationsdatei im main() oder durch Setzen einer Umgebungsvariable festgelegt werden. Umgebungsvariablen werden dringend empfohlen , damit Anmeldedaten niemals in der Skriptdatei gespeichert werden.

Umgebungsvariable

Konfigurationsschlüssel

Standard

Zweck

DMARC_API_KEY

dmarc_api_key

(keine – erforderlich)

PowerDMARC-API-Bearer-Token

DMARC_DAYS_TO_FETCH

days_to_fetch

7

Rückblickzeitraum in Tagen

DMARC_OUTPUT_MODE

Ausgabemodus

hec

hecDateioder beides

SPLUNK_HEC_URL

splunk_hec_url

(Platzhalter)

Vollständige URL des HEC-Veranstaltungs-Endpunkts

SPLUNK_HEC_TOKEN

splunk_hec_token

(keine – für HEC erforderlich)

HEC-Token aus Schritt 3

SPLUNK_INDEX

splunk_index

powerdmarc

Zielindex

SPLUNK_SOURCE

splunk_source

powerdmarc:api

Wert für die Veranstaltung Quelle Feld

SPLUNK_VERIFY_SSL

splunk_verify_ssl

wahr

Überprüfung des TLS-Zertifikats

SPLUNK_BATCH_SIZE

splunk_batch_size

500

Veranstaltungen laut HEC POST

DMARC_OUTPUT_DIR

output_dir

/var/log/dmarc

JSON-Ausgabeverzeichnis (Datei/beide Modi)

DMARC_STATE_FILE

state_file

/var/lib/dmarc/state.json

Deduplizierungsstatus


URL-Formate für HEC-Endpunkte:

  • Splunk Enterprise / lokal: https://your-splunk-instance:8088/services/collector/event

  • Splunk Cloud: https://http-inputs-<your-stack>.splunkcloud.com/services/collector/event

Splunk Cloud hostnames vary by stack age and type — some use http-inputs-<stack>.splunkcloud.com on port 443, others use a .splunkcloud.com:8088 form. Confirm yours under Settings → Data inputs → HTTP Event Collector in your Splunk Cloud console rather than assuming.

Erstellen Sie die Anmeldedaten-Datei:

sudo tee /etc/dmarc/splunk.env >/dev/null <<'EOF'

DMARC_API_KEY=Ihr_PowerDmarc-Bearer-Token

SPLUNK_HEC_URL=https://your-splunk-instance:8088/services/collector/event

SPLUNK_HEC_TOKEN=Ihr_HEC-Token

SPLUNK_INDEX=powerdmarc

DMARC_DAYS_TO_FETCH=7

EOF


sudo chown root:dmarc /etc/dmarc/splunk.env

sudo chmod 640 /etc/dmarc/splunk.env

Schritt 7: Verbindung testen

Das Skript akzeptiert ein --test , das ein einzelnes Testereignis an HEC sendet und anschließend beendet wird. Dadurch werden das Token, die URL, die TLS-Kette und der Firewall-Pfad überprüft, ohne auf einen vollständigen Erfassungslauf zu warten:

sudo -u dmarc bash -c 'set -a; . /etc/dmarc/splunk.env; set +a; python3 /opt/dmarc/dmarc_to_splunk.py --test'

Erwartete Leistung:

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

Integration von PowerDMARC in Splunk

Ausgabemodus: hec

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

Überprüfung der Splunk-HEC-Verbindung...

Eine Reihe von 1 DMARC:Audit-Ereignissen gesendet (1/1)

HEC-Zusammenfassung für dmarc:audit – gesendet: 1, fehlgeschlagen: 0, insgesamt: 1

Bestätigen Sie den Erhalt der Sonde:

index=powerdmarc action="integration_connectivity_test"

Schritt 8: Vollständige Erfassung durchführen

sudo -u dmarc bash -c 'set -a; . /etc/dmarc/splunk.env; set +a; python3 /opt/dmarc/dmarc_to_splunk.py'

Erwartete Ausgabe (gekürzt):

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

Integration von PowerDMARC in Splunk

Ausgabemodus: hec

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

DMARC-Gesamtberichte werden verarbeitet...

Abruf der Zusammenfassungsberichte vom 30.01.2026 bis zum 06.02.2026

Alle Domains werden abgerufen...

Seite 1 abgerufen: 24 Domains (bisher insgesamt: 24)

Insgesamt wurden 24 Domains abgerufen

Fortschritt: 1,4 % (1/72) | Domain 1/24: example.com | Voraussichtliche Restdauer: noch 4,7 Min.

...

318 eindeutige Ereignisse für aggregierte Berichte wurden verarbeitet

Eine Charge von 318 dmarc:aggregate-Ereignissen wurde gesendet (318/318)

HEC-Zusammenfassung für dmarc:aggregate – gesendet: 318, fehlgeschlagen: 0, insgesamt: 318

Verarbeitungsprotokolle werden verarbeitet...

Abrufen der Audit-Protokolle vom 30.01.2026 bis zum 06.02.2026

Insgesamt wurden 15 Einträge aus dem Audit-Protokoll abgerufen

15 eindeutige Ereignisse aus dem Audit-Protokoll der letzten 7 Tage wurden verarbeitet

HEC-Zusammenfassung für dmarc:audit – gesendet: 15, fehlgeschlagen: 0, insgesamt: 15

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

Integration erfolgreich abgeschlossen

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

Der erste Durchlauf ist der längste, da dabei das gesamte Rückblickfenster erfasst wird. Bei den nachfolgenden Durchläufen werden bereits erfasste Daten übersprungen (siehe Deduplizierung).


Automatische Ausführung planen

Linux/Unix (cron)

sudo crontab -u dmarc -e

Stündlich:

0 * * * * set -a; . /etc/dmarc/splunk.env; set +a; /usr/bin/python3 /opt/dmarc/dmarc_to_splunk.py >> /var/log/dmarc/run.log 2>&1

Das Skript gibt die Protokolle an die Standardausgabe aus, daher wird das Ausführungsprotokoll durch die oben angegebene Umleitung erfasst. Fügen Sie eine logrotate Regel für /var/log/dmarc/run.log in der Produktionsumgebung hinzu.

Festlegung des Zeitintervalls. Das Skript hält einen Abstand von etwa 2 Sekunden zwischen den API-Aufrufen ein, um die Ratenbegrenzung von PowerDMARC einzuhalten, und sendet drei aggregierte Anfragen pro Domain. Eine grobe Schätzung der Gesamtdauer der Datenerfassung lautet Domains × 3 × 4 Sekunden – etwa 5 Minuten für 25 Domains, aber fast 2 Stunden für 500. Wenn Ihr Konto mehr als etwa 100 Domains umfasst, überschneidet sich ein stündlicher Zeitplan mit sich selbst. Entweder:

  • Teilen Sie den Zeitplan auf – führen Sie die Erfassung der Audit-Protokolle stündlich und die aggregierte Erfassung einmal täglich durch, oder

  • Füge eine Sperrdatei hinzu (flock) hinzu, damit sich überschneidende Läufe ordnungsgemäß beendet werden:

0 * * * * /usr/bin/flock -n /tmp/dmarc-splunk.lock -c 'set -a; . /etc/dmarc/splunk.env; set +a; /usr/bin/python3 /opt/dmarc/dmarc_to_splunk.py' >> /var/log/dmarc/run.log 2>&1


Linux (systemd-Timer)

Für diese Aufgabe ist ein systemd-Timer in der Regel cron vorzuziehen – er verarbeitet die Umgebungsdatei nativ, verhindert überlappende Ausführungen und leitet die Ausgabe an das Journal weiter.

/etc/systemd/system/dmarc-splunk.service:

[Einheit]

Beschreibung=Datenübertragung von PowerDMARC nach Splunk

After=network-online.target


[Service]

Typ=oneshot

Benutzer=dmarc

Gruppe=dmarc

EnvironmentFile=/etc/dmarc/splunk.env

ExecStart=/usr/bin/python3 /opt/dmarc/dmarc_to_splunk.py

/etc/systemd/system/dmarc-splunk.timer:

[Einheit]

Beschreibung=Stündliche Datenübertragung von PowerDMARC nach Splunk


[Timer]

OnCalendar=hourly

Persistent=true


[Installieren]

WantedBy=timers.target

Aktivieren:

sudo systemctl daemon-reload

sudo systemctl enable --now dmarc-splunk.timer

sudo systemctl list-timers dmarc-splunk.timer

journalctl -u dmarc-splunk.service -f

Windows (Aufgabenplaner)

  1. Öffnen den Taskplaner und klicken Sie auf „Aufgabe erstellen“

  2. Registerkarte „Allgemein“:

    • Name: PowerDMARC Splunk-Integration

    • Sicherheitsoptionen: Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht

  3. Registerkarte „Auslöser“: Neu → Start: Nach Zeitplan → Täglich, alle 1 Stunde wiederholen

  4. Registerkarte „Aktionen“: Neu → Programm starten

    • Programm: python.exe

    • Argumente: C:\dmarc\dmarc_to_splunk.py

  5. Klicken Sie OK

Unter Windows legen Sie die Konfigurationswerte in der Konfigurationsdatei direkt fest oder definieren Sie die Umgebungsvariablen auf Systemebene und ändern Sie output_dir / state_file in Windows-Pfade wie C:\dmarc\logs und C:\dmarc\state\state.json.


Datenaufnahme in Splunk validieren

Prüfprotokolle

index=powerdmarc sourcetype=dmarc:audit

| sortieren – _time

| Kopf 20

| Tabelle _time, Benutzername, Aktion, IP-Adresse, Admin-Benutzername

Felder, die angezeigt werden sollten:

  • Benutzername — Benutzer, der die Aktion ausgeführt hat

  • Aktion — Beschreibung der durchgeführten Aktion

  • ip_address — IP-Adresse des Benutzers

  • admin_username — Administratorkonto, sofern vorhanden

  • Zeitstempel — ursprünglicher Zeitpunkt des PowerDMARC-Ereignisses

Zusammenfassende Berichte

index=powerdmarc sourcetype=dmarc:aggregate

| stats sum(email_volume) as volume, avg(dmarc_pass_percentage) as avg_pass by domain_name

| Sortieren – Lautstärke

Die aggregierten Ereignisse enthalten für DMARC, SPF und DKIM die Anzahl und den prozentualen Anteil pro Domain und pro Absenderquelle sowie die tatsächlich angewandte Richtlinie.

Beispiele für Ereignisstrukturen

dmarc:audit

{

  „sourcetype“„dmarc:audit“,

  „Zeitstempel“„04.02.2026 14:29:24“,

  „user_name“„John Doe“,

  „Aktion“„Angehängte Domains aktualisiert“,

  „ip_address“„12.111.67.123“,

  „admin_username“„N/A“,

  „other_info“„k. A.“

}

dmarc:aggregate (abgekürzt)

{

  „sourcetype“„dmarc:aggregate“,

  „Zeitstempel“„06.02.2026“,

  "report_date_from"„30.01.2026“,

  "report_date_to""06.02.2026",

  „domain_id“1234,

  „domain_name“„example.com“,

  „sending_source“„Google“,

  „Status“„konform“,

  „email_volume“4821,

  „dmarc_pass_count“4810,

  „dmarc_pass_percentage“99,77,

  „spf_align_percentage“99.77,

  „dkim_align_percentage“100.0

}

Zeitstempel der Ereignisse

Das Skript legt den HEC fest Zeitfeld Feld jedes Ereignisses anhand des jeweiligen Zeitstempels, sofern dieser ausgelesen werden kann, so dass _time den Zeitpunkt widerspiegelt, zu dem das Ereignis stattfand, und nicht den Zeitpunkt, zu dem es erfasst wurde. Dies ist beim ersten Durchlauf von Bedeutung: Ohne diese Anpassung würde eine Nacherfassung von sieben Tagen vollständig in der aktuellen Minute landen und in jedem Zeitreihen-Panel falsch dargestellt werden.


Deduplizierung

Das Skript verwaltet eine Statusdatei (Standard /var/lib/dmarc/state.json), die die SHA-256-Fingerabdrücke aller bereits übermittelten Ereignisse enthält. Bei jedem Durchlauf werden Ereignisse übersprungen, die mit einem gespeicherten Fingerabdruck übereinstimmen. Fingerabdrücke, die älter als 14 Tage sind, werden automatisch entfernt, um zu verhindern, dass die Datei unbegrenzt anwächst.

Fingerabdrücke werden erst erst erfolgreicher Übermittlung, sodass bei einem fehlgeschlagenen HEC-POST diese Ereignisse beim nächsten Durchlauf erneut versucht werden können, anstatt stillschweigend verworfen zu werden.

Zwei operative Konsequenzen:

  • Die Statusdatei muss über mehrere Durchläufe und Neustarts hinweg erhalten bleiben. Speichern Sie sie nicht in /tmp oder in einer Container-Layer, die verworfen wird.

  • Das Löschen der Statusdatei führt dazu, dass beim nächsten Durchlauf das gesamte Rückblickfenster erneut eingelesen wird. Das ist die richtige Vorgehensweise, um eine Nachvervollständigung zu erzwingen, allerdings ist in Splunk mit Duplikaten zu rechnen, falls die Daten dort bereits vorhanden sind.


Alternative: Einlesen von Dateien durch den Dateimonitor

Falls kein ausgehender Zugriff auf den HEC-Port möglich ist, setzen Sie DMARC_OUTPUT_MODE=file (oder beides). Das Skript schreibt JSON-Daten, die durch Zeilenumbrüche getrennt sind, in das Verzeichnis output_dir, eine Datei pro Durchlauf und Datensatz:

/var/log/dmarc/dmarc_aggregate_20260206_140312.json

/var/log/dmarc/audit_logs_20260206_140312.json

Konfigurieren Sie einen Splunk-Forwarder, um dieses Verzeichnis zu überwachen. In $SPLUNK_HOME/etc/system/local/inputs.conf:

[monitor:///var/log/dmarc/dmarc_aggregate_*.json]

deaktiviert = false

index = powerdmarc

sourcetype = dmarc:aggregate


[monitor:///var/log/dmarc/audit_logs_*.json]

deaktiviert = false

index = powerdmarc

sourcetype = dmarc:audit

Und in props.conf, damit die Ereignisse zeilenweise aufgeteilt und korrekt mit einem Zeitstempel versehen werden:

[dmarc:aggregate]

INDEXED_EXTRACTIONS = json

KV_MODE = none

SHOULD_LINEMERGE = false

TIME_PREFIX = "report_date_to":\s*"

TIME_FORMAT = %Y-%m-%d


[dmarc:audit]

INDEXED_EXTRACTIONS = json

KV_MODE = none

SHOULD_LINEMERGE = false

TIME_PREFIX = "timestamp":\s*"

TIME_FORMAT = %Y-%m-%d %H:%M:%S

Der Splunk-Benutzer benötigt Lesezugriff auf das Verzeichnis – fügen Sie es zur Gruppe „dmarc“ Gruppe hinzu oder lockern Sie die Berechtigungen des Verzeichnisses auf 0755. Fügen Sie einen Bereinigungsjob hinzu (find /var/log/dmarc -name '*.json' -mtime +7 -delete), damit sich keine alten Ausgabedateien ansammeln.


Fehlerbehebung

In Splunk werden keine Daten angezeigt

  • Ausführen mit --test aus, um festzustellen, ob das Problem bei HEC oder auf der PowerDMARC-Seite liegt

  • Überprüfen Sie, ob das HEC-Token korrekt ist, und aktiviert ist (Einstellungen → Dateneingaben → HTTP Event Collector)

  • Stellen Sie sicher, dass die zulässigen Indizes des Tokens Folgendes enthalten: powerdmarc

  • Überprüfen Sie, ob der Index vorhanden ist und Ihre Rolle Zugriff darauf hat, um darin zu suchen.

  • Stellen Sie sicher, dass die Firewall-Regeln ausgehenden HTTPS-Verkehr vom Skript-Host zum HEC-Endpunkt zulassen.

  • Überprüfen Sie das Ausführungsprotokoll für HEC hat HTTP zurückgegeben … Zeilen – im Fehlertext von Splunk wird das konkrete Problem benannt

HTTP 403 „Ungültiges Token“ von HEC

The token value is wrong, disabled, or belongs to a different Splunk stack. Note that the header format is Authorization: Splunk <token> — not Bearer.

HTTP 400 „Falscher Index“

Das Token erlaubt den Index, auf den das Skript abzielt, nicht. Fügen Sie entweder „powerdmarc“ zur Liste der zulässigen Indizes des Tokens hinzu oder ändern Sie SPLUNK_INDEX in einen Index, den das Token bereits zulässt.

Fehler bei SSL-Zertifikaten

Installieren Sie ein Zertifikat, das vom Skript-Host als vertrauenswürdig eingestuft wird – dies ist die richtige Lösung. Als vorübergehende Maßnahme ausschließlich in Nicht-Produktionsumgebungen setzen Sie SPLUNK_VERIFY_SSL=false. Tun Sie dies niemals in der Produktion; dadurch wird der Schutz deaktiviert, der HEC über TLS erst sinnvoll macht.

Fehler bei der PowerDMARC-API-Authentifizierung

  • Stellen Sie sicher, dass der API-Token gültig ist und nicht abgelaufen ist

  • Stellen Sie sicher, dass das Token über die Berechtigung sowohl für Audit-Protokolle als auch für aggregierte Berichte verfügt.

  • Stellen Sie sicher, dass die API-Basis-URL vom Host aus erreichbar ist

Das Skript wird ausgeführt, es werden jedoch keine Protokolle abgerufen

  • Überprüfen Sie, ob für den Rückblickzeitraum tatsächlich Audit-Protokolle vorhanden sind

  • Erhöhen DMARC_DAYS_TO_FETCH vorübergehend

  • Beachten Sie, dass durch die Deduplizierung bereits erfasste Ereignisse unterdrückt werden – ein Lauf, der gemeldet wird 0 eindeutige Audit-Protokollereignisse verarbeitet nach einem zuvor erfolgreichen Lauf ist normal und stellt keinen Fehler dar

Berechtigung beim Start verweigert

Das Dienstkonto kann keine Dateien erstellen oder in /var/lib/dmarc oder /var/log/dmarcanlegen oder darin schreiben. Legen Sie beide Verzeichnisse vorab an und führen Sie chown sie dem Konto zu, unter dem das Skript ausgeführt wird, wie in Schritt 5 gezeigt.

Der Lauf dauert länger als das geplante Intervall

Beachten Sie den Hinweis zur Größenauswahl unter „Automatisierte Ausführung planen“. Fügen Sie „flock“ hinzu oder teilen Sie den Erfassungsplan auf.


Nächste Schritte

Wenn Daten fließen, können Sie:

  • Erstellen Sie benutzerdefinierte Dashboards zur Darstellung von DMARC-Compliance-Trends nach Domain und Absenderquelle

  • Benachrichtigungen bei Audit-Ereignissen wie Richtlinienänderungen oder Anmeldungen aus unerwarteten IP-Bereichen

  • Warnung bei Compliance-Rückschritten – eine Absenderquelle, deren dmarc_pass_percentage im Wochenvergleich stark zurückgeht

  • PowerDMARC-Daten mit anderen Sicherheitsprotokollen (Mail-Gateway, Identitätsmanagement, EDR) abgleichen

  • Erstellen Sie Compliance-Berichte und Berichte für die Geschäftsleitung auf der Grundlage des aggregierten Datensatzes

Empfohlene Verbesserungen

  • Zusätzliche API-Endpunkte: Erweitern Sie das Skript, um forensische Berichte oder domänenbezogene Konfigurationsdaten abzurufen

  • Protokollrotation: Fügen Sie eine logrotate Regel für das Ausführungsprotokoll des Skripts in der Produktionsumgebung

  • Fehlermeldungen: Schließen Sie das Skript in einen Aufruf ein, der bei einem Exit-Status ungleich Null eine Warnung auslöst, oder lösen Sie in Splunk eine Warnung aus, wenn das erwartete stündliche Ereignisvolumen nicht erreicht wird.

  • Als Splunk TA bündeln: Bündeln Sie die Inputs, Props und die Konfiguration zur Indexierung als Technology Add-on, um die Verteilung zu vereinfachen

  • Verwaltung von Geheimnissen: Ersetzen Sie die Umgebungsdatei durch einen Geheimnismanager (Vault, AWS Secrets Manager, systemd-Anmeldedaten), sofern einer verfügbar ist

Sicherheitsaspekte

  • Speichern Sie die Anmeldedaten außerhalb des Skripts. Verwenden Sie die Umgebungsdatei (Modus 640, Eigentümer root:dmarc) oder einen Secret-Manager. Geben Sie Tokens niemals in die Versionskontrolle ein.

  • Lassen Sie die TLS-Überprüfung aktiviert. SPLUNK_VERIFY_SSL ist standardmäßig auf „true“ aus gutem Grund.

  • Als dediziertes Konto ohne Administratorrechte ausführen. Für die Integration sind keine Root-Rechte erforderlich.

  • Das HEC-Token einschränken. Beschränken Sie ihn auf den „powerdmarc“ Index.

  • Beide Tokens nach einem Zeitplan rotieren – das PowerDMARC-Bearer-Token und das Splunk-HEC-Token.

  • Ausführung überwachen. Benachrichtigung bei fehlgeschlagenen Durchläufen und bei unerwarteten Lücken bei der Datenerfassung.

  • Überprüfen Sie die Splunk-Zugriffskontrollen. Die Daten im Audit-Protokoll identifizieren Benutzer und Quell-IP-Adressen; beschränken Sie den Zugriff auf den Index auf die Rollen, die ihn benötigen.

Support und Ressourcen

  • PowerDMARC-API-Dokumentation: https://api.powerdmarc.com/

  • Splunk HEC-Dokumentation: https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector

  • Splunk Answers: https://community.splunk.com/



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.