Мне нравится, когда Вы едите свой собственный собачий корм!!!
Современные браузеры, не называя конкретных (например, Chrome), становятся все более привередливыми к настройкам безопасности файлов cookie.
Один из примеров — параметр SameSite Cookie. Например, если она отсутствует в Chrome, то он будет использовать ее по умолчанию, SameSite=Lax.
Но что делать, если Вы этого не хотите? Ответ заключается в том, чтобы изменить код Вашего приложения так, чтобы он отражал ту настройку, которую Вы хотите использовать. Но что делать, если Вы не можете сделать это легко? Это может быть унаследованное приложение.
Ответ заключается в использовании функций переключения содержимого полетной трассы EdgeADC.
Печально известная проблема WordPress WooCommerce, работающего в Iframe
Итак, у нас возникла проблема с приложением WordPress, которое мы используем, запущенным в Iframe. (Не спрашивайте почему.)
Приложение использовало сессионные файлы cookie, для которых не был установлен параметр SameSite.
Приложение работает в системе WordPress по умолчанию, поставляемой в контейнере Docker.
Мы исследовали несколько способов исправить это, но наши изменения не работали корректно на всех cookies, поэтому мы решили попробовать исправить это с помощью flightPATH.
Итак, вот что мы сделали.
Мы создали правило flightPATH, чтобы добавить SameSite=none к трем нарушителям cookie, как показано ниже.
Первое правило flightPATH, которое мы создадим, будет таким:
Далее мы создадим второй.
Наконец, мы создаем последний вариант. Как Вы можете видеть, он имеет немного другое определение. Мы добавили подстановочный знак (*), поскольку мы не знаем, что это за значение, так как WordPress / WooCommerce присваивает случайное значение.
В этот момент Вы скажете себе: «Эй! Это небезопасно, когда используется подстановочный знак! Мы понимаем, что сайт немного менее безопасен, но:
- Все работает с использованием HTTPS
- Мы используем брандмауэр приложений
- Он защищен тем, что это контейнерная ОС, а ключевые файлы неизменяемы.
И на случай, если Вам нужно освежить в памяти информацию о SameSite…
Какова настройка SameSite для файлов cookie?
Настройка SameSite Cookie помогает контролировать отправку файлов cookie при межсайтовых запросах, что помогает снизить риск атак с подделкой межсайтовых запросов (CSRF). Вот описание того, как это работает:
Что такое межсайтовые запросы?
Межсайтовые запросы — это запросы, которые выполняются с одного сайта на другой. Например, если Вы вошли в приложение и щелкнули по ссылке на новостную статью, это межсайтовый запрос. Проще говоря, это запрос, который ссылается с одного сайта на другой.
Что такое настройка SameSite?
Параметр SameSite — это атрибут cookie, который можно использовать для контроля того, отправляется ли cookie при межсайтовых запросах. Для параметра SameSite существует три возможных значения:
- SameSite=Strict: Файлы cookie отправляются только при запросах на тот же сайт, который их установил.
- SameSite=Lax: Cookies отправляются с запросами на тот же сайт, который их установил, а также с запросами на сторонние сайты, которые встроены в ту же страницу, например, в iFrame.
- SameSite=None: Cookies отправляются со всеми запросами, независимо от того, на каком сайте они были установлены.
Почему важна настройка SameSite?
Настройка SameSite важна, поскольку она помогает снизить риск атак Cross-Site Request Forgery (CSRF). CSRF-атаки — это тип кибератак, использующих тот факт, что браузер пользователя уже вошел на сайт. При CSRF-атаке злоумышленник может обманом заставить пользователя сделать запрос на сайт, на который он уже вошел, даже если он не собирался этого делать. Это может позволить злоумышленнику украсть данные пользователя или выполнить другие вредоносные действия.