Funkcjonalność
Krótkotrwałe tokeny
Jak działa: Access tokeny szybko wygasają, a refresh tokeny rotują.
Powiązane funkcjonalności
- Ochrona przed zagrożeniami
- Weryfikacja urządzeń (Device assurance)
- MFA odporne na phishing
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:
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ć.
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.
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.
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
Jak to robi Okta
Okta daje kilka ustawień, które określają, jak długo logowanie pozostaje ważne. Można je łączyć.
Użytkownik loguje się raz
Użytkownik loguje się do Okta, co rozpoczyna sesję dla jednokrotnego logowania (SSO).3
Okta wydaje tokeny o ograniczonym czasie życia
Okta wydaje aplikacji access i refresh tokeny, a Ty konfigurujesz, jak długo pozostają ważne.1
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
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
Sprawdzamy, które aplikacje trzymają tokeny i na jak długo
Spisujemy aplikacje i sposób, w jaki dostają tokeny oraz ich czas życia.
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.
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).
Wdrażamy aplikacja po aplikacji
Zmieniamy czas życia aplikacja po aplikacji w Okcie. Helpdesk dostaje instrukcję na pytania użytkowników o wylogowania.
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
- 1OAuth 2.0 and OpenID Connect overviewdeveloper.okta.com
- 2Refresh access tokensdeveloper.okta.com
- 3About global session policiesOkta Help Center