| Termin | Definicja |
|---|---|
| checklistę audytową webhooków | Checklistę audytową webhooków wykorzystuje się do systematycznej weryfikacji poprawności konfiguracji powiadomień HTTP. Zakres checklisty audytowej webhookówChecklistę audytową webhooków stosuje się do uporządkowanej kontroli mechanizmu, w którym jedno oprogramowanie wysyła powiadomienie HTTP do wskazanego adresu po wystąpieniu określonego zdarzenia. Audyt powinien rozpocząć się od zapisania nazwy zdarzenia, systemu wysyłającego, adresu odbiorcy, metody HTTP oraz formatu danych. Najczęściej używa się metody Podstawowa lista kontrolna powinna obejmować środowisko testowe i produkcyjne osobno. Należy ustalić, czy adres webhooka wskazuje właściwy host, port i ścieżkę, a także czy nie występuje pomylenie adresu lokalnego z publicznym. Warto zapisać datę testu, identyfikator zdarzenia, czas wysłania oraz wynik po stronie nadawcy i odbiorcy. Takie informacje umożliwiają powiązanie wpisu w logu aplikacji z konkretnym żądaniem HTTP, zamiast oceniania działania webhooka wyłącznie na podstawie komunikatu widocznego w interfejsie. Adres, metoda i zabezpieczenie żądania HTTPW pierwszej części audytu sprawdza się, czy adres webhooka jest pełnym adresem URL i prowadzi do właściwego punktu końcowego. Dla połączeń internetowych należy zweryfikować użycie HTTPS oraz ważność certyfikatu TLS po stronie serwera odbierającego. Kontrola nie powinna ograniczać się do sprawdzenia, czy strona otwiera się w przeglądarce, ponieważ webhook może wymagać konkretnej metody, nagłówków i treści żądania. Trzeba również potwierdzić, czy serwer przyjmuje metodę wysyłaną przez nadawcę, czy poprawnie obsługuje kodowanie UTF-8 oraz czy nie odrzuca żądania z powodu brakującego nagłówka Jeżeli odbiorca wymaga uwierzytelnienia, checklista powinna wskazywać sposób jego przekazania, na przykład nagłówek autoryzacyjny albo podpis obliczany na podstawie treści żądania. Sekretu nie należy umieszczać w zwykłym komunikacie diagnostycznym ani publikować w adresie URL, ponieważ adres może zostać zapisany w logach pośrednich. Weryfikacja powinna obejmować także odrzucenie żądania z nieprawidłowym podpisem, brakującym tokenem lub nieoczekiwanym typem treści. Samo sprawdzenie obecności nagłówka nie wystarcza: odbiorca musi rzeczywiście zweryfikować jego wartość przed przetworzeniem danych. Warto odnotować, czy połączenie przechodzi przez serwer proxy, zaporę sieciową albo filtr DNS. Takie elementy mogą blokować ruch wychodzący, zmieniać rozwiązywanie nazwy hosta lub ograniczać dostęp do określonych portów. Test kontrolny powinien być wykonany z tego samego środowiska, z którego działa właściwa aplikacja, ponieważ wynik z innego komputera nie potwierdza dostępności webhooka dla procesu produkcyjnego. Treść ładunku, odpowiedzi i ponawianie próbDruga część checklisty dotyczy danych przekazywanych w treści żądania. Należy porównać rzeczywisty JSON z dokumentacją zdarzenia: sprawdzić nazwy pól, typy wartości, zagnieżdżenia oraz obecność identyfikatora zdarzenia. Szczególne znaczenie ma rozróżnienie wartości pustej, wartości Każdy test powinien sprawdzać odpowiedź serwera odbierającego. Kody z zakresu Audyt musi obejmować ponawianie prób oraz ochronę przed duplikatami. Jeżeli nadawca nie otrzyma odpowiedzi w wymaganym czasie, może wysłać to samo zdarzenie ponownie. Odbiorca powinien rozpoznawać identyfikator zdarzenia i nie wykonywać tej samej operacji wielokrotnie, gdy operacja nie jest bezpieczna przy powtórzeniu. Należy również sprawdzić limit prób, odstępy między próbami, zachowanie po przekroczeniu limitu oraz sposób oznaczenia trwale nieprzetworzonych zdarzeń. Test powinien obejmować opóźnioną odpowiedź, chwilową niedostępność oraz błędny ładunek, aby potwierdzić, że mechanizm nie gubi informacji i nie tworzy niekontrolowanej pętli ponowień. Wynik audytu na komputerze użytkownikaNa laptopie lub komputerze PC problemy z webhookiem mogą być widoczne jako brak synchronizacji, nieaktualny status albo komunikat o nieudanej operacji, lecz przyczyna może znajdować się poza samą aplikacją. Diagnostyka powinna objąć datę i godzinę systemową, stan połączenia sieciowego, poprawne rozwiązywanie nazwy hosta oraz działanie aplikacji wysyłającej lub odbierającej powiadomienia. Należy sprawdzić, czy lokalna zapora lub program zabezpieczający nie blokuje procesu, portu albo połączenia TLS. Nie powinno się jednak wyciągać wniosku o awarii webhooka wyłącznie na podstawie braku widocznego komunikatu w aplikacji. Przydatnym elementem protokołu jest tabela zawierająca identyfikator zdarzenia, adres docelowy, czas wysłania, kod odpowiedzi, czas odpowiedzi, liczbę prób oraz rezultat przetwarzania. Jeżeli aplikacja udostępnia logi, trzeba zachować fragment obejmujący cały przebieg testu: utworzenie zdarzenia, wysłanie żądania, odebranie odpowiedzi i ewentualne ponowienie. Dane uwierzytelniające należy przed zapisaniem zamaskować. Jeżeli problem występuje tylko na jednym komputerze, należy porównać konfigurację aplikacji, certyfikaty systemowe, ustawienia proxy i reguły zapory z urządzeniem, na którym ten sam test kończy się poprawnie. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów stacjonarnych PC i ich podzespołów, dlatego przy problemach z lokalnym środowiskiem można rozpocząć od diagnostyki sprzętu oraz systemu, a następnie oddzielić usterkę komputera od błędu konfiguracji webhooka. Końcowy wynik checklisty powinien jasno wskazywać, czy problem dotyczy sieci, certyfikatu, autoryzacji, formatu danych, obsługi odpowiedzi, ponawiania prób czy samego urządzenia. |