Практикум по веб-безопасности

Веб-защита по слоям: прокси, файлы cookie и политика браузера

Короткий курс проводит запрос от браузера через TLS и обратный прокси к приложению, затем разбирает файлы cookie сеанса, политику одного источника/CORS, XSS/CSRF, SSRF, проверку и WAF. Главная цель — понимать границу каждого механизма и не считать один слой заменой остальных.

База → разработка46 минут4 модуля5 вопросов
После курса

Что вы сможете сделать

  1. Нарисовать границы доверия браузера, обратного прокси, источника и исходящих служб.
  2. Разделять безопасность транспорта, жизненный цикл сеанса и политики происхождения браузера.
  3. Отличать XSS, CSRF и SSRF по тому, кто выполняет действие под управлением атакующего.
  4. Применять проверку, ограничения, кодирование и WAF как независимые механизмы.
Модуль 1 из 4

Слой 1. Transport и reverse proxy

HTTPS снаружи — только начало. Отметьте, где TLS заканчивается, кто формирует новый запрос и по каким данным источник решает, кому верить.

  • Завершение TLS заканчивает соединение с клиентом. Сквозная защита требует отдельно защитить каждый обязательный участок, включая участок от прокси до источника.

  • Обратный прокси принимает запрос как сервер и отправляет новый как клиент; окончательный ответ всё равно формирует исходный сервер.

  • Пересылаемые метаданные становятся доверенными только внутри известной границы прокси, где копию клиента удаляют или перезаписывают. Host проверяют по списку разрешённых значений.

  • Прокси отдельно аутентифицирует источник в восходящем TLS-соединении; внешний сертификат браузера не доказывает идентичность внутреннего сервера.

Модуль 3 из 4

Слой 3. Browser origin, XSS и CSRF

Браузер одновременно изолирует источники, автоматически отправляет учётные данные и исполняет код страницы. Поэтому CORS, CSP, кодирование и токен CSRF отвечают на разные вопросы.

  • Политика одного источника использует схему, хост и порт. CORS выборочно открывает ответ другому источнику, но не аутентифицирует вызывающую сторону и не выдаёт право на объект.

  • Предварительный запрос CORS — согласование OPTIONS в браузере для части запросов. Простые запросы обходятся без него, поэтому предварительный запрос не является общей защитой от CSRF.

  • XSS превращает непроверенные данные в код доверенного источника. Контекстное кодирование вывода и безопасные точки вывода исправляют границу; CSP с отдельным одноразовым значением для каждого ответа добавляет второй слой.

  • CSRF заставляет браузер отправить нежелательное аутентифицированное действие. Сервер проверяет секретный токен CSRF; SameSite и проверки Origin остаются эшелонированной защитой.

Модуль 4 из 4

Слой 4. Server-side validation и outbound path

После браузера и прокси запрос попадает в приложение. Здесь остаются контракты полезной нагрузки, ограничения ресурсов, исходящие назначения и собственная логика — WAF не может доказать их корректность.

  • Проверка входных данных контролирует тип, синтаксис, диапазон и бизнес-смысл. Ограничение тела запроса отдельно ограничивает нагрузку до тяжёлого разбора.

  • SSRF возникает, когда серверная часть сама обращается к назначению, заданному атакующим; SOP браузера и CORS не ограничивают такой запрос со стороны сервера.

  • Список разрешённых исходящих направлений сверяет схему, хост, порт и разрешённый IP и запрещает автоматические перенаправления к новому назначению.

  • WAF фильтрует часть шаблонов во время выполнения и полезен как компенсирующий слой, но не исправляет небезопасную точку вывода, недействительный контракт или авторизацию бизнес-операции.

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Браузер показывает действительный сертификат HTTPS обратного прокси. Что это доказывает об участке от прокси до источника?
02Файл cookie сеанса имеет Secure и HttpOnly. Защищена ли изменяющая состояние операция от CSRF?
03API разрешил точный источник клиентской части через CORS. Можно ли убрать обычную авторизацию объекта?
04Какой механизм является основным при выводе непроверенного значения в атрибут HTML?
05Серверная часть принимает URL и разрешает любое имя узла HTTPS. Достаточно ли проверить только строку со схемой?
Проверяемая база

