Tag 21 - SPF, DKIM, DMARC - E-Mails per SMTP sicher versenden
- Stefan Wendhausen
In der Standardkonfiguration nutzt Joomla! PHP-Mail als Mailer. Warum du jetzt auf SMTP als Versandmethode umsteigen solltest.
Der Unterschied zwischen der PHP-Mail-Methode und SMTP in Joomla liegt in der Art und Weise, wie E-Mails gesendet werden. Starten wir mit den Grundlagen:
PHP-Mail-Methode vs. SMTP
PHP-Mail-Methode
- Definition:
Die PHP-Mail-Methode nutzt die mail()-Funktion von PHP, die standardmäßig auf den meisten Servern verfügbar ist. - Funktionsweise:
- Die mail()-Funktion ruft den Mailserver des Webhosts direkt auf.
- Keine zusätzliche Konfiguration des Mailservers erforderlich.
- Vorteile:
- Einfach einzurichten, da es keine zusätzlichen Informationen benötigt (z. B. SMTP-Server oder Anmeldeinformationen).
- Standardmäßig auf vielen Servern aktiviert.
- Nachteile:
- Sicherheitsprobleme: Keine Authentifizierung oder Verschlüsselung, was die Methode anfällig für Missbrauch und Spam machen kann.
- Geringere Zustellbarkeit: E-Mails, die über die PHP-Mail-Methode gesendet werden, landen oft im Spam-Ordner, da sie nicht mit Authentifizierungsprotokollen wie SPF, DKIM oder DMARC abgesichert sind.
Ja, es gibt Ausnahmen für SPF, DKIM und DMARC in Kombination mit PHP-Mail, aber dies muss dann mit dem Hoster im Detail geklärt werden. - Serverabhängigkeit: Funktioniert nur, wenn der Hosting-Provider die mail()-Funktion nicht eingeschränkt oder deaktiviert hat.
SMTP (Simple Mail Transfer Protocol)
- Definition:
SMTP ist ein standardisiertes Protokoll für den Versand von E-Mails über einen dedizierten Mailserver. - Funktionsweise:
- Joomla sendet die E-Mails über einen SMTP-Server, z. B. Gmail, Outlook oder den Mailserver deines Hosting-Anbieters.
- Erfordert Authentifizierung (Benutzername und Passwort) und oft Verschlüsselung (TLS/SSL).
- Vorteile:
- Höhere Zustellbarkeit: E-Mails, die über SMTP gesendet werden, sind weniger anfällig für Spam-Kennzeichnung, da sie Authentifizierungsmechanismen wie SPF und DKIM nutzen können.
- Sicherheit: Verschlüsselte Verbindung durch TLS/SSL möglich.
- Flexibilität: Ermöglicht die Verwendung von externen SMTP-Diensten (z. B. Google Workspace, Microsoft 365, SendGrid).
- Nachteile:
- Erfordert Konfiguration: Man muss Serverdetails (Host, Port, Benutzername, Passwort) manuell eingeben.
- Abhängigkeit von einem SMTP-Dienst: Wenn die Zugangsdaten oder der SMTP-Dienst nicht korrekt eingerichtet sind, können E-Mails nicht gesendet werden.
Wann sollte man welche Methode wählen?
- PHP-Mail-Methode:
- Für einfache und unkritische Setups.
- Wenn der Hosting-Anbieter zuverlässig ist und die mail()-Funktion korrekt funktioniert.
- Bei Test- oder Entwicklungsumgebungen.
- SMTP:
- Für produktive Umgebungen, in denen die Zustellbarkeit von E-Mails entscheidend ist.
- Wenn du einen Drittanbieter-E-Mail-Dienst nutzt oder die Sicherheit und Authentifizierung priorisierst.
- Wenn dein Hosting-Anbieter die PHP-Mail-Funktion eingeschränkt hat.
Fazit
Für professionelle und zuverlässige E-Mail-Kommunikation wird die Verwendung von SMTP empfohlen, da es sicherer ist und die Wahrscheinlichkeit erhöht, dass E-Mails zugestellt werden. Die PHP-Mail-Methode ist eher für einfache Anwendungen oder Testzwecke geeignet.
Einführung in SPF, DKIM und DMARC
SPF, DKIM und DMARC sind E-Mail-Authentifizierungsprotokolle, die dazu dienen, die Sicherheit und Zustellbarkeit von E-Mails zu verbessern. Sie schützen vor Spoofing (falsches Versenden von E-Mails unter einer fremden Domain) und erhöhen die Glaubwürdigkeit von E-Mails bei E-Mail-Diensten.
SPF (Sender Policy Framework)
Was ist SPF?
SPF ist ein Mechanismus, der festlegt, welche Server berechtigt sind, E-Mails im Namen deiner Domain zu senden. Der Empfänger prüft anhand des DNS-Eintrags deiner Domain, ob die E-Mail von einem autorisierten Server stammt.
Wie funktioniert SPF?
- Ein DNS-Eintrag (TXT-Record) wird für deine Domain erstellt.
- Der TXT-Record enthält eine Liste von IP-Adressen oder Servern, die E-Mails im Namen der Domain senden dürfen.
- Wenn eine E-Mail gesendet wird, prüft der empfangende Server die Absenderadresse und vergleicht sie mit der im SPF-Record hinterlegten Liste.
- Stimmen sie überein, wird die E-Mail zugestellt. Andernfalls kann sie als Spam markiert oder abgelehnt werden.
Beispiel eines SPF-Eintrags:
v=spf1 include:_spf.google.com -all
- v=spf1: Version des SPF-Protokolls.
- include:_spf.google.com: Autorisiert Google-Server zum Senden von E-Mails.
- -all: Verweigert alle nicht autorisierten Server.
Vorteile von SPF:
- Verhindert, dass nicht autorisierte Server E-Mails im Namen deiner Domain senden.
- Einfach zu implementieren.
Einschränkungen:
- Schützt nur die “Envelope From”-Adresse, nicht die sichtbare “From”-Adresse.
- Kann bei Weiterleitungen (z. B. E-Mail-Weiterleitungen) zu Problemen führen.
DKIM (DomainKeys Identified Mail)
Was ist DKIM?
DKIM stellt sicher, dass eine E-Mail während der Übertragung nicht manipuliert wurde. Es verwendet eine digitale Signatur, um die Integrität und Authentizität der E-Mail zu garantieren.
Wie funktioniert DKIM?
- Ein Paar aus öffentlichem und privatem Schlüssel wird generiert.
- Der öffentliche Schlüssel wird in einem DNS-TXT-Eintrag deiner Domain veröffentlicht.
- Der private Schlüssel wird auf dem Mailserver gespeichert und verwendet, um ausgehende E-Mails zu signieren.
- Der empfangende Server prüft die Signatur mithilfe des öffentlichen Schlüssels. Wenn die Signatur gültig ist, gilt die E-Mail als authentisch.
Beispiel eines DKIM-Eintrags:
default._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh...IDAQAB"
- v=DKIM1: Version des DKIM-Protokolls.
- k=rsa: Verschlüsselungsalgorithmus.
- p=MIIBIj...: Öffentlicher Schlüssel.
Vorteile von DKIM:
- Verhindert die Manipulation von E-Mails während der Übertragung.
- Erhöht die Glaubwürdigkeit der Absenderdomain.
Einschränkungen:
- Komplexer einzurichten als SPF.
- Funktioniert nicht, wenn E-Mails stark verändert werden (z. B. durch manche Weiterleitungssysteme).
DMARC (Domain-based Message Authentication, Reporting, and Conformance)
Was ist DMARC?
DMARC baut auf SPF und DKIM auf und definiert eine Richtlinie, wie empfangende Mailserver mit nicht authentifizierten E-Mails umgehen sollen. Außerdem ermöglicht es Berichte über den E-Mail-Verkehr deiner Domain.
Wie funktioniert DMARC?
- Ein DNS-TXT-Eintrag für DMARC wird erstellt.
- Der Eintrag legt fest, wie E-Mails überprüft werden (SPF, DKIM oder beide) und was passieren soll, wenn eine E-Mail nicht authentifiziert werden kann.
- Berichte über Authentifizierungsfehler können an eine definierte Adresse gesendet werden.
Beispiel eines DMARC-Eintrags:
v=DMARC1; p=quarantine; rua=mailto:Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
- v=DMARC1: Version des DMARC-Protokolls.
- p=quarantine: Richtlinie, um E-Mails in den Spam-Ordner zu verschieben, wenn sie nicht authentifiziert werden.
- rua=mailto:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. : Adresse, an die Berichte gesendet werden.
Vorteile von DMARC:
- Kombiniert SPF und DKIM für maximale Sicherheit.
- Ermöglicht Berichte über E-Mail-Authentifizierungsfehler.
- Schützt vor Phishing und Spoofing.
Einschränkungen:
- Erfordert SPF und/oder DKIM korrekt eingerichtet.
- Berichte können umfangreich und komplex zu analysieren sein.
Zusammenhang zwischen SPF, DKIM und DMARC
- SPF und DKIM: Authentifizieren E-Mails.
- DMARC: Überwacht und steuert, wie SPF und DKIM angewendet werden, und bietet eine zentrale Richtlinie sowie Reporting.
Fazit
SPF, DKIM und DMARC arbeiten zusammen, um die Sicherheit und Zustellbarkeit von E-Mails zu gewährleisten:
- SPF autorisiert Mailserver.
- DKIM prüft die Integrität und Authentizität der E-Mail.
- DMARC definiert Richtlinien und bietet Berichte zur Analyse.
Für maximale Sicherheit sollten alle drei Mechanismen implementiert werden.
Wichtig in diesem Zusammenhang ist das Testen deiner DNS Einstellungen nach der Einrichtung. Nichts ist schlimmer, wenn dein E-Mail-Versand wegen Tippfehlern nicht mehr funktioniert. Wende dich im Zweifel direkt an deinen Hoster oder einen Dienstleister deiner Wahl.
Hier findest du verschiedene freie Tools zur Überprüfung.
- E-Mail-Zustellbarkeit: https://mxtoolbox.com/deliverability
- SPF Check: https://www.spf-record.de/spf-lookup/
- Google Admin Toolbox Dig: https://toolbox.googleapps.com/apps/dig/#A/