Funkcjonalność

Krótkotrwałe tokeny

Jak działa: Access tokeny szybko wygasają, a refresh tokeny rotują.

WIC

W skrócie

Krótkotrwałe tokeny wygasają po ustawionym przez Ciebie czasie, więc skradziony token jest użyteczny dla atakującego tylko przez krótką chwilę. Czas życia tokenów i globalne polityki sesji określają maksymalny czas dostępu, także gdy refresh tokeny odnawiają dostęp.13

4
rodzaje ataków, przed którymi pomaga chronić

Co to jest i jakie ataki zatrzymuje

Po zalogowaniu, aplikacje opierają się na tokenach i sesjach, zamiast ponownie pytać o hasło. Ktokolwiek ma ważny access token, może wykonywać operacje jako użytkownik aż do momentu wygaśnięcia tokenu.

Krótkotrwałe tokeny skracają to okno czasowe - Okta może wydawać tokeny o ograniczonym czasie życia i odnawiać je przez refresh tokeny. Ponadto, globalne polityki sesji mogą dodatkowo ograniczać, jak długo użytkownik może pozostać zalogowany.123

Dzięki temu ograniczamy skutki ataków, takich jak:

1

Skradzione ciasteczka sesji i tokeny

Złośliwe oprogramowanie na laptopie kopiuje token z przeglądarki - krótki czas życia skraca okres, w którym atakujący może go użyć.

2

Przejęcie sesji w ataku adversary-in-the-middle

Serwer pośredniczący przechwytuje sesję po tym, jak użytkownik przejdzie MFA - token, który szybko wygasa, daje atakującemu mniej czasu.

3

Tokeny wycieknięte w logach lub kodzie

Token trafia do publicznych logów albo repozytorium - jeżeli już wygasł, taki token jest niezbyt przydatny dla atakującego.

4

Dostęp, który przetrwał odejście pracownika

Pracownik odchodzi, ale długo ważny token nadal działa - krótki czas życia tokenów zamyka tę lukę szybciej.

Przed i po wdrożeniu funkcjonalności

Przed
Po
PrzedSkradziony token działa przez nieokreślony czas.
PoSkradziony token przestaje działać po skonfigurowanym przez Ciebie czasie życia.1
PrzedJeden długo żyjący refresh token można skopiować i używać wielokrotnie.
PoPrzy rotacji refresh tokenów, nowy token jest wydawany po każdym użyciu poprzedniego.2
PrzedKażda aplikacja sama decyduje, jak długo trwa logowanie.
PoCzas życia sesji i tokenów ustawiasz centralnie w politykach Okta.3
PrzedPo odejściu pracownika nikt nie wie, które tokeny nadal są ważne.
PoLimity tokenów dostępu, refresh tokenów i sesji Okta razem określają, jak długo może trwać dostęp; sesje aplikacji wymagają własnych limitów albo Universal Logout.13

Jak to robi Okta

Okta daje kilka ustawień, które określają, jak długo logowanie pozostaje ważne. Można je łączyć.

1

Użytkownik loguje się raz

Użytkownik loguje się do Okta, co rozpoczyna sesję dla jednokrotnego logowania (SSO).3

2

Okta wydaje tokeny o ograniczonym czasie życia

Okta wydaje aplikacji access i refresh tokeny, a Ty konfigurujesz, jak długo pozostają ważne.1

3

Aplikacja odnawia token, gdy trzeba

Aplikacja może użyć refresh tokenu, aby dostać nowy access token bez konieczności ponownego logowania przez użytkownika.2

4

Polityka decyduje, jak długo wolno odnawiać

Ustawienia sesji i tokenów w Okcie określają, kiedy użytkownik musi uwierzytelnić się ponownie.13

