Браузерный срок и удаление cookie управляют локальной копией; серверный отзыв закрывает использование идентификатора на стороне приложения.
Отзыв сессии
Определение
Отзыв сессии — принудительное прекращение сессии на сервере: приложение перестаёт принимать её идентификатор, не дожидаясь истечения срока. Удаление cookie в браузере отзывом не считается — украденная копия работает, пока сеанс жив на сервере.
Также ищут: Session revocation · server-side logout · session invalidation
Зачем это знать
Украденная копия cookie переживёт очистку браузера, если сервер продолжает принимать тот же идентификатор сессии.
Карта понятия
Сравнить
Связано
Что подтверждено
Выход должен закрывать сессию на сервере и очищать токен у клиента; одно удаление на клиенте не отзывает уже скопированный идентификатор.
Граница применимости: Ручное завершение сессии.
Срок простоя, абсолютный срок и явный отзыв закрывают разные условия жизненного цикла и должны применяться на сервере.
Граница применимости: Средства завершения сессии.
Сервер применяет срок бездействия и абсолютный срок по своей модели сеанса. Открытая вкладка, закрытие браузера или клиентский таймер не заменяют это решение.
Граница применимости: Сеанс с серверным состоянием и рекомендации OWASP по ограничению времени.
Допустимая активность может отодвигать срок бездействия, но не должна превращать абсолютный срок сеанса в бесконечный. Эти два ограничения отсчитываются по разным условиям.
Граница применимости: Различие срока бездействия и абсолютного срока в модели OWASP; конкретные длительности задаёт приложение.
Уничтожение записи серверного сеанса отзывает идентификатор в этой модели. Из этого нельзя автоматически вывести немедленный отзыв самостоятельного токена, который другие узлы проверяют без обращения к данной записи.
Граница применимости: Граница примера с непрозрачным идентификатором и отдельной архитектуры проверки токенов; способ отзыва самостоятельного токена здесь не назначается.
Не путать
Сначала определяют модель состояния и его проверяющие узлы, затем проверяют, что решение об отзыве действует на каждом обслуживаемом пути.
Что проверить
- Укажите, какое состояние сервер проверяет по идентификатору.
- Отдельно задайте срок бездействия и абсолютный срок.
- Применяйте оба срока на сервере.
- Проверьте явный выход и аварийный отзыв.
- Удалите cookie с нужной областью после выхода.
- Проверьте старый идентификатор на каждом обслуживаемом узле.
- Не переносите результат на самостоятельные токены без проверки их модели отзыва.
Первоисточники
- Session Management Cheat Sheet
Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.
- Session Management Cheat Sheet
Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.
Утверждения: 05
- Guidelines for API Protection for Cloud-Native Systems
Задаёт API lifecycle controls для authentication, authorization, rate limits, resource limits, logging и monitoring.
Утверждения: 05
- Cookies: HTTP State Management Mechanism
Базовый стандарт Cookie и Set-Cookie: синтаксис, атрибуты Secure, HttpOnly, Path, Domain. SameSite в нём НЕТ — он появился в 6265bis, см. ietf-6265bis-cookies.
- HTTP Semantics
Определяет stateless HTTP, origin server, intermediaries, target URI и security significance полей authority и Host.