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:
Für jede Domain in Ihrem Konto werden aggregierte Berichte erstellt, und zwar über die konformen, und 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
Navigieren Sie zu Einstellungen → Indizes
Klicken Sie auf Neuer Index
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.
Klicken Sie auf . Speichern
Schritt 2: HTTP-Ereignissammler (HEC) aktivieren
Navigieren Sie zu Einstellungen → Dateneingaben
Klicken Sie auf HTTP-Ereignissammler
Klicken Sie auf Globale Einstellungen
Konfigurieren:
Alle Tokens: Aktiviert
SSL aktivieren: Aktiviert (empfohlen)
HTTP-Portnummer: 8088 (Standard)
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
Noch immer unter „Einstellungen“ → „Dateneingaben“ → „HTTP-Ereignissammler“, klicken Sie auf „Neues Token“
Token-Einstellungen konfigurieren:
Name: PowerDMARC_Integration
Quellennamen überschreiben: powerdmarc:api
Beschreibung: Token für die Einbindung von PowerDMARC-Auditprotokollen und aggregierten Berichten
Klicken Sie Weiter
Eingabeeinstellungen:
Quelltyp: Auswählen Automatisch
Zulässige Indizes: include powerdmarc
Standardindex: powerdmarc
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.
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)
Öffnen den Taskplaner und klicken Sie auf „Aufgabe erstellen“
Registerkarte „Allgemein“:
Name: PowerDMARC Splunk-Integration
Sicherheitsoptionen: Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht
Registerkarte „Auslöser“: Neu → Start: Nach Zeitplan → Täglich, alle 1 Stunde wiederholen
Registerkarte „Aktionen“: Neu → Programm starten
Programm: python.exe
Argumente: C:\dmarc\dmarc_to_splunk.py
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/