SPF-Datensatz für Mailserver – SouToub


SPF-Eintrag für Mailserver 01Ein SPF-Eintrag für einen Mailserver ist einer von denen, die Sie nicht nur für jede Domain, die E-Mails sendet, erstellen können, sondern müssen.… Dies ist nicht nur sehr einfach, sondern auch äußerst nützlich, um die Reputation einer Domain zu verbessern. Die einfache Implementierung von SPF sollte Sie jedoch nicht irreführen, da die Realität viel komplizierter ist. Worauf genau werden wir in diesem Artikel nur eingehen.

Gesponsert diesen Artikel RFC 7208 🙂


Wenn Sie sich für das Thema Mailserver interessieren, empfehle ich Ihnen, den entsprechenden Abschnitt in meinem Blog – Mailserver – zu lesen.


SPF-Datensatz für Mailserver

Wenn Sie Zweifel an der Richtigkeit und Zuverlässigkeit von Informationen haben, ist es niemals überflüssig, auf die Originalquelle zu verweisen. Ebenso gibt es bei SPF viele Amateurartikel im Internet über die Best Practices zum Erstellen und Verwenden von SPF, aber persönlich haben mich all diese Tipps nur in die Irre geführt. Deshalb öffnen wir RFC 7208 und wir fangen an, Mythen zu zerstören.

Ich empfehle die folgende Artikelliste zu lesen:

Fahren wir also mit SPF fort.

Geplanter Termin

Spammer können versuchen, E-Mails für bekannte Domains mit einem guten Ruf zu senden, wobei sie absolut jede ausgehende IP-Adresse verwenden. SPF dient in diesem Fall dazu, die Liste der ausgehenden Adressen einzuschränken, von denen aus E-Mails an eine bestimmte Domäne gesendet werden dürfen. ::

Noch genauer gesagt ermöglicht SPFv1 dem Eigentümer einer Domäne, seine E-Mail-Versandrichtlinie anzugeben, z. B. welche Mailserver er zum Senden von E-Mails von seiner Domäne verwendet.

Mit anderen Worten, SPF schützt uns vor dem Fälschen der Absenderadresse (und nur der Adressen und sonst nichts) und ermöglicht es uns, den sendenden Server zu autorisieren (bestimmen Sie, ob dieser Server E-Mails von einer bestimmten Domäne senden darf oder nicht).

Protokollgrundlagen

Die Implementierung des SPF-Protokolls bedeutet nicht, dass zusätzliche Infrastrukturen für den Betrieb bereitgestellt werden müssen. Sie müssen lediglich sorgfältig eine Liste aller Server erstellen, die E-Mails von einer bestimmten Domäne senden, und anschließend einen einzelnen TXT-Eintrag für diese Domäne erstellen.

Die Aufgabe von SPF besteht darin, zu überprüfen, ob die Adresse des sendenden Servers im SPF-Datensatz der Domäne enthalten ist. Wenn die Adresse enthalten ist, dann spf = pass, sonst spf = fehlschlagen.

Gleichzeitig sollte SPF die Frage „Blockieren der empfangenen Nachricht oder nicht?“ Nicht eindeutig beantworten. Ihr Antispam-Dienst sollte dies auf der Grundlage verschiedener Bewertungen und Kriterien tun, unter denen das SPF-Prüfergebnis nur eines von vielen ist. Dies wird durch die Schlussfolgerungen im RFC bestätigt:

SPF-Ergebnisse “fehlgeschlagen” können alternativ als eine Eingabe in einen größeren Satz von Bewertungen verwendet werden, die basierend auf einer Kombination von SPF-Ergebnissen “fehlgeschlagen” mit anderen Bewertungstechniken dazu führen können, dass die E-Mail in irgendeiner Weise negativ markiert wird (dies kann der Fall sein) durch Zustellung an einen speziellen Spam-Ordner, Ändern von Betreffzeilen oder andere lokal festgelegte Mittel).

