Тематический маршрут
Безопасность и доступ
Область посвящена доступу человека и приложения к службе: учётным записям, полномочиям, токенам, сеансам и проверке веб-запросов. Выберите ветвь по своей задаче; читать все ветви подряд не нужно. Для доступа администратора начните с учётных записей. Для подключения приложения — с API. Для защиты работающего сайта выберите путь запроса или политику браузера. Каждая ветвь ведёт к своему курсу с упражнениями.
С чего начать
- Digital identity
Digital identity (цифровая идентичность) — то, чем пользователь или сервис представлены в системе: учётная запись, идентификаторы, атрибуты и привязанные к ним…
- Authorization
Authorization (авторизация) — решение о том, разрешено ли уже опознанному пользователю или процессу выполнить конкретную операцию над конкретным ресурсом.…
- OAuth 2.0
OAuth 2.0 — протокол, по которому приложение получает ограниченный доступ к защищённому ресурсу от имени его владельца или от своего имени.
Ветви маршрута
Доступ приложения к API
КурсДоступ к API без путаницы: OAuth, OpenID Connect и токеныЗапрос и сеанс
КурсВеб-защита по слоям: от TLS и cookie до проверенного запросаПолитика браузера
КурсCSP на практике: хеши, загрузчики и встраивание страницПодробнее о маршруте
Ветвь «Учётные записи и полномочия» начинается с цифровой идентичности, факторов аутентификации и минимальных привилегий. Затем читайте о многофакторной проверке, федерации, едином входе и ролевом доступе. Для административных работ переходите к управлению привилегированными учётными записями, временным полномочиям и записи сеансов. Курс о доступе без вечных прав администратора продолжает маршрут пересмотром прав, аварийной учётной записью и журналом аудита.
Ветвь «Доступ приложения к API» разбирает участников OAuth, выдачу полномочий и использование токенов. После клиента и серверов читайте о коде авторизации, PKCE, адресе возврата и аутентификации клиента. Далее выберите область действия токена, его получателя, срок использования и отзыв. Курс о доступе к API связывает OAuth и OpenID Connect с практикой. Статьи об удостоверяющем токене и токене доступа помогают подготовить разные вопросы для проверки этих объектов.
Ветвь «Запрос и сеанс» следует от обратного прокси и границы доверия к заголовкам, ограничениям запроса и сеансу пользователя. Здесь находятся завершение TLS, атрибуты cookie, фиксация и отзыв сеанса. Далее выбирайте угрозу: подделку запроса, выполнение сценария или обращение сервера к нежелательному адресу. Курс о веб-защите по слоям помогает составить перечень проверок на каждом участке пути запроса к приложению.
Ветвь «Политика браузера» посвящена CSP, источникам сценариев и правилам встраивания страниц. Начните с общей политики, затем переходите к одноразовой метке, хешам, доверию к загрузчику и ограничениям предков страницы. Отдельный практикум связывает эти понятия с проверкой сценариев и встраивания. Для вопроса о запросах между источниками дополнительно прочитайте статьи об одинаковом источнике, CORS и предварительном запросе.
Результат маршрута — схема участников доступа и перечень проверок для конкретного действия пользователя или приложения. В ней можно отметить, где подтверждается личность, назначаются полномочия и проверяется запрос. Выпуск и замену сертификатов разбирает область «Имена и сертификаты», изоляцию контейнера — «Виртуализация и контейнеры», оповещения — «Наблюдаемость и SRE». Для обсуждения своей задачи укажите участников, ресурс и действие, которое требуется разрешить или ограничить.
Веб и безопасность приложений
- Cookie сессии
Cookie сессии — cookie, с помощью которой браузер автоматически передаёт приложению идентификатор сессии.
- HTTP-сессия
HTTP-сессия — хранимое приложением состояние, связывающее последовательность независимых HTTP-запросов с одним пользователем и набором прав.
- Атрибут cookie HttpOnly
Атрибут cookie HttpOnly — пометка, с которой браузер перестаёт отдавать значение cookie программным интерфейсам вне HTTP, в том числе document.cookie. К…
- Атрибут cookie SameSite
Атрибут cookie SameSite — пометка, которая говорит браузеру, прикладывать ли cookie к запросам, пришедшим с другого сайта. Значение Strict, Lax или None задаёт…
- Атрибут cookie Secure
Атрибут cookie Secure — пометка, с которой браузер отправляет cookie только по защищённому соединению, обычно по HTTPS. Чтение cookie из сценария страницы и её…
- Аутентификация исходного сервера
Аутентификация исходного сервера — проверка, которой обратный прокси-сервер убеждается, что внутреннее соединение установлено с ожидаемым узлом, а не с…
- Граница доверенного прокси
Граница доверенного прокси — заранее заданный список узлов, чьим заголовкам пересылки приложение соглашается верить. Значения от остальных отправителей входной…
- Динамическое доверие CSP
Динамическое доверие CSP (strict-dynamic) — выражение политики, разрешающее допущенному по nonce или хешу скрипту подгружать зависимости через созданные им…
- Директивы CSP для скриптов
Директивы CSP для скриптов — правила политики, которые разделяют проверку JavaScript по способу выполнения кода. За элементы script отвечает script-src-elem,…
- Допустимые предки страницы CSP
Допустимые предки страницы CSP — директива frame-ancestors: она перечисляет источники, которым разрешено встраивать страницу через frame, iframe, object или…
- Доступ между источниками (CORS)
Доступ между источниками (CORS) — это протокол браузера: заголовками ответа сервер указывает, сценариям каких источников браузер может отдать этот ответ. Без…
- Завершение TLS
Завершение TLS — окончание защищённого соединения на промежуточном узле: обратный прокси проводит рукопожатие с клиентом и дальше работает с открытым HTTP. До…
- Заголовок Forwarded
Заголовок Forwarded — поле HTTP по RFC 7239, в котором прокси-сервер передаёт дальше сведения о сторонах запроса: параметры for, by, host и proto. Для…
- Исходный сервер
Исходный сервер — конечный узел, способный сформировать достоверный ответ для запрошенного ресурса.
- Контекстное кодирование вывода
Контекстное кодирование вывода — преобразование недоверенного значения для конкретного места вставки, чтобы обработчик воспринял его как данные, а не как…
- Межсайтовая подделка запроса (CSRF)
Межсайтовая подделка запроса (CSRF) — атака, при которой чужая страница заставляет браузер пользователя отправить приложению нежелательный запрос, меняющий…
- Межсайтовый скриптинг (XSS)
Межсайтовый скриптинг (XSS) — уязвимость, из-за которой недоверенные данные попадают на страницу и браузер выполняет их как код доверенного источника. Такой…
- Межсетевой экран веб-приложения (WAF)
Межсетевой экран веб-приложения (WAF) — защитный слой перед приложением, который проверяет HTTP-запросы и ответы по правилам и блокирует часть известных…
- Обратный прокси
Обратный прокси — посредник, который принимает запрос клиента как сервер и создаёт новый запрос к выбранному исходному серверу как клиент.
- Ограничение тела запроса
Ограничение тела запроса — предельный размер, который приложение готово принять по конкретному адресу API; всё сверх предела отбрасывается до дорогого разбора…
- Одноразовое значение CSP (nonce)
Одноразовое значение CSP (nonce) — случайная строка, которую создают заново для каждого ответа и указывают в политике и в тех элементах страницы, которым…
- Отзыв сессии
Отзыв сессии — принудительное прекращение сессии на сервере: приложение перестаёт принимать её идентификатор, не дожидаясь истечения срока. Удаление cookie в…
- Подделка серверного запроса (SSRF)
Подделка серверного запроса (SSRF) — уязвимость, при которой злоумышленник управляет адресом или другой существенной частью сетевого запроса, выполняемого…
- Политика безопасности содержимого (CSP)
Политика безопасности содержимого (CSP) — это набор правил, по которым браузер разрешает или блокирует загрузку и выполнение содержимого страницы. Правила…
- Политика одного источника (SOP)
Политика одного источника (SOP) — правило браузера, по которому сценарий страницы читает ответы только со своего источника: с того же сочетания схемы, имени…
- Предварительный запрос CORS
Предварительный запрос CORS — запрос OPTIONS, которым браузер до основного запроса проверяет, разрешены ли для другого источника нужные метод и заголовки.
- Принудительный HTTPS (HSTS)
Принудительный HTTPS (HSTS) — правило, по которому браузер, получив его в ответе по HTTPS, весь срок max-age обращается к этому узлу только по защищённому…
- Проверка входных данных
Проверка входных данных — сверка полученного значения с ожидаемым типом, формой, диапазоном и рабочим смыслом, которую сервер проводит до обработки. Надёжная…
- Проверка заголовка Host
Проверка заголовка Host — сверка указанного в запросе имени и порта с явным списком адресов, которые обслуживает приложение.
- Разрешение кода по хешу CSP
Разрешение кода по хешу CSP — запись политики с именем алгоритма и значением хеша, по которой браузер допускает к выполнению код с совпавшим хешем. Для…
- Разрешённые адреса исходящих запросов
Разрешённые адреса исходящих запросов — заранее заданный список узлов, схем и портов, к которым серверному коду позволено обращаться; остальные направления…
- Сквозная защита TLS
Сквозная защита TLS — подход, при котором шифрованием защищён каждый обязательный участок пути от клиента до конечного приложения, а не только внешний. При…
- Токен CSRF
Токен CSRF — секретное непредсказуемое значение, уникальное для сеанса: приложение выдаёт его своему интерфейсу и проверяет в каждом запросе, который меняет…
- Фиксация сессии
Фиксация сессии — атака, при которой пользователь входит в систему с идентификатором сессии, уже известным злоумышленнику.
- Хеш внешнего скрипта в CSP
Хеш внешнего скрипта в CSP — разрешённое политикой значение, с которым браузер сверяет хеши из атрибута integrity у подключаемого сценария. Совпасть должны все…
- Хеши обработчиков событий CSP
Разрешение обработчика по хешу (unsafe-hashes) — выражение политики CSP, которое распространяет сверку по хешу на обработчики в атрибутах, атрибуты стиля и…
Идентичность и доступ
- Authentication factor
Authentication factor (фактор аутентификации) — категория доказательства при входе: то, что пользователь знает, то, чем он владеет, или его неотъемлемая…
- Authorization
Authorization (авторизация) — решение о том, разрешено ли уже опознанному пользователю или процессу выполнить конкретную операцию над конкретным ресурсом.…
- Credential lifetime
Credential lifetime (срок действия учётных данных) — время, пока пароль, ключ, токен или аренда секрета ещё принимаются системой. Оно заканчивается по…
- Credential revocation
Credential revocation (отзыв учётных данных) — досрочное прекращение действия пароля, ключа или аренды секрета, после которого вход по ним и продление должны…
- Digital identity
Digital identity (цифровая идентичность) — то, чем пользователь или сервис представлены в системе: учётная запись, идентификаторы, атрибуты и привязанные к ним…
- Identity proofing
Identity proofing (проверка личности) — процесс, в котором организация убеждается, что заявленная личность существует и принадлежит заявителю, ещё до выдачи…
- Identity provider
Identity provider (поставщик удостоверений, IdP) — сторона федерации, которая проверяет вход пользователя и выдаёт приложению проверяемое утверждение о том,…
- Just Enough Administration
Just Enough Administration (JEA, минимально достаточное администрирование) — способ делегировать администрирование в PowerShell. Оператор получает только…
- Least privilege
Least privilege (принцип наименьших привилегий) — правило выдавать пользователю, процессу или службе только те права, которые нужны для их задач, и только на…
- Multi-factor authentication
Multi-factor authentication (MFA, многофакторная аутентификация) — вход с доказательствами двух и более разных типов: например, знание пароля и владение…
- Separation of duties
Separation of duties, или разделение обязанностей, — принцип, при котором конфликтующие шаги и права распределяют между разными ролями или людьми. Общая…
- Single sign-on
Single sign-on (SSO), или единый вход, — схема доступа, при которой одна учётная запись и её средства проверки подлинности открывают вход сразу в несколько…
- Аварийная учётная запись
Аварийная учётная запись — запасная административная учётная запись на случай, когда обычный вход администратора недоступен: отказали федерация, MFA или другая…
- Аутентификатор
Аутентификатор — конкретное средство, с помощью которого пользователь подтверждает контроль над одним или несколькими факторами при входе.
- Журнал аудита
Журнал аудита — защищённая последовательность записей о значимых для безопасности событиях: что произошло, кто это сделал, над каким объектом и с каким…
- Запись привилегированной сессии
Запись привилегированной сессии — сбор команд, событий и метаданных для расследования действий в административном канале.
- Идентичность рабочей нагрузки
Идентичность рабочей нагрузки — машинное удостоверение, которое процесс или сервис получает от инфраструктуры по признакам своей среды выполнения. В SPIFFE…
- Ключ доступа (passkey)
Ключ доступа (passkey) — учётные данные WebAuthn с открытым ключом, привязанные к конкретному сервису (RP ID): вход подтверждает подпись одноразового запроса,…
- Пересмотр доступа
Пересмотр доступа — периодическая проверка того, кому всё ещё нужны роль, членство в группе или доступ к приложению.
- Привилегированная учётная запись
Привилегированная учётная запись — учётная запись с правом выполнять значимые для безопасности административные действия: менять права, конфигурацию и защитные…
- Привилегированный доступ по запросу (JIT)
Привилегированный доступ по запросу (JIT) — порядок, при котором административное право не действует постоянно, а включается по запросу на ограниченный срок.…
- Ролевое управление доступом
Ролевое управление доступом (RBAC) — модель, в которой разрешения назначают ролям, а пользователи получают их через назначение и активацию ролей.
- Ротация секрета
Ротация секрета — согласованная замена учётных данных в хранилище и целевом сервисе с переводом клиентов на новое значение.
- Секрет
Секрет — конфиденциальные данные или криптографический материал, раскрытие которых позволяет выдать себя за владельца, расшифровать данные или выполнить…
- Служебная учётная запись
Служебная учётная запись — машинная идентичность, под которой сервис, приложение, автоматизация или рабочая нагрузка проходит проверку подлинности и получает…
- Управление привилегированным доступом (PAM)
Управление привилегированным доступом (PAM) — меры и процессы, которые выдают, ограничивают, отслеживают и отзывают привилегированный доступ. Хранилище паролей…
- Устойчивая к фишингу аутентификация
Устойчивая к фишингу аутентификация — вход по криптографическому протоколу, который привязывает ответ к имени настоящего сервиса или к каналу связи с ним.…
- Федерация идентичности
Федерация идентичности — схема доверия, при которой приложение открывает сеанс по проверенному утверждению поставщика идентичности (IdP), а способ входа…
- Хранилище секретов
Хранилище секретов — сервис, который хранит или создаёт секреты, применяет правила доступа, выдаёт их разрешённым клиентам и ведёт журнал выдачи, обновления и…
- Целостность журнала аудита
Целостность журнала аудита — свойство записей и настроек журналирования, при котором изменить, удалить или подменить их без разрешения нельзя или хотя бы…
Приложения и доступ к API
- DPoP
DPoP — механизм OAuth, при котором клиент подписывает отдельное подтверждение для HTTP-запроса и связывает токен доступа со своим ключом.
- ID Token
ID Token — JWT с утверждениями о том, что сервер авторизации проверил пользователя. Он предназначен клиенту как результат входа, а не ресурсному серверу вместо…
- JSON Web Token
JSON Web Token, или JWT, — компактный формат записи набора утверждений одной строкой, которую можно безопасно передать в URL, подписать или зашифровать. JWT…
- OAuth 2.0
OAuth 2.0 — протокол, по которому приложение получает ограниченный доступ к защищённому ресурсу от имени его владельца или от своего имени.
- OAuth с взаимной TLS-проверкой
OAuth с взаимной TLS-проверкой (mTLS) — профиль OAuth 2.0, в котором клиент подтверждает себя сертификатом TLS, а выданные токены привязываются к этому…
- OpenID Connect
OpenID Connect, или OIDC, — слой проверки личности поверх OAuth 2.0, который позволяет клиенту проверить вход пользователя и получить утверждения о нём.
- PKCE
PKCE — расширение OAuth, которое связывает запрос авторизации с последующим запросом токена через случайное проверочное значение и производную от него строку.
- Redirect URI
Redirect URI — заранее зарегистрированный адрес клиента, куда сервер авторизации возвращает ответ через браузер.
- Выдача по коду авторизации
Выдача по коду авторизации — способ выдачи токенов в OAuth, при котором клиент сначала получает через браузер короткий одноразовый код, а затем обменивает его…
- Выдача по учётным данным клиента
Выдача по учётным данным клиента — способ получить токен доступа, при котором клиент действует от своего имени и предъявляет серверу авторизации свои учётные…
- Журнал аудита API
Журнал аудита API — связанные записи о вызовах, по которым видно, кто обращался, к какой конечной точке и какое решение о доступе принял сервис. Сохраняют…
- Интроспекция токена
Интроспекция токена — защищённый запрос ресурсного сервера к серверу авторизации о текущем состоянии и свойствах токена.
- Клиент OAuth
Клиент OAuth — приложение, которое запрашивает доступ к защищённому ресурсу и использует полученный токен.
- Ключ API
Ключ API — выданная строка-секрет, по которой сервис узнаёт вызывающее приложение, проект или подписку. Ключ говорит, кто пришёл, но не решает, что этому…
- Конфиденциальный клиент OAuth
Конфиденциальный клиент OAuth — приложение, способное защищать свои учётные данные или подтверждать себя другим надёжным способом.
- Непрозрачный токен
Непрозрачный токен — строка, по которой клиент ничего не может узнать: её формат и смысл известны только выдавшей стороне. Свойства и текущее состояние такого…
- Область полномочий OAuth
Область полномочий OAuth (scope) — набор строк, которыми клиент запрашивает нужные действия, а сервер авторизации объявляет, какой доступ он выдал. Выдать…
- Ограничение частоты запросов API
Ограничение частоты запросов API — правило, которое разрешает клиенту или ключу не больше заданного числа обращений за короткий интервал, а лишние отклоняет.…
- Основание для авторизации
Основание для авторизации — подтверждение разрешения владельца ресурса или заранее согласованного права самого клиента. По такому основанию клиент получает…
- Отзыв токена
Отзыв токена — прекращение действия токена доступа или обновления раньше истечения его срока, по запросу к серверу авторизации. Отзыв может затронуть и другие…
- Получатель токена
Получатель токена — идентификатор стороны или ресурсного сервера, для которого токен предназначен и который вправе его обрабатывать.
- Проверка клиента OAuth
Проверка клиента OAuth — это подтверждение подлинности самого приложения: оно доказывает серверу авторизации, что токен запрашивает именно зарегистрированный…
- Публичный клиент OAuth
Публичный клиент OAuth — приложение, которое не может надёжно скрыть свои общие учётные данные от пользователя устройства или браузера.
- Ресурсный сервер
Ресурсный сервер — API или служба, которая хранит защищённые ресурсы, принимает токен доступа и проверяет право на каждый запрос.
- Сервер авторизации
Сервер авторизации — компонент OAuth, который проверяет основание для доступа и, где это нужно, подлинность клиента, а затем выдаёт токены доступа и…
- Токен доступа
Токен доступа — учётные данные, которые клиент предъявляет ресурсному серверу, чтобы получить доступ к защищённому API. У токена есть конкретные полномочия,…
- Токен на предъявителя
Токен на предъявителя — учётные данные, для использования которых достаточно владеть самим токеном без доказательства владения отдельным криптографическим…
- Токен обновления
Токен обновления — выданные клиенту учётные данные, по которым он получает новый токен доступа без повторного полного разрешения. Предъявляют его серверу…
- Токен с подтверждением владения
Токен с подтверждением владения — токен доступа, для применения которого нужно доказать владение связанным закрытым ключом или сертификатом.
- Указатель ресурса OAuth
Указатель ресурса OAuth — абсолютный URI в запросе к серверу авторизации, которым клиент обозначает защищённый ресурс для будущего токена доступа.
Ничего не найдено — уточните запрос.
Курсы области
- Продолжение практикума по веб-защите
CSP на практике: хеши, загрузчики и встраивание страниц
Продолжение курса по веб-защите для тех, кто настраивает CSP: разрешение кода по хешу, выбор действующей директивы, strict-dynamic, старые обработчики событий, целостность внешних скриптов и допустимые предки страницы. Десять модулей с разбором ситуаций.
Начать курс → - Практикум по веб-безопасности
Веб-защита по слоям: от TLS и cookie до проверенного запроса
Курс для тех, кто настраивает и принимает веб-сервисы: как запрос проходит через обратный прокси, серверный сеанс и политики браузера. Вы разберёте границы CORS, CSP, CSRF и исходящих запросов и составите проверяемые условия приёмки.
Начать курс → - Практикум по жизненному циклу доступа
Доступ без вечных прав администратора: MFA, PAM и журнал аудита
Курс для администраторов и инженеров поддержки: кого представляет учётная запись, чем подтверждён вход и что разрешено делать. Отдельно разобраны привилегированные сеансы, секреты сервисов, аварийный вход и проверяемый журнал аудита.
Начать курс → - Практикум по доступу к API
Доступ к API без путаницы: OAuth, OpenID Connect и токены
Курс для разработчиков и интеграторов: как выдают и проверяют доступ к API по OAuth 2.0 — роли, одноразовый код, PKCE, тип клиента, токены доступа и обновления. Отдельно разобраны область полномочий, получатель токена, интроспекция, отзыв и вход человека через OpenID Connect.
Начать курс →
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить состав проектаОткроется черновик вопроса. Отправьте его, когда будете готовы.