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
Ga naar Instellingen → Indexen
Klik Nieuwe index
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.
Klik op Opslaan
Stap 2: HTTP Event Collector (HEC) inschakelen
Ga naar Instellingen → Gegevensinvoer
Klik HTTP-gebeurtenisverzamelaar
Klik op Algemene instellingen
Configureren:
Alle tokens: Ingeschakeld
SSL inschakelen: Ingeschakeld (aanbevolen)
HTTP-poortnummer: 8088 (standaard)
Klik op Opslaan
Stap 3: Maak een HEC-token aan
Nog steeds in Instellingen → Gegevensinvoer → HTTP Event Collector
Klik Nieuwe token
Tokeninstellingen configureren:
Naam: PowerDMARC_Integratie
Bronnaam overschrijven: powerdmarc:api
Beschrijving: Token voor het opnemen van PowerDMARC-auditlogboeken
Klik Volgende
Invoerinstellingen:
Bron type: Select Automatisch
Index: Selecteer powerdmarc (of beschikbare indexen, waaronder powerdmarc)
Standaardindex: powerdmarc
Klik Beoordeling
Klik Verzenden
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:
POWERDMARC_API_TOKEN: Uw PowerDMARC API-bearertoken
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
SPLUNK_HEC_TOKEN: Het HEC-token dat in stap 3 is aangemaakt
SPLUNK_INDEX: powerdmarc (of de door u gekozen indexnaam)
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)
Crontab bewerken:
crontab -e
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
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)
Open Taakplanner
Klik Taak aanmaken
Configureren:
Naam: PowerDMARC Splunk-integratie
Beschrijving: Geplande opname van PowerDMARC-auditlogboeken
Beveiligingsopties: Uitvoeren ongeacht of de gebruiker is aangemeld
Tabblad Triggers: Klik Nieuw
Begin: Volgens schema
Instellingen: Dagelijks, elk uur herhalen
Tabblad Acties: Klik Nieuw
Actie: Start een programma
Programma: python.exe
Argumenten: C:\pad\naar\powerdmarc_to_splunk.py
Klik OK
Gegevensinvoer in Splunk valideren
Stap 8: Gegevens in Splunk verifiëren
Navigeer naar Zoeken en rapporteren app
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
Extra API-eindpunten toevoegen: Breid het script uit om DMARC-aggregatrapporten, forensische rapporten of domeingegevens op te halen.
Checkpoint-logica implementeren: Sla de tijdstempel van de laatste succesvolle run op om dubbele invoer te voorkomen.
Logboekregistratie toevoegen: Implementeer correcte logboekregistratie met rotatie voor productieomgevingen.
Foutmeldingen: Configureer e-mail- of Slack-meldingen bij scriptfouten
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/