Daher wird empfohlen, die Softfail-Richtlinie (Direktive) zu verwenden ~ alle einmal in der Aufzeichnung und nur ganz am Ende) in allen möglichen Fällen, um die Ablehnung gültiger Briefe auszuschließen, die die SPF-Prüfung nicht bestanden haben (und dies geschieht). Benutzen -alles nützlich für Domains, von denen keine E-Mails gesendet werden.

HELO / EHLO и MAIL VON

Die zu überprüfende Domain wird aus dem Envelope-Header extrahiert MAIL VON (andere Namen – Rückweg, Bounce-Adresse, Umschlag von) … In einigen Fällen ist es jedoch erforderlich, den Titel zu verlassen MAIL VON leer. Dies wird beispielsweise beim Senden von NDR, DSN verwendet ::

Immer wenn eine SMTP-Transaktion zum Senden eines DSN verwendet wird, MUSS der Befehl MAIL FROM eine NULL-Rücksprungadresse verwenden, dh «MAIL FROM: <>».

Wenn MAIL VON leer, wird die erforderliche Domain aus der Antwort abgerufen HELO / EHLO Server senden.

Hinweis: und dies ist ein weiterer Grund, das richtige helo / ehlo auf Ihren Mailservern zu installieren. Bei eksch erfolgt dies für alle Sendeconnectors mit dem folgenden Befehl:
Get-SendConnector | Set-SendConnector -Fqdn mail.domain.tld
Sie müssen fqdn für Empfangsconnectors nicht ändern, da dies den Nachrichtenfluss innerhalb der Organisation beeinträchtigt. Stellen Sie für Postfix den Parameter ein myhostname, пStarten Sie dann den Daemon neu oder laden Sie ihn neu.

Darüber hinaus empfiehlt der RFC, zuerst zu prüfen HELO / EHLO als am wenigsten ressourcenintensiv im Vergleich zu MAIL VON… Aus diesem Grund besteht eine der RFC-Empfehlungen darin, einen SPF-Eintrag für den DNS-Namen zu erstellen, den der Server in den HELO / EHLO-Begrüßungen sendet.

Das Prinzip des SPF-Betriebs legt ein weiteres Merkmal dieses Protokolls nahe – die Ergebnisse seines Betriebs sind für den Endbenutzer absolut unsichtbar. Ja wirklich, MAIL VON ist ein Umschlagkopf und ist für den Benutzer nicht sichtbar, während der Kopf Von Die Nachricht selbst kann eine völlig andere Adresse enthalten (ein völlig anderes Protokoll – DKIM, das im Artikel DKIM-Technologie für einen Mailserver beschrieben wird) und schützt vor dem Ersetzen dieses Headers. HELO / EHLO sind für den Benutzer nicht sichtbar, zumal sie auch in Umschlagkopfzeilen maskiert sind Empfangen … Und SPF analysiert keine anderen Daten.

SPF-Einschränkungen

Wenn Sie RFC 7208 durchblättern, stoßen Sie auf einige sehr merkwürdige Einschränkungen, die Sie leicht übersehen können, zum Beispiel:

  • Dürfen Verwenden Sie nur TXT-Datensätze… Alle anderen Typen (z. B. SPF) gelten als zumindest experimentell und werden höchstens überhaupt nicht unterstützt.
  • Für jeden Namen sollte es nur geben ein einziger SPF-DatensatzMehrfacheinträge werden nicht unterstützt. In diesem Fall ist es zulässig, einen Datensatz in mehrere Teile zu unterteilen, wenn die Gesamtzahl der Zeichen 255 überschreitet. Es ist jedoch wünschenswert, dass der Datensatz so kurz wie möglich ist.
  • Verwenden Sie keine PTR-Datensätze Innerhalb des SPF verbietet der Standard dies ausdrücklich:

5.5. «Ptr» (nicht verwenden)

Dieser Mechanismus sollte NICHT veröffentlicht werden.

