SPF is evil!
SPF is EVIL! SPF is EVIL! SPF is EVIL!
Najbardziej chory pomysl ze wszystkich sposobow walki ze spamem. SPF jest CALKOWICIE niekompatybilne z forwardowaniem poczty, stosowaniem aliasow pocztowych, czy wreszcie korzystaniem z serwera SMTP swojego dostawcy Internetu jako najblizszego zamiast serwera, na ktorym ma sie konto pocztowe, co zalecaja wszelkie dobre praktyki konfigurowania poczty. Wymyslil to ktos chory i chorzy sa ludzie, ktorzy z tego korzystaja.
Message-ID: DFPBC0$LB4$1@SRV.CYF-KR.EDU.PL
Ten cytat to tak tytułem wstępu - takie lub bardzo podobne teksty od czasu do czasu latają na pl.comp.mail.mta. Szkoda tylko, że autorzy nie zawsze umieją oddzielić własnych emocji od konstruktywnej krytyki.
Krótkie wytłumaczenie, co to jest SPF
Sender Policy Framework to sposób powiązania adresu nadawcy (na kopercie) z numerem IP serwera, z którego emaile z takim nadawcą powinny być wysyłane. Po prostu - jeżeli adres kopertowy wskazuje nadawcę w domenie lemat.priv.pl, to zgodnie z ustawieniami
# host -t spf lemat.priv.pl
lemat.priv.pl descriptive text "v=spf1 mx -all"
# host -t txt lemat.priv.pl
lemat.priv.pl descriptive text "v=spf1 mx -all"
# host -t mx lemat.priv.pl
lemat.priv.pl mail is handled by 10 mail.lemat.priv.pl
# host mail.lemat.priv.pl
mail.lemat.priv.pl has address 79.190.106.114
tylko serwer oznaczony jako MX (czyli tylko jeden IP) ma prawo wysyłać taką pocztę. Czyli serwery skonfigurowane tak, aby sprawdzały SPF mogą bezpiecznie odrzucić pocztę "z mojego adresu" ale pochodzenia np. chińskiego.
Wprowadzanie SPF składa się z 2 etapów:
- wystawienie na świat rekordu TXT, który określa jakie serwery mogą wysyłać maile z danej domeny.
- skonfigurowanie własnego serwera tak, aby sprawdzał rekordy TXT domen nadawców i w przypadku niezgodności podejmował odpowiednie kroki typu:
- odrzucenie całkowite przesyłki
- odpowiednie doliczenie punktów w SpamAssasinie.
Rekordy SPF/TXT powinny istnieć zarówno dla domeny jak i dla nazwy hosta podawanej w EHLO. Ja też mam ustawiony zerowy rekord na *.
7200 IN TXT "v=spf1 mx -all"
7200 IN SPF "v=spf1 mx -all"
* 7200 IN TXT "v=spf1 -all"
* 7200 IN SPF "v=spf1 -all"
mail IN TXT "v=spf1 a -all"
mail IN SPF "v=spf1 a -all"
Ale SPF nie zmniejsza ilości spamu!
Zgadza się. Nie po to został zaprojektowany. Zauważcie, że większość użytkowników a nawet administratorów to lamerzy. Oni nie potrafią odróżnić, skąd został wysłany email i czy przypadkiem nie jest sfałszowany. Wprowadzając zatem rekord SPF u siebie chronię swoją domenę przed użyciem w niecnych celach. Tym samym pomagam innym serwerom poczty w podjęciu decyzji o odrzuceniu przesyłki, jeżeli nie pochodzi ona z mojego IP. Decyzji, która może zostać podjęta już w sesji SMTP - bez niepotrzebnej analizy nagłówków i treści listu a tym samym oszczędzając pasmo.
Patrząc z drugiej strony - sprawdzając emaile przychodzące do mojego serwera widzę, że wirusy oraz spamerzy w 99% przypadków nadają ze sfałszowanym adresem nadawcy. Dlaczego by więc nie uwalać takiej poczty? Ja sobie mogę na to pozwolić, to mój prywatny serwer.
W takim przypadku powyższy nagłówek jest fałszywy - SPF ma związek z ilością spamu dostarczanego do mojego serwera. Niewiele to ale zawsze coś.
SPF psuje forwardowanie emaili!
Zgadza się - serwer forwardujący zazwyczaj wysyła emaila z moim adresem na kopercie. Docelowy serwer widząc to i porównując z rekordem SPF po prostu uwala przesyłkę. Jest kilka sposobów na rozwiązanie tego typu przypadków:
- dodanie serwera forwardującego do białej listy na serwerze odbiorcy oraz sprawdzanie jej przed sprawdzaniem SPF.
- rozszerzenie rekordu SPF o serwer forwardujący (w przypadku smarthosta u ISP)
- skonfigurowanie serwera forwardującego aby wysyłał nie z adresem nadawcy, ale ze swoim adresem, najlepiej aby spełniało to jeszcze SRS - Sender Rewrite Scheme.
Niestety, trzeba do tego ręki admina odbiorcy.
Przykłady złego zastosowania SPF
Od czasu do czasu przewija się na pl.comp.mail.mta wątek w którym słychać narzekanie na niektóre darmowe serwisy (ostatnio wp.pl), które angażują SPF do sprawdzania nie adresu kopertowego ale adresu nagłówkowego. To mogą być 2 istotnie różne adresy i to istotnie jest przegięcie. Ale ich serwery - ich wola.
Krótkie podsumowanie
SPF jest techniką kontrowersyjną ale dopóki jego przeciwnicy nie wymyślą lepszego i co najważniejsze bardziej popularnego sposobu odrzucania przesyłek ze sfałszowanych adresów to ja będę się go trzymał i będę go polecał wszystkim adminom.
Komentarze:
Twoje strony zawsze są źródłem dobrych inspiracji, zrobiłem ostatnio sobie sprawdzanie SPF'a w Postfix, ale niestety spamerzy są trudni w zwalczaniu. Wysyłają dosyć ciekawie spreparowane maile, czy masz może pomysł, jak takie coś blokować?
Jeśli cokolwiek doradzisz - będę zobowiązany.
Adam
/^0-/ REJECT spam