Jak sprawdzić, kto ma dostęp do strony firmowej i sklepu przez klucze API

Jak sprawdzić, kto ma dostęp do strony firmowej i sklepu przez klucze API

Ostatnio zweryfikowano: 23 października 2026
10 min czytania
Przewodnik
Audytor bezpieczeństwa

Strona firmowa ma więcej drzwi niż formularz logowania. Panel zarządzania, z którego agencja aktualizuje wtyczki, aplikacja sklepu z dostępem do zamówień, token Cloudflare w skrypcie czyszczącym cache, klucz wdrożeniowy na serwerze: każde z nich otwiera stronę bez hasła administratora. W październiku 2026 dwa incydenty pokazały, co się dzieje, gdy taki klucz trafi w złe ręce. Ten poradnik pomoże ci spisać wszystkie dostępy, cofnąć zbędne i wymienić resztę, niezależnie od tego, czy masz WordPressa, WooCommerce, Shopify, czy stronę na własnym kodzie.

#Co się stało z UpdraftCentral w październiku 2026

W komunikacie TeamUpdraft firma podaje, że w weekend 17 i 18 października wykryła nieuprawniony dostęp do serwisu teamupdraft.com i uważa, że baza klientów została odczytana. Były w niej imiona i nazwiska, adresy e-mail, zahaszowane hasła, ustawienia dwuskładnikowego logowania oraz klucze połączeń UpdraftCentral, UpdraftVault i UpdraftClone. Danych kart firma nie przechowuje. Napastnik wykorzystał połączenie ze stronami klientów do zakładania kont administratorów i instalowania złośliwych wtyczek, a w kolejnej aktualizacji TeamUpdraft ostrzegł przed nieoczekiwanymi kontami z rolą redaktora. UpdraftPlus 1.26.13 (darmowy) i 2.26.13 (Premium), wydane 19 października, rozłączają każde połączenie UpdraftCentral utworzone przed 18 października, godz. 13:07 czasu brytyjskiego.

Analiza Patchstack wyjaśnia, dlaczego zwykłe zabezpieczenia nie zadziałały. Polecenia były podpisane prawdziwymi kluczami panelu, więc wtyczka uznawała je za poprawne. Podłączona strona wykonuje każde podpisane polecenie z uprawnieniami użytkownika, który utworzył połączenie, i nikt nie zatwierdza poleceń pojedynczo. Wielu właścicieli w ogóle tego nie wybrało: przy łączeniu konta TeamUpdraft.com pole dodające stronę do UpdraftCentral było domyślnie zaznaczone. Klucze nie wygasały, Patchstack widział klucze z listopada 2025 działające w październiku 2026. Konta tylnych drzwi wyglądały jak redaktorzy, ale miały uprawnienia manage_options i install_plugins, więc przegląd listy administratorów ich nie pokazywał.

Kilka dni wcześniej Rank Math poinformował, że wersja PRO 3.0.123 pobrana między 15 października, 20:02 UTC, a 16 października, 07:12 UTC, zawierała złośliwy kod. Czysta wersja to 3.0.124, a darmowa wtyczka z WordPress.org nie była dotknięta. Kto aktywował zainfekowaną wersję, ma założyć, że wszystkie sekrety na stronie wyciekły, i wymienić: hasła WordPressa, dane dostępowe do bazy, klucze i sole w wp-config.php, klucze bramek płatności, dane SMTP, pozostałe klucze API, dostępy do hostingu, FTP i SSH, a także sprawdzić dwuskładnikowe logowanie administratorów. Szerszy obraz takich ataków opisujemy w tekście o atakach na łańcuch dostaw w WordPressie w 2026 roku.

#Jak sprawdzić, kto ma dostęp do strony firmowej

Klucze działają w dwie strony. Twoja strona przechowuje klucze do cudzych systemów (płatności, poczta, kopie zapasowe), a cudze systemy przechowują klucze do twojej strony (panele zarządzania, aplikacje, wdrożenia). Lista z Rank Math dotyczy pierwszego kierunku, incydent UpdraftCentral drugiego.

Spis zbierasz z trzech miejsc: z samej strony (użytkownicy, wtyczki lub aplikacje, ustawienia), z kont firmy (faktury, menedżer haseł, skrzynka, na którą przychodzą potwierdzenia rejestracji) i z infrastruktury (DNS, CDN, panel hostingu, repozytorium kodu). Przy każdej pozycji zapisz: usługę, co może zrobić, kto utworzył klucz, gdzie leży klucz po obu stronach, kiedy był ostatnio użyty i kto w firmie za niego odpowiada. Pozycja bez właściciela to pierwszy kandydat do usunięcia.

#Panele zarządzania wieloma stronami

