Check-Host.cc

Globalny weryfikator walidacji SPF

Sender Policy Framework (SPF) to krytyczny protokół uwierzytelniania poczty e-mail, który zapobiega fałszowaniu domeny (spoofing) poprzez publikację kryptograficznej białej listy (whitelist) autoryzowanych adresów IP nadawców. Chociaż sam protokół SPF jest niezbędny dla nowoczesnej dostarczalności (deliverability) poczty, dedykowany typ rekordu DNS dla SPF (Typ 99) ma niezwykle chaotyczną historię i jest oficjalnie przestarzały.

Wzlot i upadek rekordu typu 99

Gdy pierwotnie opracowano koncepcję protokołu SPF (RFC 4408), organizacja IETF zaprojektowała specyficzny rekord zasobu DNS (Typ 99) wyraźnie przeznaczony do izolowania Payloadów SPF od standardowych danych TXT. Teoria zakładała, że utrzymywanie dedykowanego typu rekordu przyspieszy analizowanie (parsing) przez resolvery. Jednak jego wdrożenie zakończyło się ogromną porażką. Starsze serwery DNS, zapory sieciowe i sprzętowe Load Balancery nie rozpoznawały nowej składni Typu 99 i często po prostu upuszczały pakiety, powodując powszechne awarie poczty elektronicznej. Uznając tę niezgodność sprzętową, organizacja IETF opublikowała RFC 7208, który oficjalnie wycofał (deprecated) rekord typu 99. Obecnie wszystkie konfiguracje SPF muszą być publikowane jako standardowe rekordy TXT. Jeśli administrator nadal wdraża starszy rekord SPF typu 99, nowoczesne platformy, takie jak Microsoft Exchange i Google Workspace, całkowicie go zignorują, co spowoduje natychmiastowe błędy DMARC.

Mechaniczny limit 10 zapytań (10-Lookup Limit)

Najbardziej widocznym punktem niepowodzeń technicznych dla programistów zarządzających SPF jest ścisły próg 10 zapytań. Ponieważ rekord SPF pozwala administratorom zagnieżdżać inne zasady domenowe przy użyciu dyrektywy include: (np. include:_spf.salesforce.com), odbierający serwer pocztowy musi wykonać rekursywne zapytanie DNS w celu pobrania adresów IP od tego zewnętrznego dostawcy. Aby chronić MTA przed nieskończonymi pętlami routingu i ukierunkowanymi atakami polegającymi na amplifikacji DDoS, protokół ten sztywno ogranicza wykonanie do 10 rekursywnych zapytań DNS. Jeśli firma połączy zbyt wielu dostawców SaaS i osiągnie pułap 11 wyszukiwań, proces zatrzymuje się, zwracając błąd "PermError" dla rekordu SPF. Skutkuje to natychmiastowym twardym odbiciem (hard-bounce) legalnych wiadomości e-mail lub skierowaniem ich na kwarantannę.

Spłaszczanie (Flattening) i Diagnostyka

Aby ominąć ograniczenia dotyczące wyszukiwań, inżynierowie sieci używają narzędzi typu "SPF Flattening". Skrypty te są uruchamiane co godzinę, rozwijając wszystkie dyrektywy include: za pośrednictwem interfejsu API, usuwając nazwy hostów i kompilując surowe bloki IPv4/IPv6 do jednego, gigantycznego, płaskiego rekordu TXT. Korzystanie z globalnego narzędzia diagnostycznego gwarantuje, że Twoja składnia jest poprawna, zagnieżdżone include'y po cichu nie przekroczyły progu DNS, a polityka kończy się jednoznacznie restrykcyjną flagą -all (fail) lub ~all (softfail), aby skutecznie odrzucić sfałszowane Payloady.