Ankietowanie API co kilka minut w celu sprawdzenia stanu domeny jest marnotrawne i zawodne. Powiadomienia webhook odwracają model całkowicie. Zamiast aby Twoje systemy stale pytały, czy coś się zmieniło, usługa monitorowania wysyła aktualizacje do Twojego punktu końcowego w momencie, gdy coś się dzieje. W przypadku zarządzania domeną oznacza to natychmiastowe alerty, gdy przesuwają się daty wygaśnięcia, aktualizują się rekordy WHOIS lub zmieniają się blokady transferu. Według badania Catchpoint z 2025 roku 73% awarii związanych z DNS można prześledzić do wygasłych lub nieprawidłowo skonfigurowanych domen. Webhook'i dają zespołom inżynierskim sygnały w czasie rzeczywistym, których potrzebują, aby zapobiec tym awariom, zanim użytkownicy je zauważą. Ten przewodnik obejmuje sposób działania webhook'i powiadomień dotyczących wygaśnięcia domeny, jak je zabezpieczyć podpisami HMAC oraz jak podłączyć je do Slack'a, PagerDuty'ego lub własnych potoków automatyzacji.
Czym są powiadomienia Webhook?
Webhook to żądanie HTTP POST wysyłane z serwera na określony adres URL za każdym razem, gdy następuje zdefiniowane zdarzenie. W przeciwieństwie do tradycyjnego sondowania, gdzie aplikacja wielokrotnie wysyła zapytania do API w poszukiwaniu aktualizacji, webhooki dostarczają dane tylko wtedy, gdy coś faktycznie się zmienia. Takie podejście oparte na zdarzeniach zmniejsza niepotrzebny ruch sieciowy i zapewnia natychmiastową świadomość ważnych zmian stanu. W kontekście monitorowania domeny webhook uruchamia się, gdy data wygaśnięcia domeny się zmienia, gdy dane WHOIS są aktualizowane lub gdy domena wchodzi w okres prolongaty lub umorzenia. Twój punkt końcowy odbierający przetwarza ładunek i wyzwala wszelkie działania, które potrzebujesz, czy to wiadomość na Slacku, aktualizacja bazy danych czy automatyczny przepływ pracy odnawiania.
- Natychmiastowe dostarczenie - brak opóźnienia sondowania między zdarzeniem a powiadomieniem
- Zmniejszone połączenia API - serwer przetwarza tylko rzeczywiste zmiany
- Niezawodna sekwencja - zdarzenia docierają w porządku ze znacznikami czasu
- Elastyczne kierowanie - wysyłaj różne zdarzenia domeny na różne punkty końcowe
- Bogate ładunki - każde powiadomienie zawiera pełny kontekst, dzięki czemu rzadko potrzebujesz dodatkowego połączenia API
Zdarzenia domeny warte monitorowania
Nie każda zmiana WHOIS jest równie ważna. Najkrytyczniejszym zdarzeniem jest zbliżające się wygaśnięcie. Większość rejestratorów wysyła własne przypomnienia o odnowieniu, ale te e-maile często lądują w folderach spamu lub są wysyłane na adresy, które nikt już nie sprawdza. Analiza Dynadot z 2024 roku wykazała, że około 25% przypadkowych wygaśnięć domen miało miejsce, ponieważ e-mail kontaktowy zarejestrowanego właściciela był nieaktualny. Powiadomienia z webhooków całkowicie omijają ten problem, wysyłając alerty na infrastrukturę, którą Twój zespół faktycznie monitoruje, taką jak kanał Slack czy platforma zarządzania incydentami.
Poza datami wygaśnięcia, istnieje kilka zdarzeń domeny warte śledzenia za pośrednictwem webhooków. Zmiany stanu blokady transferu zasługują na uwagę, ponieważ brakujący flag clientTransferProhibited oznacza, że ktoś może inicjować nieautoryzowany transfer. Zmiany serwera nazw mogą wskazywać na próbę przejęcia lub przypadkową błędną konfigurację. Zmiany rejestratora sygnalizują, że domena została przeniesiona, co ma znaczenie, jeśli obserwujesz domeny konkurentów lub śledzisz przejęcia. Zmiany prywatności WHOIS mogą ujawnić przesunięcia własności. Na koniec zmiany kodów stanu, takie jak clientHold lub serverHold, oznaczają, że domena przestała się rozpoznawać, co jest stanem alarmowym dla każdej usługi produkcyjnej.
Konfigurowanie webhooków wygaśnięcia domeny
Skonfigurowanie odbiornika webhooka zajmuje około piętnaście minut w przypadku podstawowej implementacji. Potrzebujesz punktu końcowego HTTPS, który akceptuje żądania POST, parsuje ładunki JSON i szybko zwraca kod stanu 200. Kluczowe słowo to szybko. Nadawcy webhooków zwykle wymuszają limity czasu od 5 do 30 sekund. Jeśli Twój punkt końcowy zbyt długo odpowiada, nadawca może ponowić próbę, co prowadzi do przetwarzania duplikatów. Najlepszą praktyką jest natychmiastowe potwierdzenie odbioru i obsługę rzeczywistego przetwarzania asynchronicznie za pośrednictwem kolejki zadań. Narzędzia takie jak DomainExpiryCheck.com pozwalają skonfigurować adres URL webhooka w ustawieniach konta, określić, które zdarzenia Cię interesują, i przetestować połączenie przed uruchomieniem.
Twój punkt końcowy powinien weryfikować każde przychodzące żądanie przed przetworzeniem. Zacznij od sprawdzenia nagłówka Content-Type, aby potwierdzić, że jest to application/json. Przeanalizuj ładunek i sprawdź, czy obecne są wymagane pola, takie jak typ zdarzenia, nazwa domeny i znacznik czasu. Rejestruj każdy przychodzący webhook, w tym te, które nie przejdą walidacji, ponieważ te dzienniki są niezbędne do debugowania. Wdrożyć idempotencję poprzez śledzenie identyfikatorów zdarzeń, aby ponownie dostarczane żądania nie wyzwalały zduplikowanych działań. Jeśli działasz za modułem równoważenia obciążenia lub odwrotnym serwerem proxy, upewnij się, że zakresy adresów IP nadawcy webhooka nie są blokowane przez zaporę lub ogranicznik szybkości.
Bezpieczeństwo webhooku i podpisywanie HMAC
Niezabezpieczony punkt końcowy webhooka to otwarte drzwi. Każdy, kto odkryje Twój adres URL, może wysłać fałszywe ładunki, aby wyzwolić fałszywe alerty lub, co gorsza, manipulować przepływami pracy automatyzacji. Podpisywanie HMAC-SHA256 rozwiązuje ten problem. Nadawca webhooka i Twój serwer dzielą tajny klucz. Przy każdej dostarczeniu nadawca oblicza hash treści żądania przy użyciu tego tajnego klucza i dołącza podpis do nagłówka. Twój serwer oblicza ponownie hash z tym samym tajnym kluczem i porównuje dwie wartości. Jeśli są zgodne, żądanie jest autentyczne. Jeśli nie, je odrzucasz. To ten sam mechanizm, który Stripe, GitHub i Slack używają dla swoich webhooków. Według raportu OWASP z 2024 roku o bezpieczeństwie API, niepodpisane webhooki należą do 10 najważniejszych luk w zabezpieczeniach API wykorzystywanych w systemach produkcyjnych.
- Zawsze używaj HMAC-SHA256 lub silniejszego - nigdy nie używaj MD5 lub zwykłego SHA1
- Porównuj sygnatury za pomocą funkcji porównania w stałym czasie, aby zapobiec atakom czasowym
- Rotuj tajny webhook okresowo i aktualizuj go po obu stronach
- Odrzucaj żądania ze znacznikami czasu starszymi niż 5 minut, aby zapobiec atakom powtórzenia
- Używaj wyłącznie HTTPS - nigdy nie akceptuj webhooków przez zwykły HTTP
- Przechowuj swój tajny webhook w zmiennych środowiskowych, a nie w kodzie źródłowym
- Rejestruj odrzucone żądania z ich źródłowym adresem IP dla audytu bezpieczeństwa
Integracja ze Slackiem i narzędziami automatyzacji
Najprostszą integracją jest przesyłanie webhooków wygaśnięcia domeny do kanału Slack. Funkcja Incoming Webhooks Slack daje Ci adres URL, który akceptuje ładunki JSON i publikuje je jako wiadomości. Możesz zbudować małą usługę middleware, która odbiera webhooki monitorowania domeny, formatuje je w strukturę Block Kit Slack i je przesyła. W przypadku bogatszych przepływów pracy narzędzia takie jak Zapier, Make lub n8n mogą odbierać Twoje webhooki i kierować je do setek miejsc docelowych bez pisania kodu. Typowa konfiguracja przesyła ostrzeżenia o wygaśnięciu domeny zarówno do Slack w celu widoczności, jak i do narzędzia zarządzania projektami, takiego jak Jira lub Linear, do śledzenia. Dla zespołów inżynieryjnych preferujących kod prosta usługa Node.js lub Python uruchomiona na funkcji chmurowej działa dobrze. Funkcja weryfikuje podpis HMAC, sprawdza typ zdarzenia i wysyła alerty odpowiednio. Bardziej zaawansowane konfiguracje integrują się z PagerDuty dla krytycznych domen lub wyzwalają automatyczne skrypty odnawiania za pośrednictwem interfejsów API rejestratorów. DomainExpiryCheck.com obsługuje testowanie webhooków, dzięki czemu możesz wysłać przykładowy ładunek, aby sprawdzić, czy Twoja integracja działa poprawnie przed poleganiem na niej w przypadku alertów produkcyjnych.
Monitoruj swoje domeny dzisiaj
Śledź daty wygaśnięcia domen, otrzymuj alerty przed wygaśnięciem i nigdy więcej nie utrać domeny. Bezpłatnie dla 3 domen.
Zacznij monitorowanie za darmo