IP-Ranges in SPF-Records

Wir sind bereits vor einiger Zeit einmal genauer auf das Anlegen von SPF-Records eingegangen, wobei wir beschrieben haben, wie dort spezifische IP-Adressen, Server oder sogar komplette SPF-Records einer anderern Domain eingebunden werden können. Kürzlich sind wir dabei auf ein Problem gestossen, welches bisher nicht zur Sprache kam.

Hin und wieder kann es vorkommen, dass ein Hosting (in unserem Fall KreativMedia) ausgehende Mails nicht genau von der IP-Adresse des Servers versendet, sondern auf eine benachbarte IP ausweicht. Dies kann beispielsweise der Fall sein, wenn eine IP aufgrund von zu viel Spam geblockt wurde. In diesem Fall würde der Record

"v=spf1 +a +mx -all"

die IP des eigenen Mailserver zwar inkludieren, die benachbarte IP wäre aber nicht befugt, Mails zu versenden. Falls der Empfänger den SPF-Record beachtet, wird er die Mail nicht akzeptieren. Um diesem Problem entgegenzuwirken muss eine IP-Range angegeben werden.

IPs mit Präfixlänge angeben

Es gibt verschiedene Syntaxen um eine IP-Range zu definieren. In SPF-Records wird eine Range über die Präfixlänge der IP angegeben. Diese Syntax ist anfangs etwas verwirrend, wird in diesem Beitrag auf Stackexchange aber recht gut erläutert. Generell wird über eine angehängte Zahl angegeben, wie viele Stellen der IP im Binärcode (hier hat jeder Dreierblock der IP dann acht Stellen) „maskiert“ sind und dadurch nicht variabel sind. Mit einem Beispiel sollte dies klarer werden:

192.168.178.0/24 bedeutet, dass die ersten 24 Stellen der IP im Binärcode festgelegt sind. Unter der Voraussetzung, dass jeder Block der IP binär acht Stellen hat, ist also nur der letzte Block variabel. Wir haben also eine Range von 192.168.178.0 bis 191.168.178.255 angegeben. Bei einer angehängten Präfixlänge von /16 wären die letzten zwei Blöcke variabel.

Auf opnespf.org wird zum IP4-Mechanismus erklärt:

The argument to the „ip4:“ mechanism is an IPv4 network range. If no prefix-length is given, /32 is assumed (singling out an individual host address).

SPF-Records gehen bei einer IP also immer von einer Präfixlänge von /32 aus, bei der alle Stellen maskiert sind. Für unseren Fall können wir nun die IP des Hosters mit einer Range angeben:

"v=spf1 a mx ip4:80.74.143.0/24 -all"

Nun werden alle IPs 80.74.143.0 bis 80.74.143.255 als Sender der Mail akzeptiert. Natürlich ist dies nicht mehr ganz so sicher wie die Angabe einer einzigen IP, dennoch ist dieses Risiko wohl gut vernachlässigbar.

Fazit

Es kann vorkommen, dass Mails nicht versendet werden können, obwohl eigentlich ein korrekter SPF-Record hinterlegt wurde. In diesem Fall sollte man überprüfen, ob die IP des versendenden Server mit der eigentlichen IP des Mailservers übereinstimmt. Sollte dies einmal nicht der Fall sein, macht es Sinn, den SPF-Record um einen IP-Range zu erweitern, sodass auch benachbarte IPs befugt werden, Mails von dieser Domain aus zu senden.

Sollten Sie einmal Probleme beim Mailversand oder einfach nur eine Frage zu SPF-Records haben, nehmen Sie gerne jederzeit Kontakt mit uns auf.

2 Kommentare zu “IP-Ranges in SPF-Records

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.