E-Mail-Sicherheit mit SPF, DKIM und DMARC
Erfahren Sie, wie Sie Ihre Domain mit SPF-, DKIM- und DMARC-Einträgen vor E-Mail-Spoofing schützen. Schritt-für-Schritt-Anleitung für Dashboard und API bei DNScale.
E-Mail-Spoofing ermöglicht es Angreifern, Nachrichten zu senden, die scheinbar von Ihrer Domain stammen. Ohne ordnungsgemäße Authentifizierung kann jeder eine E-Mail versenden, die vorgibt, von ceo@ihredomain.com zu sein. SPF, DKIM und DMARC sind DNS-basierte Standards, die empfangenden Mailservern helfen, legitime E-Mails zu verifizieren.
Was Sie lernen werden
- Wie SPF autorisierte Mailserver deklariert
- Wie DKIM E-Mails kryptografisch signiert
- Wie DMARC Richtlinien für fehlgeschlagene Authentifizierung definiert
- Einrichtung aller drei über das DNScale-Dashboard und die API
- Testen und Validieren Ihrer Konfiguration
SPF (Sender Policy Framework)
Was SPF bewirkt
SPF ermöglicht es Ihnen festzulegen, welche IP-Adressen und Mailserver E-Mails für Ihre Domain senden dürfen. Empfangende Server prüfen Ihren SPF-Eintrag, um zu verifizieren, dass der Absender autorisiert ist.
SPF-Eintragssyntax
Ein SPF-Eintrag ist ein TXT-Eintrag an Ihrem Domain-Apex:
v=spf1 [Mechanismen] [Qualifier]all| Komponente | Beschreibung |
|---|---|
v=spf1 | Versionskennung (erforderlich) |
include:domain | Server erlauben, die durch den SPF einer anderen Domain autorisiert sind |
a | Die IP des A-Eintrags der Domain erlauben |
mx | Die MX-Server der Domain erlauben |
ip4:x.x.x.x | Eine bestimmte IPv4-Adresse oder einen Bereich erlauben |
ip6:x::x | Eine bestimmte IPv6-Adresse oder einen Bereich erlauben |
~all | Soft Fail für nicht autorisierte Absender |
-all | Hard Fail für nicht autorisierte Absender |
Gängige SPF-Beispiele
Google Workspace:
v=spf1 include:_spf.google.com ~allMicrosoft 365:
v=spf1 include:spf.protection.outlook.com ~allMehrere Anbieter:
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~allEigener Mailserver:
v=spf1 ip4:203.0.113.5 mx ~allSPF Best Practices
- Beginnen Sie mit
~all(Soft Fail), wechseln Sie nach dem Testen zu-all - Halten Sie unter 10 DNS-Lookups (SPF-Limit)
- Schließen Sie alle Sendequellen ein: Transaktions-E-Mails, Marketing-Plattformen usw.
DKIM (DomainKeys Identified Mail)
Was DKIM bewirkt
DKIM fügt ausgehenden E-Mails eine digitale Signatur hinzu. Ihr Mailserver signiert jede E-Mail mit einem privaten Schlüssel, und Sie veröffentlichen den zugehörigen öffentlichen Schlüssel im DNS. Empfangende Server verwenden diesen öffentlichen Schlüssel, um die Signatur zu verifizieren und zu beweisen, dass die E-Mail nicht manipuliert wurde und von einem autorisierten Absender stammt.
Wie DKIM funktioniert
- Ihr Mailserver erzeugt eine kryptografische Signatur mit einem privaten Schlüssel
- Die Signatur wird den E-Mail-Headern hinzugefügt
- Empfangende Server suchen Ihren öffentlichen DKIM-Schlüssel im DNS
- Sie verifizieren, dass die Signatur zum E-Mail-Inhalt passt
- Bei Gültigkeit besteht die E-Mail die DKIM-Authentifizierung
DKIM-Eintragssyntax
Ein DKIM-Eintrag ist ein TXT-Eintrag unter selector._domainkey.ihredomain.com:
selector._domainkey.ihredomain.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0GCS..."| Tag | Beschreibung |
|---|---|
v=DKIM1 | Versionskennung |
k=rsa | Schlüsseltyp (meist RSA) |
p=... | Öffentlicher Schlüssel (Base64-kodiert) |
t=s | (Optional) Strikter Modus - exakte Domain-Übereinstimmung erforderlich |
t=y | (Optional) Testmodus |
DKIM-Selektoren
Der Selektor ist ein Name, der identifiziert, welcher Schlüssel verwendet werden soll. Dies ermöglicht:
- Schlüsselrotation ohne Ausfallzeit
- Verschiedene Schlüssel für verschiedene Mail-Dienste
- Mehrere gleichzeitig aktive Schlüssel
Gängige Selektor-Muster:
googlefür Google Workspaceselector1,selector2für Microsoft 365k1,k2,k3für benutzerdefinierte Konfigurationenmailjet,sendgridfür Drittanbieter-Dienste
DKIM-Schlüssel erhalten
DKIM-Schlüssel werden von Ihrem E-Mail-Anbieter generiert. Hier finden Sie sie:
Google Workspace:
- Admin-Konsole → Apps → Google Workspace → Gmail
- E-Mail authentifizieren → Neuen Eintrag generieren
- Den TXT-Eintragswert kopieren
Microsoft 365:
- Microsoft 365 Defender → E-Mail & Zusammenarbeit → Richtlinien
- DKIM → Domain auswählen → DKIM-Schlüssel erstellen
- Beide selector1- und selector2-Einträge kopieren
Drittanbieter-Dienste (SendGrid, Mailjet usw.):
- Prüfen Sie das Dashboard Ihres Anbieters für DNS-Einstellungen
- Sie stellen den Selektor-Namen und den öffentlichen Schlüssel bereit
DKIM-Eintragsbeispiele
Google Workspace:
google._domainkey.ihredomain.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."Microsoft 365:
selector1._domainkey.ihredomain.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNA..."
selector2._domainkey.ihredomain.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNA..."Benutzerdefiniert/Drittanbieter:
mail._domainkey.ihredomain.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3..."DKIM Best Practices
- 2048-Bit-Schlüssel verwenden - 1024-Bit-Schlüssel sind zunehmend anfällig
- Schlüssel regelmäßig rotieren - Mindestens jährlich aus Sicherheitsgründen
- Private Schlüssel sicher aufbewahren - Niemals im DNS oder in Logs exponieren
- Eindeutige Selektoren verwenden - Verschiedene Selektoren für jeden Dienst
- Vor DMARC-Durchsetzung testen - Sicherstellen, dass DKIM besteht, bevor
p=rejectgesetzt wird
DMARC (Domain-based Message Authentication)
Was DMARC bewirkt
DMARC baut auf SPF (und DKIM) auf und bietet:
- Eine Richtlinie, die Empfängern mitteilt, was mit fehlgeschlagenen E-Mails zu tun ist
- Berichterstattung, damit Sie Authentifizierungsergebnisse überwachen können
DMARC-Eintragssyntax
Ein DMARC-Eintrag ist ein TXT-Eintrag unter _dmarc.ihredomain.com:
v=DMARC1; p=policy; [optionale Tags]Erforderliche Tags:
| Tag | Beschreibung |
|---|---|
v=DMARC1 | Versionskennung |
p=none|quarantine|reject | Richtlinie für fehlgeschlagene E-Mails |
Optionale Tags:
| Tag | Beschreibung |
|---|---|
rua=mailto:adresse | Ziel für aggregierte Berichte |
ruf=mailto:adresse | Ziel für forensische Berichte |
pct=100 | Prozentsatz für Richtlinienanwendung (Standard 100) |
sp=policy | Subdomain-Richtlinie |
DMARC-Richtlinienoptionen
| Richtlinie | Aktion | Wann verwenden |
|---|---|---|
p=none | Nur überwachen | Ersteinrichtung |
p=quarantine | In Spam verschieben | Übergangsphase |
p=reject | Vollständig blockieren | Voller Schutz |
DMARC-Beispiele
Überwachungsmodus:
v=DMARC1; p=none; rua=mailto:dmarc-reports@ihredomain.comQuarantäne-Modus:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@ihredomain.com; pct=100Ablehnungsmodus:
v=DMARC1; p=reject; rua=mailto:dmarc-reports@ihredomain.comEmpfohlene Einführung
- Woche 1-2:
p=nonezur Überwachung - Woche 3-4: Berichte prüfen, Probleme beheben
- Woche 5-6:
p=quarantinemitpct=25 - Woche 7-8: Auf
pct=100erhöhen - Woche 9+: Zu
p=rejectwechseln
Einrichtung über das DNScale-Dashboard
SPF-Eintrag erstellen
- Anmelden unter dnscale.eu
- Domain auswählen
- Auf Add Record klicken
- Konfigurieren:
- Name: Leer lassen (Apex)
- Type: TXT
- Content:
v=spf1 include:_spf.google.com ~all - TTL: 3600
- Auf Create Record klicken
DKIM-Eintrag erstellen
- Öffentlichen DKIM-Schlüssel von Ihrem E-Mail-Anbieter erhalten (siehe „DKIM-Schlüssel erhalten" oben)
- Auf Add Record klicken
- Konfigurieren:
- Name:
google._domainkey(oder der Selektor Ihres Anbieters) - Type: TXT
- Content:
v=DKIM1; k=rsa; p=MIIBIjANBgkq...(Ihr öffentlicher Schlüssel) - TTL: 3600
- Name:
- Auf Create Record klicken
Hinweis: Für Microsoft 365 müssen Sie zwei Einträge erstellen (selector1 und selector2).
DMARC-Eintrag erstellen
- Auf Add Record klicken
- Konfigurieren:
- Name:
_dmarc - Type: TXT
- Content:
v=DMARC1; p=none; rua=mailto:dmarc@ihredomain.com - TTL: 3600
- Name:
- Auf Create Record klicken
Einrichtung über die DNScale-API
Authentifizierung
export DNSCALE_API_KEY="your-api-key"Zone-ID abrufen
curl -s "https://api.dnscale.eu/v1/zones" \
-H "Authorization: Bearer $DNSCALE_API_KEY" | jq '.data.zones[] | {id, name}'SPF-Eintrag erstellen
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer $DNSCALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "TXT",
"content": "v=spf1 include:_spf.google.com ~all",
"ttl": 3600
}'DKIM-Eintrag erstellen
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer $DNSCALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "google._domainkey",
"type": "TXT",
"content": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...",
"ttl": 3600
}'Ersetzen Sie google._domainkey durch Ihren Selektor und den öffentlichen Schlüssel durch Ihren tatsächlichen DKIM-Schlüssel.
DMARC-Eintrag erstellen
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer $DNSCALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "_dmarc",
"type": "TXT",
"content": "v=DMARC1; p=none; rua=mailto:dmarc@ihredomain.com",
"ttl": 3600
}'Einträge verifizieren
curl -s "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer $DNSCALE_API_KEY" | jq '.data.records[] | select(.type == "TXT")'Testen und Validierung
Online-Tools
- MXToolbox SPF-Check
- MXToolbox DKIM-Check
- MXToolbox DMARC-Check
- DMARC Analyzer
- Mail Tester - Test-E-Mail senden, um alle Authentifizierungen zu prüfen
Kommandozeile
# SPF prüfen
dig TXT ihredomain.com +short
# DKIM prüfen (ersetzen Sie 'google' durch Ihren Selektor)
dig TXT google._domainkey.ihredomain.com +short
# DMARC prüfen
dig TXT _dmarc.ihredomain.com +shortTest-E-Mail senden
Der beste Weg, um alles zu verifizieren, ist eine Test-E-Mail zu senden und die Header zu prüfen:
- Senden Sie eine E-Mail an ein Gmail-Konto
- Öffnen Sie die E-Mail → Klicken Sie auf die drei Punkte → „Original anzeigen"
- Suchen Sie nach:
spf=passdkim=passdmarc=pass
Zusammenfassung
| Eintrag | Name | Typ | Beispiel |
|---|---|---|---|
| SPF | @ | TXT | v=spf1 include:_spf.google.com ~all |
| DKIM | selector._domainkey | TXT | v=DKIM1; k=rsa; p=MIIBIjAN... |
| DMARC | _dmarc | TXT | v=DMARC1; p=none; rua=mailto:dmarc@example.com |
Wie sie zusammenwirken:
- SPF verifiziert, dass der sendende Server autorisiert ist
- DKIM verifiziert, dass der E-Mail-Inhalt nicht verändert wurde
- DMARC teilt Empfängern mit, was zu tun ist, wenn SPF oder DKIM fehlschlägt
Empfohlene Implementierungsreihenfolge:
- SPF zuerst einrichten (am einfachsten)
- DKIM mit Ihrem E-Mail-Anbieter konfigurieren
- DMARC im Überwachungsmodus hinzufügen (
p=none) - Berichte prüfen, Probleme beheben
- DMARC schrittweise durchsetzen (
p=quarantine→p=reject)