Was macht ein "-all" in einem enthaltenen (sekundären) SPF-Datensatz?

956
Codeswitcher

In einem SPF- -allEintrag bedeutet die Option "Ich liste nur die Maschinen / Domänen auf, die ich hier explizit verweise, und es können keine anderen Server E-Mails für diese Domäne erstellen."

Was bedeutet es also, wenn man include:in einem SPF-Datensatz die Option zum Einfügen eines zweiten SPF-Datensatzes verwendet und dieser sekundäre SPF-Datensatz hat -all? Was bewirkt es dort zu sein?

1
Ich habe mir die Freiheit genommen, ein konkretes Beispiel hinzuzufügen, um die Frage zu klären. Es sollte dabei helfen, wahrgenommene Mehrdeutigkeiten zu beseitigen. Daniel B vor 7 Jahren 0
@DanielB Außer Sie haben die Frage auf etwas anderes als das, was ich gestellt habe, geändert. Umkehren Codeswitcher vor 7 Jahren 0
Ich entschuldige mich, aber ich sehe nicht, dass das Beispiel nicht genau das ist, wonach Sie gefragt haben. Beispiele veranschaulichen, worum Sie fragen. Daniel B vor 7 Jahren 0
@DanielB, weil er "Codeswitcher" ist, was erwarten Sie dann? :) Codeswitcher, bitte sehen Sie es nicht als eine Frage nach einem Kampf, es ist nur ein Witz, der normalerweise dazu beiträgt, noch komplizierteres Material zu lösen. Sie stellen eine interessante Frage, aber es fehlen Informationen und korrekte Begriffe. Alex vor 7 Jahren 0
Fast die gleiche Frage mit einer ** sehr gut erklärenden Antwort **: [SPF mit -all enthält Direktive mit ~ all?] (Https://serverfault.com/q/848711/84914) pabouk vor 5 Jahren 0

3 Antworten auf die Frage

4
Lars Lind Nilsson

Der Include-Mechanismus löst eine rekursive Auswertung für den enthaltenen Datensatz aus. Wenn diese Bewertung fehlschlägt (z. B. durch ein -all im enthaltenen Datensatz), wird das Ergebnis des Include-Mechanismus als "Nicht übereinstimmend" betrachtet. In der Praxis hat also ein -all-Mechanismus (oder ein anderer Mechanismus mit - Qualifier) ​​in einem enthaltenen SPF-Datensatz keinen Einfluss auf die Bewertung des Primärdatensatzes.

Eine vollständige Übersicht über die Auswirkungen des Include-Mechanismus auf die Auswertung des Primärdatensatzes finden Sie in der Tabelle in Abschnitt 5.2 von RFC 7208 ( https://tools.ietf.org/html/rfc7208#section-5.2 ).

Wieder einmal, es gibt KEINE Bezeichnung in SPF als "sekundäre Aufzeichnung"! Alex vor 7 Jahren 0
"Sekundärer Datensatz" war der von OP verwendete Begriff, daher habe ich nur mit demselben Begriff geantwortet. Beim Lesen der Frage bezieht sich "sekundärer Datensatz" auf den enthaltenen SPF-Datensatz. Lars Lind Nilsson vor 7 Jahren 0
Vergessen Sie nicht, dass eine Reihe von Lurkern davon ausgehen kann, dass es in Ordnung ist, mehrere SPF-Einträge in DNS zu verwenden. Enthalten! = Sekundär. Alex vor 7 Jahren 0
Ich habe die Antwort bearbeitet, um das Risiko von Terminologieverwirrungen zu reduzieren. Lars Lind Nilsson vor 7 Jahren 0
Danke für Ihr Verständnis. Ich beschäftige mich täglich mit solchen Problemen (sekundär - mehrere SPF-Einträge in DNS), deshalb versuche ich, darauf Akzent zu setzen Alex vor 7 Jahren 0
0
davidgo

Das -allam Ende wird interpretiert, nachdem alle Include-Einträge behandelt wurden.

Sein Zweck ist es zu kommunizieren, wie E-Mails, die nicht über die aufgelisteten Ressourcen versendet werden, behandelt werden sollen.

-allbedeutet, sie als Fälschungen abzulegen, während ~allbedeutet, dass sie noch legitim sind und mit mehr Misstrauen behandelt werden sollten.

Ich denke, Sie wollten sagen - "Alle" bedeutet, dass dieser ausgehende Server zum Versenden von E-Mails berechtigt ist und alle anderen als Fälschungen abgelegt werden müssen ", ansonsten muss man fast das gesamte Internet auflisten Alex vor 7 Jahren 0
Das ist was er gesagt hat. "wie E-Mails, die nicht über die aufgelisteten Ressourcen gesendet werden, behandelt werden sollen" cascer1 vor 7 Jahren 0
0
cascer1

Für eine SPF-Prüfung muss die sendende IP-Adresse mindestens einen der Mechanismen bestehen. Include-Mechanismen testen die eingehende IP-Adresse mit dem enthaltenen SPF-Datensatz und geben das Ergebnis zurück.

An deinem Beispiel:

a.example.com IN TXT "v=spf1 include:b.example.com +all" b.example.com IN TXT "v=spf1 -all" 

Der enthaltene Datensatz wird fehlschlagen, da er nur einen -allMechanismus enthält . Der erste Datensatz wird jedoch übergeben, da er über einen +allMechanismus verfügt.

An einem detaillierteren Beispiel:

a.example.com IN TXT "v=spf1 ip4:1.2.3.4 mx include:spf.example.org -all" a.example.com IN MX 0 mailserver.example.com mailserver.example.com IN A 1.2.3.5 spf.example.org IN TXT "v=spf1 ip4:4.3.0.0/16 -all" 

Ich schreibe das Ergebnis jedes Mechanismus in der Reihenfolge auf, in der sie im Datensatz angegeben sind. Die Ergebnisse werden also als solche formatiert:

  • a.example.com: [ip4] [mx] [include] [-all]
  • spf.example.org: [ip4] [-all]

Mit folgenden Absenderadressen:

1.2.3.4

  • spf.example.org -> fail fail
  • a.example.com -> pass fail fail fail

Das Endergebnis ist pass, da mindestens eine Prüfung bestanden wurde

1.2.3.5

  • spf.example.org -> fail fail
  • a.example.com -> fail pass fail fail

Das Endergebnis ist pass, da mindestens eine Prüfung bestanden wurde

4.3.10.20

  • spf.example.org -> pass fail
  • a.example.com -> fail fail pass fail

Das Endergebnis ist pass, da mindestens eine Prüfung bestanden wurde

TL; DR: Der Include-Mechanismus wird separat ausgewertet und das Ergebnis an die Auswertung des Datensatzes zurückgegeben, in dem es enthalten ist. Datensatzauswertung schlägt fehl, wenn keine Mechanismen übereinstimmen. Da Sie Ihr Beispiel mit beendet haben +all, wird es immer passen und deshalb passieren.