Hinweis: Dieser Mechanismus ist langsam, bei DNS-Fehlern nicht so zuverlässig wie andere Mechanismen und stellt eine große Belastung für die .arpa-Nameserver dar. Bei Verwendung müssen für die Hosts der Domäne geeignete PTR-Datensätze vorhanden sein, und der Mechanismus «ptr» sollte einer der zuletzt überprüften Mechanismen sein. Nach langjähriger Erfahrung in der SPF-Bereitstellung wurde der Schluss gezogen, dass unnötige und zuverlässigere Alternativen verwendet werden sollten.

  • Aufzeichnung sollte so wenig Anhänge wie möglich enthalten, wie a, mx, include (und ptr natürlich)Da für die Ermittlung einer IP-Adresse DNS-Suchvorgänge erforderlich sind und die SPF-Implementierung die Durchführung von mehr als 10 Abfragen verhindert. Weitere Informationen zu dieser Einschränkung finden Sie in Artikel 10 DNS-Abfragen für einen SPF-Eintrag.
  • Ordnen DNS-abhängige Anweisungen am Ende des Datensatzesund ip4 / ip6 steht am Anfang;
  • Denken Sie daran, dass der SPF Sie aufzeichnet implementieren für die Empfänger Ihrer Briefeum es ihnen zu erleichtern, Sie als sichere Absender für Ihre Domain zu identifizieren. Dieser Datensatz hat keinerlei Auswirkungen auf die Menge an Spam, die von Absendern von Drittanbietern auf Ihre Domain gelangt.

Weitere Einzelheiten finden Sie in der Originalquelle. Wenn Sie zu faul sind, um auf Englisch zu lesen, kann ich Ihnen einen wunderbaren Artikel von Mail.ru empfehlen – SPF Geheimnisse und Mythen… Und ich wende mich lang erwarteten Beispielen zu.

Beispieldatensätze

Nachdem Sie die erforderliche Theorieebene beherrschen, können Sie mit der Erstellung von Datensätzen fortfahren. In den meisten Fällen kann das Schreiben von SPF extrem einfach sein.

  • Die folgende Option eignet sich für Domänen, von denen nur die im MX-Datensatz angegebenen Server E-Mails senden:

  • Dieser ist geeignet, wenn E-Mails nur von einem Server gesendet werden (oder Sie können bei Bedarf mehrere angeben). Diese Option ist vorzuziehen, da keine zusätzlichen DNS-Abfragen erforderlich sind, um die richtigen Adressen abzurufen:

  • Dieses Beispiel eignet sich für untergeordnete Domänen, die E-Mails von denselben Adressen wie die Hauptdomäne senden dürfen:

  • Es gibt weit verbreitete Optionen mit einem separaten Namen und einem damit verbundenen SPF-Datensatz, der von der Seite der Mail-Domain-Datensätze umgeleitet wird (Beispiel mail.ru. Beachten Sie auch die Aufteilung eines großen Datensatzes in mehrere Blöcke):

  • Das folgende Beispiel zeigt das Hinzufügen eines separaten Eintrags für den fqdn-Server, der E-Mails sendet. Diesen Datensatz schreibt der Server in die HELO / EHLO-Nachricht:

Und hier ist so eine seltsame Option von Yahoo (hier wird sie auch strikt nicht empfohlen ptr verwendet):

Hinweis: Public Domain-Datensätze sind nur zum Zeitpunkt dieses Schreibens relevant und können (und werden höchstwahrscheinlich) in Zukunft geändert werden.

Im Allgemeinen ist die Aufzeichnung immer muss mit der Protokollversion beginnen, von denen es im Moment nur ein Stück gibt – v = spf1… Verschiedene Anweisungen zur Angabe von Adressen oder Namenvon wo aus es möglich ist, E-Mails für diese Domain zu senden (a, mx, include usw.). In diesem Fall muss die Aufzeichnung entweder mit der Option beendet werden umleitenoder nach Richtlinien (~ alle, -alles oder andere).

Wenn Sie Schwierigkeiten mit der Implementierung von SPF haben oder das Problem grundlegend angehen möchten, empfehle ich Ihnen, die Best Practices zu studieren. , die häufigsten Fehler und lesen Sie einfach die FAQ … Und das ist alles für mich. Natürlich habe ich noch nichts darüber erzählt Makros, aber sie sind ziemlich selten, und das ist insgesamt eine andere Geschichte.

Kommentare bereitgestellt von HyperComments

Leave a Reply

Your email address will not be published. Required fields are marked *