E-Mail ist eine alte Technologie, hat aber über die Jahre viele Erweiterungen erhalten. Dennoch gibt es immer wieder die Frage "Ist die E-Mail, die ich gerade erhalten habe wirklich von einem vertrauenswürdigen Absender oder nicht?". BIMI, DMARC, DKIM, SPF und auch GPG oder S/MIME sind dabei gute Wege, um zumindest seine eigene Domain, sei es privat oder geschäftlich vor Misbrauch zu schützen. Ich empfehle wirklich jeder Firma und auch jeder Privatperson mit eigener Domain, die vier wichtigsten Absicherungen umzusetzen. Wie das funktioniert, erkläre ich dir in diesem Artikel am Beispiel meiner Domain tomriedl.com.
Weißt du schon, was BIMI, DMARC, DKIM und SPF ist, kannst du gleich mit der Einrichtung fortfahren. Die empfohlene Reihenfolge ist dabei:
Inhalt des Artikels:
Den Versand von Spam kann man leider nicht verhindern, jedoch kann man den empfangenden E-Mailservern Informationen geben, ob die empfangene E-Mail wirklich von einem selbst ist oder von jemand anderem. Wurde erkannt, dass die E-Mail von einem Spammer, Scammer oder Phisher kommt, sollte diese entweder gleich gelöscht oder in den Spam-Ordner verschoben werden. Die hier beschriebenen Technologien helfen dabei, den Empfangsservern Informationen zu geben, ob die E-Mail von dir oder jemand anderen ist.
Dabei haben die Technologien folgende Aufgaben:
Idealerweise solltest du alle vier Konfigurationen vornehmen.
Das Sender Policy Framework, kurz SPF, legt fest, welche Server bzw. Domains E-Mails versenden dürfen. Hierbei wird lediglich ein TXT-Record zur Domain hinzugefügt. Zur Anleitung
Weiterführende Informationen:
Bei DKIM signiert der sendende E-Mail-Server die E-Mail mit einem nur ihm bekannten privaten Schlüssel. Der empfangende Server hat nun die Möglichkeit, die Signatur zu überprüfen. Der öffentliche Schlüssel zur Überprüfung wird dabei bei der Domain als TXT-Eintrag hinterlegt und ist somit zur Überprüfung für jeden E-Mailserver zugänglich.
Weiterführende Informationen:
DMARC legt fest, wie E-Mails, die durch die SPF- und DKIM-Prüfung fallen behandelt werden sollen. Weiterhin können Empfangsserver Berichte erstellen und diese an die angegebene E-Mail-Adressen senden. Es kann zwischen none
, quarantine
und reject
unterschieden werden. Bei none
werden die E-Mails zugestellt und dient lediglich der Berichterstellung, bei quarantine
sollen die ungültigen Mails in die Quarantäne/Spam-Ordner verschoben werden und bei reject
direkt abgelehnt werden.
Weiterführende Informationen:
BIMI ist eine Spezifikation, die von Mailgrößen wie Google, mailchimp, SendGrid und einigen anderen ins Leben gerufen wurde. Durch die Konfiguration von BIMI wird im Empfängerpostfach dein Logo neben deiner E-Mail angezeigt. Dies jedoch nur, wenn die SPF- und DKIM-Prüfung korrekt war und DMARC auf quarantine
oder reject
gesetzt ist. Damit kann der Empfänger sicher sein, dass die E-Mail aus einer vertrauenswürdigen Quelle stammt.
Weiterführende Informationen:
Voraussetzung: Du musst für deine Domain einen TXT Resource Record anlegen können. Mittlerweile unterstützt das fast jeder Hoster, suche hierzu einfach nach "TXT Record DerNameDesHosters" in einer Suchmaschine deiner Wahl.
14400
TXT
Der einfachste Weg zur korrekten Erzeugung des SPF-Wertes ist ein Generator. Empfehlen kann ich dabei den SPF-Generator von MxToolBox:
1) Do you send email from your webserver? Wähle hier Yes, wenn dein Webserver z.B. über ein Formular E-Mails versendet. Häufig ist das bei PHP-Formularen der Fall. Idealerweise solltest du alle Formulare so konfigurieren, dass sie Mails nur über SMTP versenden und nicht über den Webserver. Ist das bei dir der Fall, wähle hier No.
2) Do you send email from the same server in your MX records? Wähle hier Yes, wenn die Server in den MX-Records ebenfalls E-Mails versenden. Wenn du hier nicht sicher bist, wähle einfach Yes.
3) Enter any other server hostname or domain that delivers email for your domain. Hier kannst du optional andere Domains von Servern eintragen, welche E-Mails für dich versenden.
4) Enter your domain's IPv4 Addresses / CIDR Ranges. Trage hier die IP des Servers ein, auf den die Domain zeigt. Sind das mehrere Server, trägst du diese mit Komma getrennt ein.
5) How strict should the SPF Policy be? Kommt eine E-Mail von einem Server, der nicht in der erlaubten Liste ist, greift die letzte Regel. Hier kannst du zwischen folgenden Optionen wählen:
• Strict: Alle Mails von Servern, die nicht im SPF-Eintrag erlaubt sind sollen abgelehnt werden.
• Soft Fail: Ist ein Sender nicht im SPF-Eintrag erlaubt, soll die E-Mail zwar akzeptiert aber markiert werden.
• Neutral: E-Mail wird akzeptiert, da keine genaueren Informationen vorliegen.
Für den ersten Start empfehle ich Soft Fail, um zu überprüfen, ob alles richtig konfiguriert ist. Funktioniert alles, sollte der Eintrag auf Strict gesetzt werden.
Unten wird nun der erzeugte Wert für den TXT-Record angezeigt. Kopiere und speichere diesen wie oben beschrieben als TXT-Eintrag deiner Domain.
Der Eintrag für tomriedl.com sieht z.B. folgendermaßen aus:v=spf1 ip4:195.30.85.80 include:mailout1.sp-server.net +a +mx -all
Überprüfe den Eintrag über den MxToolBox SPF Record Check. Lies dir auch weitere Überprüfungsmethoden unter Überprüfung der Zustellbarkeit durch.
Weiterführende Informationen:
Voraussetzung: Dein E-Mailserver muss DKIM unterstützen und du musst für deine Domain einen TXT Resource Record anlegen können.
Die Einrichtung von DKIM ist im Vergleich zu SPF deutlich einfacher, denn der E-Mailserver bzw. das Konfigurationspanel generiert den DKIM-Eintrag für dich. Der private Schlüssel zur Signierung wird hierbei auf dem Server selbst erzeugt und verlässt diesen auch nicht. Der öffentliche Schlüssel, der dann als Resource-Record verwendet wird, wird dagegen im Panel angezeigt.
Im folgenden die Beschreibung und Screenshots von cPanel beim Hoster Serverprofis. Das Prinzip ist bei den anderen Konfigurationspanels ähnlich und diese Anleitung sollte somit übertragbar sein.
Prüfe zuerst, ob DKIM bei dir bereits eingerichtet ist. Hierzu gehst du folgendermaßen vor:
s=
. Steht dort z.B. s=email
, kopiere email
.._domainkey
v=DKIM1; k=rsa; p=<public-key>
Weiterführende Informationen:
Voraussetzung: SPF und DKIM müssen zuvor eingerichtet sein und du musst für deine Domain einen TXT Resource Record anlegen können.
Viele Hoster bieten für die Domains bereits einen DMARC-Assistenten, wie auch mein Hoster Serverprofis, im folgenden beschreibe ich die manuelle Konfiguration, falls es einen solchen Assistenten nicht gibt:
_dmarc
14400
TXT
Wenn du einen Generator für den TXT-Eintrag verwenden willst, kann ich dir MxToolBox DMARC Record Generator empfehlen. Für die manuelle Einrichtung verwende folgende Konfigurationstabelle.
Der Eintrag hat folgendes Format: v=DMARC1; p=1; sp=2; pct=3; adkim=4; aspf=5; fo=6; ruf=7; rua=8; ri=9
. Die Werte für 1-9 werden in der folgenden Tabelle genauer beschrieben:
Nr. (Key) | Wert | Beschreibung |
---|---|---|
1 (p) | • none • quarantine • reject | Pflichtfeld: Vorschrift, wie bei einer ungültigen E-Mail der Hauptdomain vorgegangen werden soll. • none: Hier wird nichts unternommen, ist lediglich für eine Berichterstellung. • quarantine: Ungültige E-Mail wird in die Quarantäne/Spam-Ordner verschoben. • reject: E-Mail wird sofort abgewiesen und erreicht das Zielpostfach nicht (empfohlen). |
2 (sp) | • none • quarantine • reject | Optional: Vorschrift, wie bei einer ungültigen E-Mail der Subdomain vorgegangen werden soll. |
3 (pct) | 1 - 100 Standard: 100 | Optional: Prozentwert, bei wievielen E-Mails die DMARC-Regel angewendet werden sollen. |
4 (adkim) | • r (relaxed)• s (strict)Standard: r | Optional: Alignment für DKIM, welcher festlegt, ob die Domain inkl. Subdomain übereinstimmen muss. |
5 (aspf) | • r (relaxed)• s (strict)Standard: r | Optional: Alignment für SPF, welcher festlegt, ob die Domain inkl. Subdomain übereinstimmen muss. |
6 (fo) | • 0 (Bericht, wenn SPF+DKIM fehlschlagen)• 1 (Bericht, wenn SPF oder DKIM fehlschlagen)• s (Bericht, wenn SPF fehlschlägt)• d (Bericht, wenn DKIM fehlschlägt) | Optional: Hier kannst du festlegen, in welcher Situation Daten für einen Bericht gesammelt werden sollen. |
7 (ruf) | mailto:mail@example.com | Optional: E-Mail-Adresse, an den der forensische Bericht gesendet werden soll. |
8 (rua) | mailto:mail@example.com | Optional: E-Mail-Adresse, an den der aggregierte Bericht gesendet werden soll. |
9 (ri) | Häufigkeit der Berichte in Sekunden. Standard: 86400 (ein Tag) | Optional: Die Häufigkeit, mit der die Berichte gesendet werden. Kleinere Werte als einmal am Tag werden eventuell von den Mailanbietern ignoriert. |
Um sich selbst vor Spam zu schützen, sollte man für ruf
und rua
keine E-Mail verwenden, die man im Alltag verwendet. Entweder man richtet ein eigenes Postfach ein, verwendet Services, wie EasyDMARC (kostenloser Tarif vorhanden) oder MxToolBox Delivery Center (ab $99 pro Monat) oder nutzt OpenSource-Lösungen, wie dmarc-visualizer oder andere.
Nachdem du DMARC eingerichtet hast, solltest du zwingend die Zustellung testen. Siehe hierzu den Abschnitt Überprüfung der Zustellbarkeit.
Weiterführende Informationen:
Voraussetzung: SPF und DKIM müssen zuvor eingerichtet sein, DMARC auf quarantine/reject gesetzt sein, du musst für deine Domain einen TXT Resource Record anlegen können und du benötigst dein Logo als SVG.
Die BIMI-Einrichtung erfordert drei Schritte, 1. Vorbereitung des Logos, 2. Upload des Logos und 3. Konfiguration des TXT-Records.
version="1.2"
und baseProfile="tiny-ps"
hinzu.<title>Dein Name bzw. dein Firmenname</title>
docker run -it -v "$(pwd):/wd" -w /wd alpine:latest /bin/sh -c "apk add curl openjdk11 python3 py3-pip && pip3 install jingtrang && curl https://bimigroup.org/resources/SVG_PS-latest.rnc.txt > /tmp/spec.txt && pyjing -c /tmp/spec.txt *.svg"
docker run -it -v "$(pwd):/wd" -w /wd alpine:latest /bin/sh -c "apk add curl openjdk11 python3 py3-pip && pip3 install jingtrang && curl https://bimigroup.org/resources/SVG_PS-latest.rnc.txt > /tmp/spec.txt && pyjing -c /tmp/spec.txt *.svg"
docker run -it -v "$(pwd):/wd" -w /wd alpine:latest /bin/sh -c "apk add curl openjdk11 python3 py3-pip && pip3 install jingtrang && curl https://bimigroup.org/resources/SVG_PS-latest.rnc.txt > /tmp/spec.txt && pyjing -c /tmp/spec.txt *.svg"
default._bimi
14400
TXT
v=BIMI1; l=https://example.com/pfad/zu/deiner/svg-datei.svg;
Weiterführende Informationen:
E-Mails sollten nicht nur vom Server über DKIM, sondern auch auf dem Gerät, auf dem du die E-Mail schreibst mit deinem persönlichen Schlüssel signiert werden. Hierfür gibt es:
Weiterhin hast du mit OpenPGP und S/MIME die Möglichkeit E-Mails zu verschlüsseln.
Die beiden Arten der Signierung/Verschlüsselung würden allerdings den Rahmen dieses Artikels sprengen. Ich plane deshalb einen weiteren Artikel, um auch hier eine Anleitung zur Verfügung zu stellen.
Der einfachste Weg um die Zustellbarkeit zu überprüfen ist, eine E-Mail mit beliebigem Betreff und Text an ping@tools.mxtoolbox.com zu senden. Innerhalb weniger Minuten bekommst du dann das Prüfergebnis:
Zur Überprüfung über Google sendest du von deinem E-Mailkonto eine E-Mail an deine Gmail-Adresse:
Der Quelltext der Seite ist Open-Source und kann hier eingesehen werden (zum Editieren bitte einen Merge-Request stellen, Gastbeiträge sind ebenfalls erwünscht).
Startseite Tags Abkürzungen/Definitionen VIP-Gruppe Über Tom Riedl
tomriedl.com - Version 2.28.1