Источники курса

Ссылки приведены один раз для всего курса, чтобы не мешать чтению каждого тезиса.

  • Первичная спецификация

    RFC 8446: The Transport Layer Security Protocol Version 1.3

    Internet Engineering Task Force · RFC 8446, August 2018

    Определяет TLS 1.3, включая encrypted channel, PSK authentication, PSK identity и PSK+(EC)DHE modes.

    Открыть первоисточник
  • Первичная спецификация

    HTTP Semantics

    Internet Engineering Task Force · RFC 9110, June 2022

    Определяет stateless HTTP, origin server, intermediaries, target URI и security significance полей authority и Host.

    Открыть первоисточник
  • Первичная спецификация

    HTTP Strict Transport Security

    Internet Engineering Task Force · RFC 6797, November 2012

    Определяет browser policy, принуждающую известный HSTS host использовать secure transport и прекращать соединение при TLS errors.

    Открыть первоисточник
  • Первичная спецификация

    Cookies: HTTP State Management Mechanism

    Internet Engineering Task Force · RFC 10025, July 2026

    Текущий стандарт Cookie и Set-Cookie, включая Secure, HttpOnly, SameSite, prefixes и session-fixation considerations.

    Открыть первоисточник
  • Первичная спецификация

    Forwarded HTTP Extension

    Internet Engineering Task Force · RFC 7239, June 2014

    Определяет Forwarded для client, proxy, host и protocol metadata и предупреждает о privacy и integrity рисках.

    Открыть первоисточник
  • Официальная документация

    Testing for Host Header Injection

    OWASP Foundation · OWASP Web Security Testing Guide, checked 30 August 2026

    Описывает атаки через Host/X-Forwarded-Host и рекомендует не доверять им при построении reset links, redirects и routing decisions.

    Открыть первоисточник
  • Официальная документация

    Session Management Cheat Sheet

    OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026

    Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.

    Открыть первоисточник
  • Первичная спецификация

    The Web Origin Concept

    Internet Engineering Task Force · RFC 6454, December 2011

    Определяет origin как scheme, host и port и описывает origin-based browser isolation model.

    Открыть первоисточник
  • Первичная спецификация

    Fetch Standard

    WHATWG · Living Standard, checked 30 August 2026

    Определяет CORS protocol, credentials modes, allowed origins и CORS-preflight fetch через OPTIONS.

    Открыть первоисточник
  • Первичная спецификация

    Guidelines for API Protection for Cloud-Native Systems

    National Institute of Standards and Technology · NIST SP 800-228-upd1, includes updates as of 13 March 2026

    Задаёт API lifecycle controls для authentication, authorization, rate limits, resource limits, logging и monitoring.

    Открыть первоисточник
  • Официальная документация

    Cross-Site Request Forgery Prevention Cheat Sheet

    OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026

    Разводит CSRF tokens, SameSite и origin checks и задаёт свойства synchronizer и signed double-submit tokens.

    Открыть первоисточник
  • Официальная документация

    Cross Site Scripting Prevention Cheat Sheet

    OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026

    Определяет context-specific output encoding и safe sinks; CSP и WAF рассматривает как дополнительные, а не основные XSS controls.

    Открыть первоисточник
  • Первичная спецификация

    Content Security Policy Level 3

    World Wide Web Consortium · W3C Working Draft, 5 May 2026

    Определяет CSP directives, source lists, nonce-source и browser enforcement для загрузки и исполнения content.

    Открыть первоисточник
  • Официальная документация

    Input Validation Cheat Sheet

    OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026

    Задаёт раннюю server-side проверку syntax и semantics, allowlist approach и границу с output encoding.

    Открыть первоисточник
  • Официальная документация

    Server Side Request Forgery Prevention Cheat Sheet

    OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026

    Описывает SSRF, allowlist destinations, IP/domain validation, DNS risks и запрет автоматических redirects.

    Открыть первоисточник
Сообщить об ошибке

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

Спасибо!

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