UpdraftCentral, ManageWP, MainWP i Jetpack łączą się ze stroną przez komponent zainstalowany w WordPressie: UpdraftPlus zawiera klienta UpdraftCentral, ManageWP używa wtyczki ManageWP Worker, a MainWP wtyczki MainWP Child. Druga połowa danych dostępowych leży na serwerach dostawcy albo na serwerze agencji. Przejrzyj listę wtyczek razem z zakładką wtyczek obowiązkowych (must-use) i zapytaj agencję, z jakich paneli korzysta. Wniosek Patchstack dotyczy każdego produktu tego typu: usunięcie strony z panelu nie wystarcza, bo klucz, który się liczy, jest zapisany na stronie.

#Aplikacje sklepu i integracje z dostępem do API

W Shopify otwórz ustawienia, sekcję aplikacji, i kliknij każdą z nich. Według dokumentacji Shopify strona aplikacji pokazuje obszary sklepu, które może odczytywać lub zmieniać, z datą ostatniej aktywności w każdym obszarze. Uprawnienia nieużywane od 30 dni trafiają do osobnej podsekcji nieużywanego dostępu. Uprawnienie read_all_orders rozszerza dostęp poza domyślne okno zamówień z ostatnich 60 dni (zakresy dostępu), więc zapytaj dostawcę, po co mu ono. Zanim odinstalujesz aplikację, wyeksportuj potrzebne dane, bo Shopify ostrzega, że części z nich nie da się potem odzyskać.

W WooCommerce klucze znajdziesz w ustawieniach WooCommerce, w zakładce zaawansowanej, sekcja REST API. Każdy klucz jest przypisany do użytkownika WordPressa i ma uprawnienia do odczytu, zapisu albo obu, a sekret klienta wyświetla się tylko raz (dokumentacja WooCommerce). Sprawdź, do kogo należy każdy klucz i czy ta osoba nadal z tobą pracuje. To samo dotyczy kluczy do Przelewy24, PayU czy hurtowni, wpisanych w ustawieniach wtyczek.

#Hasła aplikacji i konta techniczne w WordPressie

Hasła aplikacji pozwalają narzędziu logować się do REST API przez Basic Auth. Tworzysz je i cofasz na ekranie edycji użytkownika. Rdzeń WordPressa nie ogranicza ich zakresu: przewodnik integracji wymienia zawężanie uprawnień jako plan na przyszłość, więc hasło aplikacji może wszystko, co jego użytkownik. WordPress zapisuje ostatnie użycie (z dokładnością do doby) i ostatni adres IP. Z WP-CLI:

wp user list --role=administrator
wp user list --role=editor
wp user application-password list 1 --fields=name,created,last_used,last_ip

Lista redaktorów jest tu ważna, bo konta tylnych drzwi w sprawie UpdraftCentral miały właśnie tę rolę.

#Tokeny CDN i DNS

Token z prawem edycji DNS wystarczy, żeby przekierować domenę albo rekordy poczty. W Cloudflare token API ograniczasz do wybranych uprawnień i stref, a dodatkowo do adresów IP i czasu ważności (tworzenie tokenu). Starszy Global API key ma dostęp do wszystkich zasobów użytkownika z jego pełnymi uprawnieniami i Cloudflare odradza go w nowych wdrożeniach (Global API key). Jeśli wtyczka, skrypt CI albo czyszczenie cache wciąż go używa, zastąp go tokenem dla jednej strefy.

#Klucze wdrożeniowe w GitHubie

Klucz wdrożeniowy (deploy key) w GitHubie to klucz SSH z dostępem do jednego repozytorium. Domyślnie tylko do odczytu, a z prawem zapisu może tyle, co członek organizacji z uprawnieniami administratora. Według dokumentacji GitHuba takie klucze nie mają daty wygaśnięcia, zwykle nie mają hasła i pozostają aktywne po usunięciu z repozytorium osoby, która je dodała. Przegląd zrobisz w ustawieniach repozytorium, w sekcji kluczy wdrożeniowych: nieznane usuń, prawidłowe zatwierdź.

#Klucze płatności, poczty i kopii zapasowych

Stripe pozwala tworzyć klucze ograniczone z uprawnieniami, które sam wybierasz, a przy wymianie klucza w panelu decydujesz, kiedy wygaśnie stary: od razu albo po czasie, który daje integracji okno na przełączenie (klucze API Stripe). Hasło SMTP albo klucz API dostawcy poczty transakcyjnej leży we wtyczce albo w wp-config.php; gdzie dokładnie, pokazujemy w przewodniku po SMTP, SPF i DKIM.

Kopia zapasowa zawiera pełną bazę z danymi klientów i wszystkimi kluczami zapisanymi w ustawieniach. TeamUpdraft odłączył wszystkie strony od UpdraftVault i wydał nowe dane dostępowe, a stronom, do których wszedł napastnik, zalecił ponowną autoryzację magazynów (Google Drive, Dropbox, Amazon S3) i zmianę kluczy dostępu do nich. Sprawdź, kto może czytać twój magazyn kopii i czy narzędzie do kopii ma prawo kasować stare wersje.

