6. DNS - cz. 5 - SPF (Windows Server 2012)
Będzie krótko i to już koniec serii o DNS :)
Rekord SPF (Sender Policy Framework) umożliwia sprawdzenie, przyjmującym pocztę serwerom SMTP, czy serwer wysyłający e‑maile z danej domeny jest do tego uprawniony. Jest to tak na prawdę zwykły rekord tekstowy. Dla zapewnienia kompatybilności ze starszymi implementacjami serwerów/klientów DNS w domenie powinny znajdować się 2 rekordy SPF zawierające dokładnie tą samą wartość, jeden typu SPF, a drugi TXT.
Na początku każdego rekordu SPF musi się znajdować definicja wersji. Obecnie jest to "v=spf1". W dalszej części znajdują się mechanizmy wraz z odpowiednimi kwalifikatorami. Mechanizmem może być np. adres IPv4 serwera. Kwalifikator określa co zrobić z e‑mailami pochodzącymi z danego źródła/mechanizmu.
Kwalifikatory
Kwalifikator to pojedynczy znak umieszczony przed definicją mechanizmu:
- "+" - PASS - oznacza że dane źródło jest upoważnione do wysyłania maili z domeny. Jeśli przed określeniem danego mechanizmu nie ma kwalifikatora, przyjmuje się że jest to "+".
- "?" - NEUTRAL - To źródło będzie traktowane jak gdyby w ogóle go nie było...
- "~" - SOFTFAIL - Maile z tego źródła będą odrzucane lub przyjmowane, ale oznaczane jako SPAM.
- "-" - FAIL - Wiadomości z tego źródła będą zawsze odrzucane.
Mechanizmy
Zaraz po kwalifikatorze znajduje się "mechanizm", czyli określenie źródła:
- "ipv4:192.168.137.101" - Adres IPv4 - 192.168.137.101
- "ipv6:2001:db8::1428:57ab" - Adres IPv6 - ipv6:2001:db8::1428:57ab
- "a" - Każdy rekord A w domenie
- "mx" - Każdy serwer SMTP przyjmujący pocztę dla tej domeny
- "all" - Każdy host w Internecie
Przykłady
przykladowa.local. IN TXT "v=spf1 mx -all"
Każdy serwer SMTP przyjmujący pocztę dla domeny przykladowa.local. może także ją wysyłać. Poczta pochodząca z innych hostów w całym Internecie będzie odrzucona.
przykladowa.local. IN TXT "v=spf1 a -all"
Poczta pochodząca z dowolnego hosta w domenie będzie przyjęta. Z innych odrzucona.
przykladowa.local. IN TXT "v=spf1 ipv4:192.168.137.101 -all"
Poczta przychodząca z IP 192.168.168.137.101 będzie przyjęta. Pozostałe wiadomości odrzucone.
przykladowa.local. IN TXT "v=spf1 a mx ipv4:192.168.137.202 -all"
Poczta przychodząca z każdego hosta w domenie, serwera SMTP przyjmującego pocztę i IP 192.168.137.102 będzie przyjęta. Pozostała będzie odrzucona.
przykladowa.local. IN TXT "v=spf1 mx -ipv4:192.168.137.101 -all"
Poczta przychodząca z dowolnego serwera SMTP przyjmującego pocztę, z pominięciem hosta o IP 192.168.137.101 będzie przyjęta. Pozostała zostanie odrzucona.
Konfiguracja
Windows nie pozwala na dodanie rekordu typu SPF, więc dodamy tylko rekord TXT.