Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

publiczny dostęp do klucza API

Termin Definicja
publiczny dostęp do klucza API

Publiczny dostęp do klucza API pozwala dowolnej osobie korzystać z uprawnień powiązanych z tym kluczem.

Na czym polega publiczny dostęp do klucza API

Publiczny dostęp do klucza API oznacza sytuację, w której wartość używaną przez aplikację do identyfikacji żądań może odczytać dowolna osoba. Klucz może znajdować się bezpośrednio w kodzie strony internetowej, w pliku JavaScript pobieranym przez przeglądarkę, w publicznym repozytorium, w dokumentacji, obrazie systemu albo w logach przekazanych innym użytkownikom. Sam fakt, że klucz ma postać ciągu znaków, nie określa jego poziomu bezpieczeństwa. Znaczenie ma to, jakie uprawnienia nadał mu operator konkretnego interfejsu API.

Klucz API zwykle jest przekazywany w nagłówku HTTP, parametrze zapytania albo innym polu wymaganym przez usługę. Jeżeli aplikacja działa w przeglądarce, użytkownik może obejrzeć żądania w narzędziach deweloperskich, odczytać kod JavaScript lub sprawdzić pamięć podręczną. Taki klucz nie jest sekretem w technicznym znaczeniu, ponieważ musi zostać dostarczony do środowiska kontrolowanego przez użytkownika. Nie oznacza to jednak, że każdy klucz ujawniony publicznie jest nieszkodliwy. Błąd polega przede wszystkim na połączeniu publicznie dostępnego identyfikatora z nadmiernymi uprawnieniami.

Uprawnienia, koszty i możliwe skutki ujawnienia

Konsekwencje zależą od zakresu dostępu przypisanego do klucza. Klucz ograniczony wyłącznie do odczytu publicznych danych może pozwalać na pobieranie informacji, ale nie na ich zmianę. Klucz umożliwiający zapis może prowadzić do tworzenia, modyfikowania lub usuwania zasobów. W przypadku usług rozliczanych za liczbę żądań osoba trzecia może wykorzystać cudzy limit albo wygenerować opłaty. Jeżeli dostawca nie stosuje dodatkowych ograniczeń, ten sam klucz może być używany z wielu adresów IP i przez długi czas.

Publicznie dostępny klucz może również zostać wykorzystany do ominięcia założeń aplikacji. Przykładowo interfejs użytkownika może ukrywać określone funkcje, lecz bezpośrednie żądanie do API nadal będzie przyjmowane, jeśli serwer ufa samemu kluczowi. Nie należy utożsamiać ukrycia elementu w formularzu, ograniczenia przycisku ani zaciemnienia kodu JavaScript z kontrolą dostępu. Rzeczywiste uprawnienia muszą być sprawdzane po stronie serwera. Klucz znaleziony w kodzie należy traktować jako potencjalnie skompromitowany, zwłaszcza gdy pozwala na operacje inne niż dostęp do danych przeznaczonych dla wszystkich.

Rozdzielenie kluczy publicznych i sekretów serwerowych

Bezpieczny model zakłada rozdzielenie elementów przeznaczonych dla klienta od poświadczeń używanych wyłącznie przez serwer. Klucz publiczny może być ograniczony do konkretnych endpointów, metod HTTP, domeny aplikacji, aplikacji mobilnej, adresów IP lub określonego środowiska. Dodatkową ochronę stanowią ograniczenia liczby żądań, zakresy uprawnień oraz możliwość szybkiego unieważnienia i wygenerowania nowego klucza. Mechanizmy te nie czynią wartości całkowicie tajną, ale zmniejszają skutki jej przejęcia.

Operacje wymagające poufnego klucza powinny przechodzić przez backend, który przechowuje sekret poza kodem dostarczanym użytkownikowi. Sekrety można przekazywać procesowi przez bezpieczny magazyn konfiguracji lub zmienne środowiskowe, jednak samo użycie zmiennej środowiskowej nie pomaga, jeśli aplikacja później wstawia jej wartość do publicznego pakietu JavaScript. W repozytorium należy sprawdzać historię zmian, pliki konfiguracyjne, przykłady i logi. Usunięcie klucza z bieżącego pliku nie unieważnia kopii zapisanej wcześniej w historii Git. Po podejrzeniu sekretu właściwą reakcją jest jego natychmiastowa rotacja, przegląd logów użycia i sprawdzenie operacji wykonanych przed unieważnieniem.

Sprawdzenie wycieku na laptopie lub komputerze PC

Podczas diagnostyki aplikacji na laptopie albo komputerze PC warto ustalić, czy klucz jest widoczny w kodzie strony, żądaniach sieciowych, lokalnych plikach konfiguracyjnych, pamięci podręcznej oraz narzędziach automatyzujących budowanie programu. Należy także porównać zakres uprawnień klucza z funkcjami, które faktycznie musi wykonywać aplikacja. Jeżeli aplikacja tylko wyświetla publiczne dane, klucz z prawem zapisu jest nieuzasadniony. Jeżeli wartość trafiła do publicznego repozytorium lub została umieszczona w logu, trzeba przyjąć, że mogła zostać skopiowana, nawet gdy nie znaleziono jeszcze śladów nadużycia.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki oprogramowania można również sprawdzić lokalne przyczyny ujawniania konfiguracji, działanie przeglądarki, pliki projektu oraz sposób przechowywania ustawień aplikacji. Sama naprawa komputera nie zastępuje rotacji klucza po stronie dostawcy API. Po wykryciu publicznego dostępu administrator usługi powinien ograniczyć uprawnienia, unieważnić ujawnioną wartość, wydać nowy klucz i zweryfikować, czy aplikacja korzysta z właściwego mechanizmu uwierzytelniania.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę