* Sender Policy Framework * soll helfen Spam zu erkennen, in dem geprüft wird ob ein Mailserver berechtigt ist Mails für eine bestimmte Domain zu versenden * wird über TXT bzw. SPF-Records im DNS der jeweiligen Domain umgesetzt ===== Funktionsweise ===== * Wikipedia: http://de.wikipedia.org/wiki/Sender_Policy_Framework Der SPF-Record im DNS ist ein TXT oder SPF Record der alle Rechner auflistet die Mails für eine Domain versenden dürfen. \\ Außerdem definiert er wie Rechner einzustufen sind die Mails versenden, aber nicht in der Liste sind. \\ \\ Der Domain-Teil der Adresse im From im Envelope (nicht zu verwechseln mit dem was der Benutzer im Mailprogramm als From sieht -> From-Header; ist das was der Benutzer im Return-Path sieht) wird im DNS in einen SPF- oder TXT-Record aufgelöst. \\ \\ Die IP-Adresse von der die Mail kam wird gegen die Liste der für die Domain als Mailserver zugelassenen IP-Adressen geprüft. * Absender sendet From: test@meinedomain.com * IP-Adresse des Absenders ist 56.3.4.8 * Empfängermailserver sendet Anfrage an DNS für TXT und/oder SPF Record für Domain meinedomain.com * DNS-Server liefert: meinedomain IN TXT +ip4:56.3.4.8 +ip4:56.3.4.8 -all * Absender-IP steht als + (Positiv) und damals als zulässiger Abensender im Record ===== Aufbau Record ===== * Offizielle DOku: http://www.openspf.org/SPF_Record_Syntax Syntax: Domainname IN TXT "v=spf1 //liste//" \\ \\ * //liste// -> die Liste der zulässigen bzw. nicht zulässigen Absendersysteme \\ \\ \\ Liste Syntax: [Qualifier]Mechanismus/Adresse \\ \\ * Qualifier -> +, -, ~, ? * Ist optional, wird nicht angegeben wird Neutral angenommen (keine Aussage zum System) * + -> zulässig (positiv) * - -> unzulässig als Sender (negativ) * ? -> keine Aussage (Neutral) * Mechanismus * Definiert die Adresse * MX, all, a, ip6, ip4 * MX -> Alle IP-Adressen für die ein MX-EIntrag in der Domain existiert * all -> Alle IP-Adressen; In der Regel sollte man das an das Ende des Records schreiben: -all -> wenn der Rechner durch keine Regel zuvor erfasst wird, dann ist er nicht berechtigt zu senden * a -> Prüfe alle A-Records der Domain * ip4/ip6 -> Syntax: ip4:IP-Adresse bzw. ip4:IP-Adresse/Netzmaske -> Direktes angeben einer IP-Adresse bzw. Bereich von IP-Adressen Beispiel: google.com. IN TXT "v=spf1 ip4:216.73.93.70/31 ip4:216.73.93.72/31 -all" \\ \\ Im Beispiel werden die Netze 216.73.93.70/31 ip4:216.73.93.72/31 auf Neutral gesetzt. Alle anderen sind nicht berechtigt zu senden (-all). **Hinweis:** Einige Mailserver scheinen Hostnamen in SPF-Records nicht weiter aufzulösen (möglicherweise um Attacken über DNS zu verhindern) und lehnen die Verbindung ab, wenn der Record nicht alle Mailserver als erstes als IP-Adresse auflistet. \\ Das bedeutet um auf der sicheren Seite zu sein, sollte der SPF so aussehen: v=spf1 ip4:216.73.93.70/31 - sprich alle Mailserver als IP-Adressen entahlten ===== Informationen ===== * Offizielle Siete mit vielen Informationen: http://www.openspf.org/ * SPF-Verifizierungstools: http://tools.bevhost.com/spf/