Een ticket indienen Mijn tickets
Welkom
Inloggen  Aanmelden

PowerDMARC en Splunk - Integratiegids

Met de Splunk-integratie van PowerDMARC kunt u uw e-mailauthenticatie- en domeinbeveiligingsgegevens naadloos rechtstreeks in uw Splunk-omgeving opnemen en monitoren. Door gebruik te maken van de PowerDMARC API kunnen organisaties een gestroomlijnde SIEM-integratie bouwen zonder complexe configuraties – gewoon verbinden, uitvoeren en centraal inzicht krijgen in hun e-mailbeveiligingsstatus voor alle domeinen.

De handleiding richt zich bewust op installatie en invoer. Splunk-dashboards en geavanceerde visualisaties vallen buiten het bestek van dit document.

API-documentatie

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

  • Alternatieve documentatie: https://api.powerdmarc.com/

Opmerking: De naamgevingsconventies zijn niet beperkt tot de conventies die in deze documentatie worden genoemd.


Overzicht architectuur

Voor dit voorbeeld gebruiken we het auditlogboek-eindpunt voor testdoeleinden en ter illustratie.

PowerDMARC API

    ↓

Python-script (gepland via cron/Taakplanner)

    ↓

Splunk HTTP Event Collector (HEC)

    ↓

Splunk (zoeken, dashboards, waarschuwingen, Correlatie)

Splunk ontvangt gegevens via zijn HTTP Event Collector (HEC)-eindpunt, dat veilige gegevensinvoer vanuit externe bronnen mogelijk maakt.


Vereisten

