SPF – ochrona przed spamem przy pomocy DNS

  Domeny

Wraz z rosnącą liczbą spamu oraz sposobów na obejście istniejących przeciwko niemu zabezpieczeń, przybywa nowych technologii i metod obrony przed spamem. Częstym problemem jest to, że nadawca spamu (czy też jakiegokolwiek e-maila), może w nagłówku wiadomości podać dowolny e-mail nadawcy. Z analogiczną sytuacją mamy do czynienia w przypadku tradycyjnej, papierowej poczty, gdzie na kopercie też możemy podać dowolne informacje o nadawcy, nic temu nie broni i nikt nie jest w stanie zweryfikować poprawności tych informacji. O tym, że są nieprawdziwe, adresat dowie się dopiero po przeczytaniu wiadomości. Oczywiste jest, że spamerzy również nie podają w danych nadawcy swojego adresu e-mail, ale dowolne a często też przypadkowe adresy z losowo wybranymi domenami.

Ma to dodatkowo nieprzyjemne następstwa – jeśli nie powiedzie się dostarczenie spamu do odbiorcy, serwer SMTP doręczający wiadomość, prześle komunikat o błędzie na użyty przez spamera e-mail nadawcy. Niechcianymi wiadomościami są więc zasypywani nie tylko odbiorcy, ale też osoby, których adres e-mail został użyty do rozsyłania spamu. Abonenci i zarządcy domen z pewnością wiedzą o tym najlepiej. Przed otrzymywaniem komunikatów o błędzie możemy się bronić poprzez odpowiednią konfigurację serwera poczty naszej domeny. Istnieje wiele powodów, dlaczego nie powinno korzystać z tzw. kosza domenowego (tj. umieszczania wiadomości od nieznanego nadawcy w oddzielnej skrzynce), a dlaczego warto określić konkretną listę nadawców akceptowanych na naszej domenie, a pozostałe adresy bezwzględnie odrzucać. Dzięki temu znacznie zmniejszymy prawdopodobieństwo, że spamer użyje adresu nadawcy, który rzeczywiście istnieje.

Powyższe rozwiązanie pozwoli zmniejszyć jedynie ilość spamu otrzymywanego przez przypadkowo wygenerowanych na naszej domenie odbiorców oraz ilość komunikatów o braku możliwości dostarczenia spamu. Spam jako taki nadal będzie rozsyłany z użyciem nazwy naszej domeny. Często więc administratorzy serwerów przeciążonych przez nawał niechcianych wiadomości, pretensje o rozsyłanie spamu będą kierować do nas, nawet w przypadku, gdy nie jesteśmy za to odpowiedzialni.

Próbą rozwiązania tego problemu jest tzw. system SPF (Sender Policy Framework), zdefiniowany w RFC 7208. Jest to system, umożliwiający Abonentom domen definiować, które węzły na Internecie są upoważnione do wysyłania e-maili z nazwą danej domeny w adresie nadawcy. W praktyce wygląda to tak, że Abonent domeny wprowadza do strefy specjalny rekord TXT, zawierający listę adresów IP komputerów, z których mogą pochodzić e-maile z nazwą danej domeny. Zazwyczaj będzie to lista adresów IP komputerów firmowych, serwerów, firmowej bramy SMTP itd. System ten musi być oczywiście obsługiwany przez pozostałe serwery. W chwili, gdy serwer SMTP otrzyma e-mail, wyśle zapytanie DNS o domenę nadawcy. Jeśli w odpowiedzi na zapytanie uzyska rekord typu TXT zawierający reguły SPF, dokona kontroli. Jeśli e-mail spełni określone warunki, przedostanie się dalej. W przeciwnym razie zostanie odrzucony. Kontrola jest prowadzona jeszcze przed przesłaniem treści wiadomości (po wysłaniu polecenia MAIL FROM). Serwer SMTP, który nie obsługuje SPF, nie wykona kontroli, a e-mail od razu przekaże dalej.

Początkowo planowano, że reguły antyspamowe będą obsługiwane przez specjalny rekord DNS typu SPF. Na koniec odstąpiono od tego pomysłu, a rekord SPF usunięto na rzecz rekordu TXT

System SPF jest stosunkowo młody, a do niedawna był określany jako eksperymentalny. Nie jest jeszcze za bardzo rozpowszechniony. Aby można było go używać do eliminacji spamu, wszystkie domeny na świecie musiałyby mieć odpowiednie (poprawnie skonfigurowane) rekordy SPF, a wszystkie serwery SMTP na świecie musiałyby prowadzić niezbędne kontrole. Podczas konfiguracji reguł w rekordzie SPF należy być bardzo ostrożnym. Jeśli przez przypadek pominiemy jakiś komputer czy podsieć, może wystąpić problem z doręczaniem regularnych e-maili. Istnieją także domeny, u których ustawienie reguł SPF nie jest możliwe – np. u usług poczty darmowej typu seznam.cz, w przypadku której e-maile wysyłane są z dowolnego miejsca.

Poniżej zamieszczamy przykład rekordu TXT domeny ietf.org (skrócono):

v=spf1 ip4:64.170.98.0/26 ip6:2001:1890:1112:1::0/64 -all

W przykładzie widzimy jasno określone podsieci, które są uprawnione do wysyłania wiadomości z adresu zawierającego nazwę domeny ietf.org.

Dodatkowe informacje:

http://pl.wikipedia.org/wiki/Sender_Policy_Framework

http://tools.ietf.org/html/rfc7208 (angielski)