← Cloudflare One / cloudflare-one / access-controls / applications / http-apps
Файл cookie авторизации
Когда вы защищаете сайт с помощью Cloudflare Access, Cloudflare проверяет каждый HTTP-запрос к этому сайту на наличие действительного CF_Authorization cookie. Если запрос не содержит этот cookie, Access заблокирует его.
Access JWTs
CF_Authorization файл cookie содержит данные о личности пользователя в виде JSON Web Token (JWT) ↗. Cloudflare безопасно создаёт эти токены через интеграцию OAUTH или SAML между Cloudflare Access и настроенным поставщиком идентификации.
Access генерирует два отдельных CF_Authorization токены в зависимости от домена:
- Токен глобальной сессии: Генерируется при входе пользователя в Access. Этот токен хранится в виде cookie-файла в вашем домен команды (например,
https://<your-team-name>.cloudflareaccess.com) и избавляет пользователя от необходимости входить в каждое приложение по отдельности. - Токен приложения: Генерируется для каждого приложения, к которому обращается пользователь. Этот токен хранится в виде cookie-файла на защищённом домене (например,
https://jira.site.com) и может использоваться для проверить запросы на вашем источнике.
Многодоменные приложения
Cloudflare Access позволяет защищать и управлять несколькими доменами в рамках одного приложение с самостоятельным хостингом. После успешной аутентификации пользователя на одном домене Access автоматически выдаст CF_Authorization файл cookie при переходе на другой домен в том же приложении Access. Это означает, что пользователям достаточно пройти аутентификацию один раз для многодоменного приложения.
Access может заранее задавать файл cookie для каждого домена с помощью серии перенаправлений, когда пользователь впервые проходит аутентификацию. Это позволяет одностраничным приложениям (SPA) получать данные с других поддоменов до того, как пользователь посетит каждый из них. Поддомены с подстановочными знаками (например, *.example.com) не могут получать предварительные файлы cookie, поскольку Access не знает, на какой конкретный поддомен выполнять перенаправление. Пути с подстановочными знаками поддерживаются.
Используйте Eager redirect cookie параметр для управления этим поведением.
Файлы cookie Access
Следующие файлы cookie Access необходимы для работы Access. От файлов cookie, отмеченных как обязательные, отказаться нельзя. Эти файлы cookie не используются для отслеживания или аналитики.
CF_Authorization (домен команды)
| Подробности | Истечение срока действия | HttpOnly | SameSite | Обязательно? |
|---|---|---|---|---|
JSON web token (JWT) задан на cloudflareaccess.com домен команды который содержит личность пользователя и позволяет Access выполнить единый вход (SSO) |
ПросмотрЕсли задано, соответствует глобальная длительность сессии.Если нет, соблюдается продолжительность сессии приложения. Если ни один из параметров не задан, по умолчанию используется 24 часа. |
Да | None | Обязательный |
CF_Authorization (домен приложения Access)
| Подробности | Истечение срока действия | HttpOnly | SameSite | Обязательно? |
|---|---|---|---|---|
| JSON web token (JWT) задан в домене, защищённом Access, что позволяет Access подтвердить, что пользователь прошёл аутентификацию и имеет право обращаться к исходному серверу | ПросмотрЕсли задано, соответствует длительность сессии для политики.Если нет, соблюдается продолжительность сессии приложения. Если ни один из параметров не задан, по умолчанию используется 24 часа. |
Выбор администратора (по умолчанию: None) | Выбор администратора (по умолчанию: None) | Обязательный |
CF_Binding
| Подробности | Истечение срока действия | HttpOnly | SameSite | Обязательно? |
|---|---|---|---|---|
| См. Привязка cookie | ПросмотрЕсли задано, соответствует длительность сессии для политики.Если нет, соблюдается продолжительность сессии приложения. Если ни один из параметров не задан, по умолчанию используется 24 часа. |
Да | None | Необязательно |
CF_Session
| Подробности | Истечение срока действия | HttpOnly | SameSite | Обязательно? |
|---|---|---|---|---|
CSRF ↗ токен, используемый на cloudflareaccess.com домен команды |
4 часа | Да | None | Обязательный |
CF_AppSession
| Подробности | Истечение срока действия | HttpOnly | SameSite | Обязательно? |
|---|---|---|---|---|
| CSRF ↗ токен, используемый для каждого домена приложения, привязанный к отдельным приложениям за Access | 24 часа | Да | None | Обязательный |
CF_Device
| Подробности | Истечение срока действия | HttpOnly | SameSite | Обязательно? |
|---|---|---|---|---|
Файл cookie, установленный на cloudflareaccess.com домен команды, используется для предотвращения злоупотребления одноразовый PIN-код и многофакторная аутентификация потоки |
30 дней | Да | Строгий | Обязательный |
Настройки cookie
Cloudflare Access предоставляет дополнительные настройки безопасности, которые можно добавить к файлам cookie браузера, создаваемым Access для аутентифицированного пользователя.
Чтобы включить эти настройки:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Контроль доступа > Приложения.
- Найдите приложение, которое нужно настроить, и выберите Настройте.
- Выберите Расширенные настройки и прокрутите вниз до Настройки cookie.
- Настройте нужные параметры cookie.
- Выберите Save.
Атрибут SameSite
SameSite ↗ Селектор атрибута ограничивает отправку файла cookie только теми случаями, когда сайт, заданный в файле cookie, совпадает с сайтом, запрашиваемым в браузере. Это обеспечивает защиту от подделка межсайтовых запросов (CSRF) ↗.
Доступны следующие варианты селектора:
- None: Файлы cookie будут отправляться в любом контексте, включая межсайтовые запросы (cross-origin).
- Lax: Файлы cookie разрешено отправлять при переходах верхнего уровня, а также вместе с запросами GET, инициированными сторонними сайтами.
- Строгий: Файлы cookie будут отправляться только в контексте первой стороны и не будут отправляться вместе с запросами, инициированными сторонними сайтами.
См. Документация Mozilla ↗, где это описано подробнее.
Когда не следует использовать SameSite
Не включайте SameSite ограничения, если у вас есть дополнительные сайты или приложения, которые полагаются на файл cookie авторизации конкретного приложения.
HttpOnly
HttpOnly флаг представляет собой атрибут cookie, который запрещает доступ к cookie из клиентских скриптов, снижая вероятность атак типа «межсайтовый скриптинг» (XSS). Этот флаг включён по умолчанию.
Когда не следует использовать HttpOnly
Не включайте HttpOnly если:
- Вы используете приложение Access для инструментов, не работающих через браузер (например, SSH или RDP).
- У вас есть ПО, которому для работы требуется доступ к файлу cookie пользователя, созданному Access.
Привязка cookie
Файл cookie привязки (CF_Binding) представляет собой необязательный файл cookie, который выдаётся при успешной аутентификации пользователя. Файл cookie привязки отправляется браузером пользователя и привязан к CF_Authorization cookie. Этот cookie удаляется в сети Cloudflare и никогда не передается на исходный сервер.
CF_Authorization файл cookie нельзя использовать без связанного с ним файла cookie привязки, что не позволяет похищенному CF_Authorization файлу cookie быть повторно использованным злоумышленником. Если в сеть Cloudflare поступает запрос с действительным CF_Authorization файл cookie, но без ожидаемого файла cookie привязки, Cloudflare отклоняет запрос.
Когда не следует использовать Binding Cookie
Не включайте Binding Cookie, если:
- Вы используете приложение Access для инструментов, не работающих через браузер (например, SSH или RDP).
- Вы включили несовместимые продукты Cloudflare на домене приложения, например Zaraz или Google tag gateway. Если включить Binding Cookie вместе с этими продуктами, может возникнуть циклическое перенаправление при аутентификации (
ERR_TOO_MANY_REDIRECTS). - Вы включили Аутентификация с помощью Cloudflare One Client для приложения.
Атрибут Path файла cookie
Атрибут Path файла cookie добавляет URL пути приложения в CF_Authorization cookie. Если эта функция включена, пользователь, который выполняет вход в example.com/path1 должен повторно пройти аутентификацию для доступа к example.com/path2. Если этот параметр отключен, CF_Authorization файл cookie ограничен только доменом и субдоменом.
Eager redirect cookie
Когда параметр Eager redirect cookie включен, он заранее устанавливает CF_Authorization файл cookie для каждого конкретного домена в многодоменном приложении. Access перенаправляет браузер через каждый домен после первой аутентификации пользователя. Для новых приложений этот параметр включен по умолчанию.
Разрешить сторонние файлы cookie в браузере
По умолчанию некоторые браузеры блокируют все сторонние файлы cookie в режиме приватного просмотра, включая CF_Authorization cookie. Чтобы запросы XHR работали в приватных окнах, необходимо добавить исключение для вашего приложения и Team-домен от системы защиты от отслеживания в браузере.
Чтобы включить сторонние файлы cookie для приложения Access:
Chrome
- Перейдите в Настройки > Privacy and security > Файлы cookie и другие данные сайта.
- В разделе Сайты, которым всегда разрешено использовать файлы cookie, добавьте следующие URL-адреса:
- Имя хоста вашего приложения Access (например,
https://jira.site.com) https://<your-team-name>.cloudflareaccess.com
- Имя хоста вашего приложения Access (например,
Safari
- Перейдите в Safari > Настройки > Конфиденциальность.
- Снимите выделение Заблокировать все файлы cookie.
Firefox
- Перейдите в Настройки > Privacy & Security.
- Прокрутите вниз до Файлы cookie и данные сайта.
- Выберите Управлять исключениями.
- Введите URL-адрес вашего приложения Access (например,
https://jira.site.com) и выберите Allow. - Введите
https://<your-team-name>.cloudflareaccess.comи выберите Allow. - Выберите Сохранить изменения.
Brave
- Перейдите в
brave://settings/cookies. - В разделе Сайты, которым всегда разрешено использовать файлы cookie, добавьте следующие URL-адреса:
- Имя хоста вашего приложения Access (например,
https://jira.site.com) https://<your-team-name>.cloudflareaccess.com
- Имя хоста вашего приложения Access (например,