Wiarygodna sugestia DNS nie jest gotowa do wykonania, dopóki nie zostanie uzgodniony jej zakres, punkt odniesienia, efekt i zatwierdzenie. Zweryfikuj propozycję przed jej zapisaniem i powtórz odpowiednie kontrole bezpośrednio przed realizacją. Zapobiega to wylądowaniu pozornie sprawdzonej zmiany w niewłaściwej dzierżawie lub zastąpieniu konfiguracji, która uległa zmianie podczas jej czytania przez osobę sprawdzającą.
Przechwyć pełną propozycję
Uwzględnij najemcę, strefę, w pełni kwalifikowaną nazwę właściciela, typ rekordu, operację, bieżącą wartość, proponowaną wartość, TTL, jeśli ma to zastosowanie, oraz zaobserwowaną wersję lub równoważny warunek wstępny. Rozróżnij dodawanie rekord przed zastąpieniem całego zestawu rekordów. Dla Rekordy TXT, zachowaj pełną wartość logiczną i zrozum, w jaki sposób dostawca reprezentuje fragmenty ciągów znaków.
Udokumentuj przepływy wysyłania, których to dotyczy, i przyczynę zmiany. Usuwanie SPF include może mieć wpływ na więcej niż jedną aplikację. Dodanie a Selektor DKIM nie konfiguruje aplikacji do podpisywania się za jej pomocą. Wymiana pieniędzy DMARC zasady nie naprawiają niewyrównanego nadawcy. RFC 7208, RFC 6376 I RFC 9989 zdefiniować te odrębne mechanizmy.
Niezależnie przeprowadzaj kontrole techniczne
Sprawdź składnię, konflikty zestawów rekordów i zamierzoną semantykę protokołu. W przypadku SPF oceń terminy zależne od DNS i reguły limitów wyszukiwania, zamiast liczyć tylko widoczne dołączenia. Dla DKIM, zweryfikuj wygenerowany klucz publiczny i selektor względem rzeczywistej konfiguracji podpisywania. W przypadku DMARC sprawdź odkrycie zasad, dotknięte domeny i miejsca docelowe raportów. Ogólny linter tekstowy nie może ustalić, czy każdy legalny nadawca jest gotowy do egzekwowania.
Sprawdź własność i autoryzację niezależnie od składni. Prawidłowy rekord może w dalszym ciągu wysyłać raporty do nieautoryzowanych miejsc docelowych lub nadawać niepożądane uprawnienia nadawcy. Poproś odpowiedniego administratora o sprawdzenie efektu, zwłaszcza gdy propozycja zmienia raportowanie, delegowanie lub dostęp do usług.
Powiąż zatwierdzenie z przeglądanymi bajtami
Załóżmy, że zatwierdzona propozycja zastępuje konkretny zestaw rekordów TXT w wersji 7, obejmujący pełną wartość i TTL. Dostawca zgłasza teraz wersję 8. Wstrzymaj do uzgodnienia, nawet jeśli zamierzony tekst polityki pozostaje niezmieniony: inny operator mógł zmienić odpowiednią właściwość. Jeśli zamiast tego żądana operacja dodaje pojedynczą wartość, zamiast zastępować sprawdzany zestaw, niezgodność tej operacji również wymaga sprawdzenia.
Są to hipotetyczne decyzje poprzedzające inspekcję, a nie wykonana brama, parser DNS czy ewaluator SPF . Zatwierdzenie musi obejmować rzeczywisty cel, działanie i całkowity ładunek. Kontrole techniczne, gotowość podpisującego i akceptacja biznesowa nie są powiązane z podsumowaniem zatwierdzenia. Nie są tu wykonywane żadne zmiany zasad egzekwowania ani zapis dostawcy.
Unikaj wyścigu w ostatniej sekundzie
Jeśli dostawca obsługuje aktualizacje warunkowe, użyj jego funkcji wersji lub porównania i ustawienia, aby powiązać zapis ze sprawdzonym stanem. Jeśli tak się nie stanie, serializuj zmiany w kontrolowanym procesie i zwróć uwagę, że odczyt bezpośrednio po zapisie nadal ma okno wyścigu. Nie obiecuj atomowości na podstawie samego porównania po stronie klienta.
Jeśli stan aktywny jest inny, zatrzymaj się i uzgodnij nową linię bazową. Nie przepisz zgody, aby pasowała. Sprawdź ponownie przepływy, których to dotyczy, i uzyskaj zgodę na poprawioną propozycję. Zatwierdzone działanie powinno mieć ograniczone okno wykonania oraz zaplanowaną procedurę weryfikacji i wycofywania.
Pozostaw decyzję podlegającą ponownej ocenie
Zapisz propozycję, wyniki kontroli technicznej, zatwierdzenie, warunek wstępny i wyraźną decyzję o wykonaniu lub wstrzymaniu. Blokada powinna identyfikować brakujące dowody i właściciela. Dzięki temu zespół może dostrzec różnicę pomiędzy bezpieczną odmową nadpisania dryfu a niewyjaśnioną awarią automatyzacji.