#Lista kontrolna dostępów do strony i sklepu

Typ usługiGdzie leży kluczJak cofnąćKiedy wymienić
Panel zarządzania (UpdraftCentral, ManageWP, MainWP, Jetpack)Ustawienia wtyczki łączącej na stronie oraz panel dostawcy lub agencjiNajpierw usuń klucz na stronie, potem stronę z paneluIncydent u dostawcy, zmiana agencji, panel nieużywany
Aplikacja ShopifyUprawnienia aplikacji w ustawieniach sklepuWyeksportuj dane, odinstaluj aplikacjęNieużywany dostęp, incydent u dostawcy, aplikacja zbędna
Klucz REST API WooCommerceUstawienia WooCommerce, przypisany do użytkownika WordPressaLink cofnięcia przy kluczuOdejście przypisanego użytkownika, zmiana integracji
Hasło aplikacji WordPressaProfil użytkownika, w bazie jako skrótCofnięcie na ekranie użytkownika albo w WP-CLIBrak użycia od ostatniego audytu, odejście osoby, włamanie
Token CDN lub DNS (Cloudflare)Konto Cloudflare i narzędzie, które wywołuje APIUsunięcie tokenu w profilu CloudflareToken w logach lub repozytorium, odejście osoby lub narzędzia
Klucz wdrożeniowy (GitHub)Klucz prywatny na serwerze, publiczny w ustawieniach repozytoriumUsunięcie w sekcji kluczy wdrożeniowychPrzebudowa lub włamanie na serwer, zmiana agencji
Klucz płatności (Stripe, Przelewy24, PayU)Ustawienia wtyczki sklepu lub zmienne środowiskoweWymiana z terminem wygaśnięcia starego kluczaWłamanie, koniec współpracy z programistą
Klucz poczty lub SMTPWtyczka SMTP, wp-config.php, zmienne środowiskoweUsunięcie klucza u dostawcy pocztyWłamanie, zmiana wtyczki lub dostawcy
Dane dostępowe do magazynu kopiiUstawienia wtyczki kopii i uprawnienia u dostawcy magazynuCofnięcie u dostawcy magazynu i ponowna autoryzacjaIncydent u dostawcy, włamanie

#Jak cofnąć klucz API, żeby strona dalej działała

Na zdrowej stronie kolejność jest taka: ustal, co używa klucza (opis, ostatnie użycie, logi narzędzia), utwórz następcę z węższymi uprawnieniami, wpisz go w narzędziu i sprawdź, że działa, a dopiero potem cofnij stary klucz. Przez kilka dni obserwuj nieudane zamówienia, brakujące maile i zepsute wdrożenia. Okno wygaśnięcia w Stripe powstało właśnie po to.

Na stronie po włamaniu kolejność się odwraca: najpierw cofasz, a integracje, które przestaną działać, podłączasz od nowa. Tak wyglądają instrukcje TeamUpdraft dla użytkowników UpdraftCentral: logujesz się do każdej strony bezpośrednio, aktualizujesz, usuwasz klucz połączenia, kasujesz nieznane konta i wtyczki, zmieniasz hasła administratorów i dopiero wtedy łączysz ponownie. Jeśli klucz ma dwa końce, cofnij go na obu. Klucz skasowany tylko w panelu dostawcy strona może nadal akceptować, a klucz skasowany tylko na stronie może dalej leżeć w bazie dostawcy.

#Kiedy wymieniać klucze API

Wymieniaj po zdarzeniach, bo sam kalendarz nikogo nie uratował w październiku 2026. Do procedury warto wpisać:

  • incydent bezpieczeństwa u dostawcy, który ma klucz do twojej strony albo dostaje od niej klucz,
  • złośliwy kod uruchomiony na stronie, czyli wszystko z listy Rank Math powyżej,
  • odejście pracownika, freelancera albo agencji z dostępem,
  • klucz znaleziony tam, gdzie nie powinien być: w repozytorium, zgłoszeniu, wątku mailowym, na zrzucie ekranu,
  • zastąpienie integracji innym narzędziem.

Do tego raz w roku stały przegląd, na którym usuwasz każdy klucz, którego nikt nie umie wyjaśnić. Klucze bez daty wygaśnięcia, jak klucze wdrożeniowe GitHuba albo klucze UpdraftCentral badane przez Patchstack, działają, dopóki ktoś ich nie usunie.

#Czego wymagać od agencji i dostawców oprogramowania

