Тематический маршрут

Безопасность и доступ

Область посвящена доступу человека и приложения к службе: учётным записям, полномочиям, токенам, сеансам и проверке веб-запросов. Выберите ветвь по своей задаче; читать все ветви подряд не нужно. Для доступа администратора начните с учётных записей. Для подключения приложения — с API. Для защиты работающего сайта выберите путь запроса или политику браузера. Каждая ветвь ведёт к своему курсу с упражнениями.

Первые понятия

С чего начать

  1. Digital identity

    Digital identity (цифровая идентичность) — то, чем пользователь или сервис представлены в системе: учётная запись, идентификаторы, атрибуты и привязанные к ним…

  2. Authorization

    Authorization (авторизация) — решение о том, разрешено ли уже опознанному пользователю или процессу выполнить конкретную операцию над конкретным ресурсом.…

  3. OAuth 2.0

    OAuth 2.0 — протокол, по которому приложение получает ограниченный доступ к защищённому ресурсу от имени его владельца или от своего имени.

По вашей задаче

Ветви маршрута

Подробнее о маршруте

Ветвь «Учётные записи и полномочия» начинается с цифровой идентичности, факторов аутентификации и минимальных привилегий. Затем читайте о многофакторной проверке, федерации, едином входе и ролевом доступе. Для административных работ переходите к управлению привилегированными учётными записями, временным полномочиям и записи сеансов. Курс о доступе без вечных прав администратора продолжает маршрут пересмотром прав, аварийной учётной записью и журналом аудита.

Ветвь «Доступ приложения к 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 в запросе к серверу авторизации, которым клиент обозначает защищённый ресурс для будущего токена доступа.

Из знания — в навык

Курсы области

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить состав проекта

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие