Jako dostawca usług hostingowych wysyłamy wiadomości e-mail w imieniu naszych klientów, dlatego pomagamy im skonfigurować rekordy wiadomości e-mail DKIM i SPF w ich systemie DNS, aby zapewnić prawidłową dostawę wiadomości e-mail. Doradzamy im, aby korzystali z http://mail-tester.com w celu przetestowania, czy niczego nie przegapili i bardzo podoba mi się to narzędzie.
Jednym z problemów, na który natrafiliśmy kilka razy i nie jestem pewien, jest „limit” DNS rekordu SPF na podstawie nazwy domeny. Więc jeśli masz to:
v=spf1 a include:aspmx.googlemail.com include:campaignmonitor.com include:authsmtp.com include:mail.zendesk.com include:salesforce.com include:_hostedspf.discourse.org ~all
Dostaniesz
example.com ... campaignmonitor.com: Maximum DNS-interactive term limit (10) exceeded
Tak jak:
Mam kilka pytań na ten temat.
Liczę tutaj sześć nazw domen, a nie 10, więc dlaczego trafia tutaj „dziesięć” żądań DNS?Odpowiedziałem tutajCzy ten interaktywny termin 10 DNS ogranicza ostrzeżenie lub prawdziwy błąd? np. czy powinniśmy się tym przejmować? To trochę dokucza naszym klientom i wysyłają do nas e-maile z prośbą o wsparcie.Odpowiedziałem tutajCzy ten interaktywny termin 10 DNS jest prawdziwym problemem w dzisiejszej sieci? Jak widać, ten klient ma wiele usług wysyłających za niego wiadomości e-mail i wszystkie są legalne. Być może ten limit DNS został ustalony w 2000 roku, gdy delegowanie takich usług e-mail nie było powszechne?
Tak, możemy zmusić naszych klientów do zmiany uwzględnienia na adresy IP w rekordzie SPF, ale to nas wiąże, jeśli kiedykolwiek zmienimy adresy IP, grupa klientów się załamie. Naprawdę nie chcę tego robić ...
Jakie są obejścia tego?
źródło
Odpowiedzi:
Zazwyczaj już udzielono odpowiedzi, należy pamiętać, że podanie Google w ten sposób jest błędne - chcesz użyć
_spf.google.com
lub ponieść karę za przekierowanie:To wyszukiwanie samodzielnie zużyje 5/10 - nadal 4/10 jest do bani, ale o 20% mniej.
Będzie zatrzymać przetwarzanie i powrót stały błąd - to jest do silnika za pomocą SPF zdecydować, jak chce leczyć trwały błąd.
Tak - bez limitów przetwarzania Mechanizmy SPF mogłyby być używane jako wzmacniacz DoS przeciwko stronie trzeciej lub drugiej stronie.
Aby obejść ten problem, wiadomości e-mail mogą pochodzić z subdomeny głównej właściwości -
community.largecorporation.com
na przykład.źródło
d=subdomain.example.com
, wszystko będzie dobrze. W teorii. Lepiej to przetestuj!Zakładając, że zwolnienia (takie jak wiele odniesień
_spf.google.com
i rekordy, do których się odnosi) są liczone tylko raz, liczę 17 wyszukiwań od momentu, w którym już przejrzałeś rekord początkowy. (Patrz poniżej.)Odmawia wyszukiwania wszystkich rekordów niezbędnych do oceny rekordu SPF, ponieważ byłoby to „zbyt dużo pracy”. Prawdopodobnie oznacza to, że będzie traktować Twoją domenę tak, jakby nie miała rekordu SPF (lub prawdopodobnie go odrzuci). Specyfikacja mówi, że skutkuje to permerrorem , który pozostawia odbiorcy dość swobodę decydowania o tym, co robić .
Generalnie myślę, że przemoc rośnie. Wydaje się, że ograniczenie to ma na celu udaremnienie niewłaściwych domen nadawców, które w przeciwnym razie mogłyby przytłoczyć odbiorcę ogromnymi łańcuchami SPF, potencjalnie prowadząc do DoS.
Myślę, że chociaż outsourcing poczty e-mail jest powszechny, tak naprawdę nie jest tak często outsourcing wiadomości e-mail do sześciu różnych dostawców. Musisz jakoś zoptymalizować rekord SPF.
(Po pierwsze, odniesienie do
aspmx.googlemail.com
wydaje się marnotrawstwem, ponieważ natychmiast przekierowuje do innej nazwy).źródło
Jako zaakceptowana odpowiedź na jedno z powiązanych pytań wyjaśniono , wiele podstawowych narzędzi dla systemów UNIX faktycznie egzekwuje ten limit (choć nie wszystkie w dokładnie taki sam sposób), więc każda implementacja SPF, która ich używa - prawie w UNIX - egzekwuje również te limity. Systemy Windows są dla siebie prawem, a ja nie mogę rzucić na nie żadnego światła.
Obejściem tego problemu jest utworzenie zadania cron, które ocenia łańcuch zewnętrznych rekordów SPF, wyraża je wszystkie jako bloki ipv4 i ipv6 i zapisuje je w twoim rekordzie. Nie zapomnij
-all
.W twoim przypadku chcesz, aby klienci mogli publikować rekord SPF, którego nie muszą następnie utrzymywać. Jedną z możliwości może być opublikowanie przez każdego klienta rekordu zawierającego
redirect=spf.client1.jeffs-company.example
, a następnie wykonanie zadania polegającego na utrzymaniu listy bloków sieciowych na poziomiejeffs-company.example
.Limit utrudnia przekazanie wiadomości e-mail na sześć lub siedem dużych operacji; ale prawdopodobnie robiąc to, straciłeś kontrolę nad pocztą e-mail.
Gdzieś, kiedyś, jakiś podwykonawca, którego istnienie było całkowicie nieświadome i nad którym nie masz kontroli, zgubi średnik, a ton fałszywej wiadomości e-mail zostanie wysłany z SPF imprimatur wprost na niego. Pełna kontrola nad pocztą e-mail wymaga pełnej kontroli nad infrastrukturą poczty e-mail, co moim zdaniem jest całkowicie niezgodne z takim outsourcingiem.
źródło
Innym sposobem obejścia tych problemów jest sprawdzenie, które oprogramowanie jest dokładnie używane do sprawdzania ustawień SPF. W moim przypadku jest to cluebringer / PolicyD, który
Mail::SPF::Server
w końcu używa i który akceptuje argumenty rozluźniające inaczej zakodowane ograniczenia. Problem polega na tym, że sam cluebringer nie obsługuje obecnie rozluźnienia tych argumentów , ale może to ulec zmianie w przyszłości i można po prostu powiedzieć dostawcom usług o tych możliwościach złagodzenia ich ustawień.Jeśli zdecydują się to zrobić, to oczywiście poza własną kontrolą, ale to przynajmniej szansa.
źródło