Rozpoznaj rekurencję bez wymyślania klasy błędu
Jakiś SPF pętla występuje, gdy odniesienia rekurencyjne prowadzą ocenę z powrotem do zasad znajdujących się już w aktywnej ścieżce. Wykres może przedstawiać bezpośrednie odniesienie do samego siebie lub dłuższy cykl obejmujący kilka dziedzin. Ta obserwacja strukturalna jest cenna, ale diagnoza musi także wykazać, czy konkretna ocena sięga tych odniesień. Wcześniejszy mechanizm dopasowujący może zatrzymać ścieżkę przed wejściem w cykl.
RFC 7208 określa limity przetwarzania rekurencyjnego i oceny. Nie definiuje oddzielnego standardowego wyniku o nazwie Cycleerror. Opisz zaobserwowany wynik, korzystając ze zdefiniowanego słownictwa SPF i wyjaśnij ścieżkę, która go wspiera. Osoba oceniająca spełniająca wymogi musi zastosować ogólny limit terminu; nieograniczona rekurencja nie jest akceptowalną interpretacją. Własna etykieta narzędzia „wykryto pętlę” może być użytecznym metadanym diagnostycznym, nie stając się jednak nowym normatywnym wynikiem SPF . RFC 7208 , sekcja 4.6.4, 5.2 i 6.1
Uwzględnienie nie zastępuje zasad
Opcja Uwzględnij rekurencyjnie ocenia inną domenę przy użyciu tego samego adresu klienta i danych wejściowych nadawcy. Jego przepustka podrzędna tworzy dopasowanie; Fail, softfail i Neutralny dają wynik niedopasowany. Błędy rozprzestrzeniają się zgodnie z określonym mapowaniem i żadne z nich nie jest mapowane permerror. Po niedopasowaniu element nadrzędny może wznowić działanie przy następnym mechanizmie z przywróconą poprzednią domeną.
To rozróżnienie pomaga wyjaśnić pozorne pętle. Dziecko może odesłać do rodzica dopiero w późniejszej gałęzi, do której niektórzy nadawcy nigdy nie docierają. Wykres nadal budzi wątpliwości, ale szczególnie wczesne przejście nie dowodzi, że gałąź cykliczna została wykonana. Zachowaj uporządkowane mechanizmy i mapowanie zwrotów od dziecka do rodzica, zamiast rysować nieoznaczoną strzałkę i deklarować, że każda wiadomość została uszkodzona. RFC 7208 , sekcja 5.2
Przekierowanie ma inną semantykę zakończenia
Przekierowanie jest stosowane, gdy żaden mechanizm nie pasuje i modyfikator ma zastosowanie. Deleguje wynik do polityki docelowej, zamiast pytać tylko, czy element podrzędny spełnia kryteria dołączenia. Standard mówi, że przekierowanie jest ignorowane, jeśli w rekordzie występuje mechanizm all, niezależnie od kolejności. Dlatego wyszukiwanie tekstowe przekierowania nie ustala, czy krawędź może zostać wykonana.
Cel przekierowania, który nie daje żadnego wyniku, jest przypadkiem błędu, a nie niejawną autoryzacją lub neutralnym rozwiązaniem awaryjnym. Zapisz rozwinięty cel i jego stan zasad. Jeśli domena przekierowuje do innej domeny, która przekierowuje z powrotem, w przeglądzie należy wyjaśnić brak dopasowania kończącego na przedstawionej trasie oraz wspólny budżet zużywany przez przetwarzanie rekurencyjne. Nie żądaj udanej korekty tylko dlatego, że usunięto jedną widoczną strzałkę. RFC 7208 , sekcja 6.1
Użyj arkusza aktywnej ścieżki
Dla każdej proponowanej ścieżki diagnostycznej zachowaj tożsamość początkową, adres łączący, argument nadawcy, bieżącą domenę, dokładny rekord, uporządkowany termin i rozszerzony cel. Utrzymuj aktywny stos domen i typów referencyjnych. Kiedy cel już pojawia się na tym stosie, opisz powtarzający się segment pierwszym i drugim punktem wejścia. Oddzielny zestaw węzłów odwiedzanych może opisywać wykrywanie, ale nie powinien zastępować aktywnego stosu używanego do wyjaśniania rekurencji.
Dołącz bieżącą liczbę ocenionych terminów powodujących DNS i zidentyfikuj wszelkie wcześniejsze błędy składni, brakujące zasady lub tymczasowe błędy DNS. Liczy się najwcześniejsze obsługiwane zakończenie. Cykl statyczny występujący w innym miejscu wykresu nie powinien być przedstawiany jako przyczyna komunikatu, który został już zatrzymany z innego powodu. I odwrotnie, przykładu wczesnego przejścia nie należy używać do odrzucania osiągalnej gałęzi cyklicznej wpływającej na inną trasę.
Arkusz powinien kończyć się jednym z trzech wyraźnie oznaczonych wyników: faktycznie zachowanym śladem, statycznym odkryciem strukturalnym lub fikcyjnym przykładem rozumowania. Tylko pierwsza może uzasadnić poczynioną diagnozę i to tylko w swoim zakresie wejściowym i czasowym. W tym artykule przedstawiono metodę i fikcyjne przykłady, a nie prawdziwy ślad.
Fikcyjna diagnoza: wzajemne włączenie
Załóżmy, że fikcyjna polityka A zawiera B, a B zawiera A przed jakimkolwiek mechanizmem dopasowującym dla hipotetycznego klienta. Nie wykonano żadnych zapytań ani ewaluacji. Aktywna ścieżka to A, następnie B i ponownie A. Powtarzająca się dziedzina ujawnia osiągalny cykl przy tych założeniach. Każde oceniane m.in. wnosi wkład do wspólnego budżetu liczonego w okresie; rekurencja nie resetuje limitu, gdy zmienia się bieżąca domena.
Stwierdzenie, że „druga wizyta jest zawsze obowiązkowym błędem cyklu”, byłoby mylące. Słownictwo wynikowe i granice normy muszą pozostać nienaruszone. Proponowany ewaluator może wcześnie wykryć rekursję na potrzeby diagnostyki, ale każde stwierdzenie na temat jej rzeczywistego zwróconego wyniku wymaga dowodów na jej wdrożenie. Zamiast tego manuskrypt wyjaśnia, że hipotetyczna ścieżka nie może się powtarzać bez wymaganych ograniczeń.
Teraz dodaj wcześniejszy mechanizm dopasowujący IP4 do B dla innego hipotetycznego nadawcy. Ta ścieżka może przejść przed powrotem do A. Cykl strukturalny nadal istnieje na wykresie polityki, ale nadawca go nie wykorzystał. Przydatny przegląd naprawy uwzględnia zarówno wadliwą ścieżkę, jak i prawidłowe, wcześnie dopasowane trasy, dzięki czemu poprawka nie usuwa przypadkowo autoryzacji, która nadal ma znaczenie.
Napraw własność przed przepisaniem zapisów
Odniesienie cykliczne często wykracza poza granice administracyjne. Określ, kto kontroluje każdy rekord i dlaczego wprowadzono tę relację. Polityki klienta nie należy zastępować zależnością od dostawcy tylko dlatego, że nazwy wydają się powiązane. Poproś o docelowy cel autoryzacji obsługiwany przez dostawcę lub potwierdzoną korektę w ramach zatwierdzonego procesu wsparcia; manuskrypt ten nie kontaktuje się z dostawcą ani nie proponuje uniwersalnych wartości zastępczych.
Najmniejszą obsługiwaną naprawą może być usunięcie przestarzałej wzajemnej zależności, korekta błędnego celu lub zmiana zasad utrzymywana przez dostawcę. Wybierz w oparciu o własność i wiarygodne dowody nadawcy, a nie tylko na podstawie zmniejszenia krawędzi wykresu. Zachowaj stan przed i zamierzony zestaw autoryzacji oraz udokumentuj wszelkie usługi, których potrzeby pozostają nierozwiązane.
Akceptacja wymaga zarówno ilustracji cyklu, jak i minimalnej oceny wymiany potwierdzonej przez dostawcę. Nowy schemat bez cyklu nie wystarczy, jeśli proponowany zapis nie pozwala już na wyznaczenie wymaganej trasy. Porównaj zamierzone trasy, obsługę błędów i budżet przed i po oddzielnie zatwierdzonej zmianie. Unikaj twierdzenia, że wszędzie bufory DNS natychmiast odzwierciedlają poprawkę.
Niezweryfikowane dowody i granice publikacji
Pierwotny wymóg katalogu dotyczący dowodów pozostaje otwarty: pokazanie cyklu i minimalnej oceny wymiany potwierdzonej przez dostawcę. Dla fikcyjnych przykładów nie ma potwierdzenia dostawcy, produkcyjnej edycji DNS , zapytania zewnętrznego ani wyniku wykonania. Wyjaśniają, jak rozumować, a nie jak obecnie zachowuje się wymieniony dostawca.
Wszystkie sześć bramek do wydania pozostaje otwartych, w tym oryginalne dowody, weryfikacja manualna, zastosowanie źródeł, ścieżki produkcyjne, dostępność wizualna i zwolnienie właściciela. Późniejszy artykuł operacyjny powinien zawierać odpowiednie migawki źródłowe, zatwierdzenie zmian i ograniczone dowody weryfikacji. Do tego czasu właściwym wnioskiem będzie zaproponowany przebieg diagnostyki i naprawy, a nie rozwiązany incydent lub gwarancja, że każdy odbiorca zgłosi te same szczegóły dotyczące konkretnej implementacji.