Agencja, która utrzymuje stronę, tworzy klucze w twoim imieniu. Od 3 kwietnia 2026 obowiązuje nowelizacja ustawy o krajowym systemie cyberbezpieczeństwa (Dz.U. 2026 poz. 252), której definicja dostawcy usług zarządzanych obejmuje wsparcie i aktywną administrację, także zdalną. Czy twoja agencja podlega ustawie, zależy od progów i sektora, co rozpisujemy w tekście o KSC 2026 i agencjach WordPress. Niezależnie od wyniku te punkty warto mieć w umowie:

  • rejestr wszystkich kluczy, tokenów i kont, które agencja tworzy, z celem i właścicielem, przekazywany na żądanie i na koniec współpracy,
  • klucze zakładane na twoich kontach tam, gdzie platforma na to pozwala, na przykład token Cloudflare na twoim koncie, ograniczony do twojej strefy, żeby cofnięcie nie zależało od agencji,
  • osobny klucz dla każdej strony i każdego narzędzia oraz imienne konta zamiast wspólnego loginu agencji,
  • cofnięcie wszystkich dostępów w ustalonej liczbie dni po zakończeniu umowy, potwierdzone na piśmie,
  • termin zgłoszenia incydentu. Agencja z dostępem do danych klientów jest zwykle podmiotem przetwarzającym w rozumieniu RODO, więc potrzebujesz umowy powierzenia z art. 28. Według art. 33 RODO podmiot przetwarzający zgłasza naruszenie administratorowi bez zbędnej zwłoki, a ty masz 72 godziny, jeśli to wykonalne, na zgłoszenie do UODO. Wpisz w umowę konkretną liczbę godzin.

Zanim zainstalujesz wtyczkę lub aplikację z funkcjami zdalnymi, zapytaj dostawcę, czy połączenie zdalne jest domyślnie włączone i czy jego klucze wygasają. W przypadku UpdraftCentral Patchstack ustalił, że pole zgody było zaznaczone z góry, a klucze nie miały terminu ważności.

Taki przegląd robimy w ramach audytu bezpieczeństwa WordPress, a rejestr kluczy aktualizujemy przy utrzymaniu stron opartych o WordPress. W sklepach WooCommerce to część planu niezawodności sklepu, a w sklepach Shopify uprawnienia aplikacji przeglądamy przy pracach programisty Shopify. O tym, jak aktualizacje wtyczek trafiają na stronę i gdzie może się wśliznąć podmieniona wersja, piszemy w tekstach o opóźnieniu aktualizacji w WordPress.org i o czterech backdoorach w miesiąc.

Następny krok

Przekuj artykuł w realne wdrożenie

Pod tym wpisem dokładam linki, które domykają intencję użytkownika i prowadzą dalej w strukturze serwisu.

Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.

Często zadawane pytania

Najważniejsze odpowiedzi, które pomagają wdrożyć temat w praktyce.

Czy wystarczy usunąć stronę z panelu UpdraftCentral#
Nie. Patchstack zwraca uwagę, że klucz, który się liczy, jest zapisany na samej stronie. Usuń go w ustawieniach UpdraftPlus na każdej stronie i zaktualizuj wtyczkę do 1.26.13 (darmowa) lub 2.26.13 (Premium), która rozłącza połączenia sprzed 18 października 2026, godz. 13:07 czasu brytyjskiego. Potem przejrzyj użytkowników, także redaktorów, i listę wtyczek.
Jak często wymieniać klucze API w firmie#
Po zdarzeniu: incydencie u dostawcy, złośliwym kodzie na stronie, odejściu osoby lub agencji z dostępem albo kluczu znalezionym w repozytorium, zgłoszeniu czy mailu. Do tego raz w roku stały przegląd, na którym usuwasz klucze bez właściciela.
Czy taki audyt dotyczy też sklepu na Shopify#
Tak. W Shopify klucze mają zainstalowane aplikacje. Strona każdej aplikacji w ustawieniach pokazuje, które obszary sklepu może odczytywać lub zmieniać, kiedy ostatnio z nich korzystała i jakie uprawnienia leżą nieużywane od 30 dni.
Czy agencja utrzymująca stronę podlega ustawie o KSC#
Definicja dostawcy usług zarządzanych w znowelizowanej ustawie obejmuje wsparcie i aktywną administrację, także zdalną, więc opis pasuje do typowej umowy utrzymaniowej. O tym, czy konkretna firma podlega ustawie, decydują jeszcze progi wielkości i sektor.

Potrzebujesz FAQ dopasowanego do branży i rynku? Przygotujemy wersję pod Twoje cele biznesowe.

Porozmawiajmy

Polecane artykuły

Audyt bezpieczeństwa WordPress

Realny audyt strony MŚP na WordPress: Elementor przypięty na 3.11.1, poniżej poprawek pięciu CVE z bazy NVD, i Contact Form 7 na 5.8 narażony na CVE-2023-6449 (arbitralny upload pliku). Wzorzec nieaktualnych wtyczek, triage CVE, staging i limity WAF.