WIC
Kogo chroniPracownicy, kontraktorzy, admini
Access token lifetimeNa serwerze autoryzacji Okta można skonfigurować, jak długo access tokeny pozostają ważne.1
Rotacja refresh tokenówOkta obsługuje rotację refresh tokenów, czyli wydawanie nowego refresh tokenu po każdym użyciu poprzedniego.2
Globalne polityki sesjiGlobalne polityki sesji w Okcie ustawiają maksymalny czas trwania sesji i limit bezczynności, co ogranicza czas dostępu nawet przy użyciu refresh tokenów.3

Jak wdrażamy to w Zelto

Okta dostarcza ustawienia - Zelto ustala z Tobą ich wartości, bo zbyt krótki czas życia psuje działanie aplikacji, a zbyt długi odbiera sens całej funkcjonalności. Planujemy zmiany grupami, aby zminimalizować ryzyko i skutki. Zaczynamy od aplikacji z najbardziej wrażliwymi danymi.

Typowy przebieg wdrożenia

  1. Sprawdzamy, które aplikacje trzymają tokeny i na jak długo

    Spisujemy aplikacje i sposób, w jaki dostają tokeny oraz ich czas życia.

  2. Ustalamy docelowy czas życia według ryzyka

    Proponujemy krótszy czas życia dla aplikacji z wrażliwymi danymi i narzędzi dla adminów. Aplikacje o niższym ryzyku zachowują dłuższy czas, żeby nie przerywać pracy użytkowników.

  3. Pilotaż z jedną aplikacją i jej właścicielem

    Zmieniamy najpierw jedną aplikację i ustalamy z jej właścicielem, co uznajemy za problem i kiedy wycofujemy zmianę (roll-back).

  4. Wdrażamy aplikacja po aplikacji

    Zmieniamy czas życia aplikacja po aplikacji w Okcie. Helpdesk dostaje instrukcję na pytania użytkowników o wylogowania.

  5. Testujemy ścieżki odejścia i unieważniania

    Sprawdzamy, co dzieje się z dostępem, gdy ktoś odchodzi lub gubi urządzenie, i powtarzamy to sprawdzenie regularnie.

Pułapki, które uwzględniamy w planie

Tokeny są skrócone, a użytkownicy są wylogowywani przez cały dzień.

−Skracamy wszystkie czasy życia naraz, a użytkownicy zaczynają prosić o wyjątki.

+Ustawiamy czas życia dla każdej aplikacji według ryzyka, najpierw testujemy go na jednej aplikacji i poprawiamy przed szerszym wdrożeniem.

Krótki access token działa razem z refresh tokenem, który nigdy nie wygasa.

−Zostawiamy długo ważne refresh tokeny bez rotacji, więc atakujący, który raz token ukradnie, zachowuje dostęp.

+Włączamy rotację refresh tokenów oraz ustalamy maksymalny czas życia odnawiania dla każdej aplikacji.

Pracownik odchodzi, a jego sesje nadal są otwarte.

−Czekamy, aż tokeny same wygasną.

+Kończymy sesję i unieważniamy tokeny w ramach procesu leaver, a ten krok regularnie testujemy.

Integracje i skrypty używają statycznych kluczy API, które nigdy nie wygasają.

−Skracamy tokeny użytkowników i zostawiamy statyczne klucze, więc atakujący zaczynają szukać kluczy.

+Spisujemy każdy statyczny klucz, przypisujemy właściciela i przechodzimy na krótkotrwałe.

Potrzebujesz tokenów, które wygasają z założenia, bez ciągłego wylogowywania użytkowników?

Sprawdzimy, jak długo dziś żyją Twoje sesje i tokeny. Potem powiemy, które aplikacje zmienić najpierw.

Umów rozmowę30 minut, bez prezentacji. Sprawdzamy, jak Twoje aplikacje obsługują dziś sesje i tokeny.

Powiązane wpisy na blogu

Notatki z wdrożeń

Źródła

Oficjalna dokumentacja Okta i Auth0 oraz źródła prawne

  1. 1OAuth 2.0 and OpenID Connect overviewdeveloper.okta.com
  2. 2Refresh access tokensdeveloper.okta.com
  3. 3About global session policiesOkta Help Center