Zorg ervoor dat u, voordat u begint, beschikt over:

  • Splunk Enterprise of Splunk Cloud met beheerdersrechten

  • Toestemming om:

    • HTTP Event Collector (HEC)-tokens maken

    • Indexen aanmaken

    • Configureer gegevensinvoer

  • Python 3.7+ geïnstalleerd op het systeem waarop het integratiescript wordt uitgevoerd

  • PowerDMARC API Bearer Token met toestemming voor toegang tot auditlogboeken

  • Netwerkconnectiviteit van de scriptuitvoeringsomgeving naar:

    • PowerDMARC API (https://app.powerdmarc.com)

    • Splunk HEC-eindpunt


Splunk-configuratie

Stap 1: Maak een speciale index aan

  1. Ga naar Instellingen → Indexen

  2. Klik Nieuwe index

  3. Configureren:

    • Indexnaam: powerdmarc

    • Indexgegevenstype: Gebeurtenissen

    • App: zoeken (of uw favoriete app)

    • Laat andere instellingen op de standaardinstellingen staan of pas ze aan op basis van de bewaarseisen.

  4. Klik op Opslaan

Stap 2: HTTP Event Collector (HEC) inschakelen

  1. Ga naar Instellingen → Gegevensinvoer

  2. Klik HTTP-gebeurtenisverzamelaar

  3. Klik op Algemene instellingen

  4. Configureren:

    • Alle tokens: Ingeschakeld

    • SSL inschakelen: Ingeschakeld (aanbevolen)

    • HTTP-poortnummer: 8088 (standaard)

  5. Klik op Opslaan

Stap 3: Maak een HEC-token aan

  1. Nog steeds in Instellingen → Gegevensinvoer → HTTP Event Collector

  2. Klik Nieuwe token

  3. Tokeninstellingen configureren:

    • Naam: PowerDMARC_Integratie

    • Bronnaam overschrijven: powerdmarc:api

    • Beschrijving: Token voor het opnemen van PowerDMARC-auditlogboeken

  4. Klik Volgende

  5. Invoerinstellingen:

    • Bron type: Select Automatisch

    • Index: Selecteer powerdmarc (of beschikbare indexen, waaronder powerdmarc)

    • Standaardindex: powerdmarc

  6. Klik Beoordeling

  7. Klik Verzenden

  8. Belangrijk: Kopieer en bewaar de tokenwaarde onmiddellijk (u kunt deze later niet meer terugvinden).


Integratiescript instellen

Stap 4: Bereid de Python-omgeving voor

Optie A: Online installatie (aanbevolen)

Installeer de vereiste Python-bibliotheken vanuit PyPI (internetverbinding vereist):

pip installeren verzoeken

Of gebruik het meegeleverde requirements.txt bestand:

pip install -r vereisten.txt

Optie B: Offline installatie

Voor omgevingen zonder internettoegang gebruikt u het meegeleverde bestand requirements.txt bestand.

Download pakketten op een computer met internettoegang:

pip download -r requirements.txt -d ./packages

De pakketten naar uw doelsysteem en installeer vervolgens:

pip install --no-index --find-links=./packages -r requirements.txt

Controleer de installatie:

python3 -c "import requests; print(f'requests version: {requests.__version__}')"

Verwachte uitvoer: versie van verzoeken: 2.31.0 (of vergelijkbaar)

Stap 5: Maak het integratiescript

Maak powerdmarc_to_splunk.py en plak de code uit powerdmarc_to_splunk.txt pro

Stap 6: Configureer het script

Bewerk het powerdmarc_to_splunk.py en werk het bij:

  1. POWERDMARC_API_TOKEN: Uw PowerDMARC API-bearertoken

  2. SPLUNK_HEC_URL: Uw Splunk HEC-eindpunt

    • Formaat: 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: Het HEC-token dat in stap 3 is aangemaakt

  4. SPLUNK_INDEX: powerdmarc (of de door u gekozen indexnaam)

  5. DAYS_TO_FETCH: Aantal dagen aan historische gegevens dat moet worden opgehaald (standaard: 1)

Stap 7: Test het script

Voer het script handmatig uit om de connectiviteit en gegevensopname te controleren:

python3 powerdmarc_to_splunk.py

Verwachte output:

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

PowerDMARC naar Splunk-integratie

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


Ophalen PowerDMARC-logboeken van 2025-01-03 00:00:00 tot 2025-01-04 00:00:00 ophalen...

15 auditlogboekvermeldingen succesvol opgehaald

15 gebeurtenissen verzenden naar Splunk...


Samenvatting van de inname:

  Succesvol verzonden: 15

  Mislukt: 0

  Totaal: 15


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

Integratie succesvol voltooid

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


Geautomatiseerde uitvoering plannen

Voor Linux/Unix (cron)

  1. Crontab bewerken:

crontab -e


  1. Voeg een item toe om elk uur uit te voeren:

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


  1. Of voer elke 15 minuten uit:

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

Voor Windows (Taakplanner)

  1. Open Taakplanner

  2. Klik Taak aanmaken

  3. Configureren:

    • Naam: PowerDMARC Splunk-integratie

    • Beschrijving: Geplande opname van PowerDMARC-auditlogboeken

    • Beveiligingsopties: Uitvoeren ongeacht of de gebruiker is aangemeld

  4. Tabblad Triggers: Klik Nieuw

    • Begin: Volgens schema

    • Instellingen: Dagelijks, elk uur herhalen

  5. Tabblad Acties: Klik Nieuw

    • Actie: Start een programma

    • Programma: python.exe

    • Argumenten: C:\pad\naar\powerdmarc_to_splunk.py

  6. Klik OK


Gegevensinvoer in Splunk valideren

Stap 8: Gegevens in Splunk verifiëren

  1. Navigeer naar Zoeken en rapporteren app

  2. Voer de volgende SPL-query uit:

index=powerdmarc bronstype=powerdmarc:auditlog

| sorteren - _tijd

| kop 20

| tabel _tijd, gebruikersnaam, actie, ip-adres, created_at

Verwachte resultaten

U zou auditlogboekvermeldingen moeten zien met velden zoals:

  • gebruikersnaam: Gebruikerdie de actie heeft uitgevoerd

  • actie: Beschrijving van de uitgevoerde actie

  • ip_adres: IP-adres van de gebruiker

  • created_at: Tijdstempel van de auditgebeurtenis

Voorbeeld van een evenementstructuur

{

  "gebruikersnaam": "John Doe",

  "actie": "Bijgewerkte gekoppelde domeinen",

  "ip_adres": "12.111.67.123",

  "a_gebruikersnaam": null,

  "overig": null,

  "created_at": "2025-01-04 14:29:24"

}


Probleemoplossing

Veelvoorkomende problemen

Probleem: Er worden geen gegevens weergegeven in Splunk

  • Controleer of het HEC-token correct is en is ingeschakeld.

  • Controleer of de HEC-eindpunt-URL toegankelijk is

  • Index verifiëren powerdmarc bestaat en toegankelijk is

  • Controleer of de firewallregels uitgaande HTTPS naar Splunk toestaan.

  • Controleer de uitvoeringslogboeken van het script op fouten.

Probleem: SSL-certificaatfouten

  • Voor zelfondertekende certificaten stelt u verify=False in het script (niet aanbevolen voor productie).

  • Of installeer de juiste SSL-certificaten op Splunk.

Probleem: PowerDMARC API-authenticatiefouten

  • Controleer of de API-token geldig is en de juiste machtigingen heeft.

  • Controleer of het token niet is verlopen

  • Controleer of de URL van het API-eindpunt correct is

Probleem: Script wordt uitgevoerd, maar er worden geen logbestanden opgehaald

  • Controleer de parameters voor het tijdsbereik

  • Controleer of er auditlogboeken bestaan voor de opgegeven periode.

  • Bekijk de PowerDMARC API-documentatie voor het parameterformaat


Volgende stappen

Op dit moment:

  • PowerDMARC-auditlogboeken worden met succes opgenomen in Splunk

  • U kunt nu:

    • Maak aangepaste dashboards voor visualisatie

    • Stel waarschuwingen in voor specifieke auditgebeurtenissen

    • Koppel PowerDMARC-gegevens aan andere beveiligingslogboeken

    • Rapporten opstellen voor naleving en beveiligingsmonitoring

    • Gebruik de analysemogelijkheden van Splunk voor het detecteren van bedreigingen

Aanbevolen verbeteringen

  1. Extra API-eindpunten toevoegen: Breid het script uit om DMARC-aggregatrapporten, forensische rapporten of domeingegevens op te halen.

  2. Checkpoint-logica implementeren: Sla de tijdstempel van de laatste succesvolle run op om dubbele invoer te voorkomen.

  3. Logboekregistratie toevoegen: Implementeer correcte logboekregistratie met rotatie voor productieomgevingen.

  4. Foutmeldingen: Configureer e-mail- of Slack-meldingen bij scriptfouten

  5. Implementeren als Splunk-add-on: Verpak de integratie als een Splunk TA (Technology Add-on) voor eenvoudigere implementatie.


Beveiligingsoverwegingen

  • Bewaar inloggegevens veilig: Gebruik omgevingsvariabelen of versleutelde configuratiebestanden

  • SSL-verificatie inschakelen: Gebruik altijd verify=True voor productieomgevingen

  • Wissel API-tokens regelmatig: Volg de beste praktijken voor beveiliging voor het beheer van inloggegevens

  • Beperk HEC-tokenrechten: Beperk tot specifieke indexen en brontypen

  • Controleer de uitvoering van scripts: Stel waarschuwingen in voor mislukte uitvoeringen of afwijkingen

  • Controleer de toegangscontroles van Splunk: Zorg ervoor dat alleen geautoriseerde gebruikers toegang hebben tot PowerDMARC-gegevens.


Ondersteuning en bronnen

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

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

Splunk Antwoorden: https://community.splunk.com/

A
Ayan is de auteur van dit artikel over oplossingen.

Vond u het nuttig? Ja Geen

Stuur feedback
Sorry dat we niet behulpzaam konden zijn. Help ons dit artikel te verbeteren met uw feedback.