SPF DKIM DMARC Email Sicherheit
SPF, DKIM & DMARC: E-Mail-Authentifizierung
Ohne SPF, DKIM und DMARC landen Ihre E-Mails im Spam. Diese drei Technologien authentifizieren Ihre E-Mails und schützen vor Spoofing.
Warum E-Mail-Authentifizierung?
- Zustellbarkeit: E-Mails kommen an statt im Spam zu landen
- Spoofing-Schutz: Niemand kann E-Mails in Ihrem Namen fälschen
- Reputation: Besserer Ruf bei E-Mail-Providern
- Pflicht: Google und Yahoo erfordern es seit 2024
SPF (Sender Policy Framework)
SPF definiert, welche Server E-Mails für Ihre Domain senden dürfen.
Funktionsweise
1. Sie senden E-Mail von mail.example.com 2. Empfänger prüft SPF-Record von example.com 3. SPF sagt: "Nur diese IPs dürfen senden" 4. Mail.example.com ist in Liste → Zugestellt
SPF Record erstellen
# Basis-SPF example.com TXT "v=spf1 mx a ~all" # Mit spezifischen IPs example.com TXT "v=spf1 mx a ip4:93.184.216.34 ip4:93.184.216.35 ~all" # Mit Include (für externe Dienste) example.com TXT "v=spf1 mx include:_spf.google.com include:spf.mailjet.com ~all"
SPF Mechanismen
| Mechanismus | Bedeutung |
|---|---|
mx |
Alle MX-Server dürfen senden |
a |
A-Record IPs dürfen senden |
ip4:x.x.x.x |
Diese IPv4-Adresse |
ip6:xxxx |
Diese IPv6-Adresse |
include:domain |
SPF von anderer Domain einbinden |
~all |
Soft Fail (Spam-Markierung) |
-all |
Hard Fail (Ablehnung) |
DKIM (DomainKeys Identified Mail)
DKIM signiert E-Mails kryptografisch – der Empfänger kann verifizieren, dass die E-Mail unverändert ist.
Funktionsweise
1. Server signiert E-Mail mit privatem Schlüssel 2. Signatur wird in E-Mail-Header eingefügt 3. Empfänger holt öffentlichen Schlüssel aus DNS 4. Signatur wird verifiziert → Authentisch
DKIM DNS Record
selector._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG..." # Selector = Name des Schlüssels (z.B. "mail", "google", "k1")
DKIM mit Mailserver einrichten
# Postfix mit OpenDKIM sudo apt install opendkim opendkim-tools # Schlüssel generieren opendkim-genkey -s mail -d example.com # Ergibt: mail.private (geheim) und mail.txt (DNS)
DMARC (Domain-based Message Authentication)
DMARC sagt Empfängern, was sie tun sollen, wenn SPF/DKIM fehlschlagen.
DMARC Record
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
DMARC Policies
| Policy | Aktion | Empfehlung |
|---|---|---|
p=none |
Nur berichten, keine Aktion | Zum Testen |
p=quarantine |
In Spam verschieben | Nach Testphase |
p=reject |
Komplett ablehnen | Wenn alles funktioniert |
Vollständiger DMARC Record
_dmarc.example.com TXT "v=DMARC1; p=quarantine; sp=quarantine; pct=100; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-forensic@example.com; adkim=r; aspf=r"
| Tag | Bedeutung |
|---|---|
p |
Policy für Domain |
sp |
Policy für Subdomains |
pct |
Prozent der E-Mails (schrittweise einführen) |
rua |
Aggregierte Reports (täglich) |
ruf |
Forensische Reports (pro Fehler) |
adkim |
DKIM Alignment (r=relaxed, s=strict) |
aspf |
SPF Alignment |
Komplette Beispielkonfiguration
# SPF example.com TXT "v=spf1 mx ip4:93.184.216.34 include:_spf.google.com ~all" # DKIM mail._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..." # DMARC _dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
Einführungs-Strategie
- Woche 1: SPF mit ~all
- Woche 2: DKIM einrichten
- Woche 3: DMARC mit p=none
- Woche 4-6: Reports analysieren
- Woche 7: DMARC auf p=quarantine
- Später: DMARC auf p=reject
Testen
# SPF prüfen dig example.com TXT | grep spf # DKIM prüfen dig mail._domainkey.example.com TXT # DMARC prüfen dig _dmarc.example.com TXT # E-Mail-Test # Senden Sie eine E-Mail an: check-auth@verifier.port25.com