INTEGRITY Документация

Emergency Disconnect

Экстренное отключение позволяет организациям и администраторам отключать и повторно подключать весь парк Cloudflare One Client (ранее WARP) независимо от инфраструктуры Cloudflare. Например, в случае сбой сети Cloudflare вы обеспечиваете возможность управлять своими устройствами, даже если системы Cloudflare недоступны или не отвечают.

Two mechanisms are available:

Экстренное отключение также можно использовать в сочетании с инициированным через панель управления Отключить Cloudflare One Client на всех устройствах параметр. Вы можете использовать любой из механизмов по отдельности или в сочетании друг с другом для многоуровневой отказоустойчивости. Сигнал отключения от любого источника вызывает отключение, а для повторного подключения клиента все источники должны сообщать о нормальной работе. Подробнее о взаимодействии этих параметров см. в Приоритет настроек клиента устройства.

Сценарии использования

Формат сигнала

И полезная нагрузка ответа внешней конечной точки, и содержимое локального файла сигнала должны представлять собой JSON в следующем формате:

{
  "emergency_disconnect": false | true
}

Настройте External Emergency Disconnect

Доступность функций

Режимы клиента планы Zero Trust
Все режимы Все тарифы
Система Доступность Минимальная версия клиента
Windows 2025.10.186.0
macOS 2025.10.186.0
Linux 2025.10.186.0
iOS
Android
ChromeOS

Когда включена функция External Emergency Disconnect, клиенты Cloudflare One периодически опрашивают HTTPS-конечную точку, размещённую у клиента. Клиент изменит состояние подключения только при получении корректной полезной нагрузки JSON с новым состоянием. Любой сбой при получении состояния (например, недоступность конечной точки, недействительный отпечаток сертификата или некорректно сформированная полезная нагрузка) не приведёт к изменению состояния на клиенте.

Требования к внешней конечной точке

Внешняя конечная точка отключения представляет собой HTTPS-сервер, размещённый за пределами Cloudflare, с которого Cloudflare One Client получает сигнал экстренного отключения. За управление этой конечной точкой полностью отвечает клиент.

Endpoint URL

Внешний URL-адрес конечной точки должен:

Наборы шифров

Cloudflare One Client устанавливает TLS-соединение с использованием Rustls. Убедитесь, что ваша конечная точка HTTPS принимает одно из наборы шифров, поддерживаемые Rustls.

1. Создайте конечную точку внешнего отключения

Чтобы настроить External Emergency Disconnect, вам понадобится конечная точка HTTPS в собственной инфраструктуре, которая будет отдавать глобальный сигнал отключения. Cloudflare One Client будет опрашивать эту внешнюю конечную точку и проверять её TLS/SSL-сертификат по отпечатку SHA-256, который вы загрузите в Zero Trust. См. Требования к внешней конечной точке для дополнительных сведений.

Следующий пример показывает, как развернуть внешнюю конечную точку отключения с помощью контейнера nginx в Docker.

  1. Создайте TLS/SSL-сертификат:

    openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout key.pem -out cert.pem

    Вам будет предложено заполнить поля отличительного имени (DN). Укажите сведения о своей организации или нажмите Enter чтобы использовать значения по умолчанию.

    Команда выведет сертификат в формате PEM и его закрытый ключ. Храните эти файлы в надежном месте.

  2. Настройте HTTPS-сервер в своей сети для использования этого сертификата и ключа:

    a. Создайте файл конфигурации nginx с именем nginx.conf:

    nginx.conf
    events {
    	worker_connections  1024;
    }
    
    http {
    		server {
    				listen              443 ssl;
    				ssl_certificate     /certs/cert.pem;
    				ssl_certificate_key /certs/key.pem;
    				location /status/disconnect {
    						default_type application/json;
    						return 200 '{"emergency_disconnect": false}';
    				}
    		}
    }

    При необходимости замените /certs/cert.pem и /certs/key.pem с расположением сертификата и ключа.

    b. Добавьте образ nginx в файл Docker Compose:

    docker-compose.yml
    services:
    	nginx:
    		image: nginx:latest
    		ports:
    			- 3333:443
    		volumes:
    			- ./nginx.conf:/etc/nginx/nginx.conf:ro
    			- ./certs:/certs:ro

    При необходимости замените ./nginx.conf и ./certs с расположением файла конфигурации nginx и сертификата.

    c. Запустите сервер:

    docker compose up -d
  3. Чтобы проверить, что конечная точка HTTPS работает, выполните команду curl с устройства конечного пользователя. Необходимо передать --insecure опцию, поскольку мы используем самоподписанный сертификат.

    curl --insecure https://<server-ip>:3333/status/disconnect
    {"emergency_disconnect": false}

2. Извлеките отпечаток SHA-256

Чтобы получить отпечаток SHA-256 локального сертификата:

openssl x509 -noout -fingerprint -sha256 -inform pem -in cert.pem | tr -d :

Вывод будет выглядеть примерно так:

SHA256 Fingerprint=DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662

Чтобы проверить подключение и получить отпечаток SHA-256 удалённого сервера:

openssl s_client -connect <private-server-IP>:443 < /dev/null 2> /dev/null | openssl x509 -noout -fingerprint -sha256 | tr -d :

Вывод будет выглядеть примерно так:

SHA256 Fingerprint=DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662

3. Включите External Emergency Disconnect

Чтобы настроить External Emergency Disconnect через панель управления:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Команда и ресурсы > Устройства > Управление.
  2. Выберите Настройки глобального отключения.
  3. Найдите Управлять подключением устройства с помощью внешнего сигнала и выберите Изменить.
  4. Настройте следующие поля:
    • Endpoint IP address and port: Введите URL-адрес HTTPS, с которого будет получен сигнал внешнего отключения (например, https://192.0.2.1:3333/status/disconnect). Конечная точка должна использовать HTTPS, а в качестве хоста указывать адрес IPv4 или IPv6.
    • Частота опроса: Выберите, как часто Cloudflare One Client должен запрашивать внешний сигнал отключения.
    • Отпечаток сертификата: Введите отпечаток SHA-256 сертификата HTTPS-сервера (например, DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662).
  5. Выберите Save.
  6. Включите Управлять подключением устройства с помощью внешнего сигнала.

Все клиенты Cloudflare One в вашей организации теперь начнут опрашивать внешнюю конечную точку и подключаться или отключаться в зависимости от содержимого ответа.

Чтобы настроить External Emergency Disconnect через API, отправьте PATCH запрос к /devices/settings конечная точка:

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Zero Trust Write
Patch: настройки устройств для аккаунта Zero Trust
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/devices/settings" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"external_emergency_signal_enabled": true,
		"external_emergency_signal_url": "https://192.0.2.1:3333/status/disconnect",
		"external_emergency_signal_fingerprint": "DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662",
		"external_emergency_signal_interval": "1m"
	}'

Чтобы настроить External Emergency Disconnect с помощью MDM, добавьте следующие параметры в свой Файл MDM:

<key>external_emergency_signal_url</key>
<string>https://192.0.2.1:3333/status/disconnect</string>
<key>external_emergency_signal_fingerprint</key>
<string>DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662</string>
<key>external_emergency_signal_interval</key>
<integer>60</integer>

4. Протестируйте External Emergency Disconnect

  1. Убедитесь, что Cloudflare One Client подключен.

  2. Убедитесь, что функция External Emergency Disconnect включено.

  3. В вашем внешняя конечная точка конфигурации измените emergency_disconnect к true:

    { "emergency_disconnect": true }
  4. Возможно, потребуется перезапустить сервер, чтобы применить изменения. Чтобы перезапустить пример nginx сервер:

    docker exec <container-name-or-id> nginx -s reload

Cloudflare One Client автоматически отключится в течение настроенного интервала опроса, а в графическом интерфейсе Cloudflare One Client отобразится Admin directed disconnect. Чтобы переподключить все устройства, измените emergency_disconnect обратно к false.

Настройте Local Emergency Disconnect

Доступность функций

Режимы клиента планы Zero Trust
Все режимы Все тарифы
Система Доступность Минимальная версия клиента
Windows 2026.5.0
macOS 2026.5.0
Linux 2026.5.0
iOS
Android
ChromeOS

Local Emergency Disconnect позволяет организациям инициировать аварийное отключение прямо на устройстве, без необходимости сетевого доступа к какой-либо удалённой инфраструктуре. Cloudflare One Client отслеживает локальный JSON-файл по фиксированному пути с правом записи для администратора. Когда файл содержит сигнал отключения, клиент переходит в состояние аварийного отключения. Создавать или изменять файл сигнала прямо на устройстве могут локальные скрипты, инструменты управления конфигурацией (например, Ansible, Puppet или Chef) или агенты мониторинга.

Путь к файлу сигнала

Cloudflare One Client отслеживает фиксированный путь к файлу, для изменения которого требуются права администратора. Этот путь нельзя настроить.

Операционная система Путь к файлу
Windows %PROGRAMDATA%\Cloudflare\emergency_disconnect.json
macOS /Library/Application Support/Cloudflare/emergency_disconnect.json
Linux /var/lib/cloudflare-warp/emergency_disconnect.json

Файл сигнала использует тот же формат JSON в качестве внешней конечной точки HTTPS. Если файл не найден, клиент считает это обычной работой (false). Если файл содержит некорректный JSON, клиент записывает ошибку в журнал и не изменяет состояние. Клиент реагирует на изменения файла в течение 30 секунд.

1. Включите Local Emergency Disconnect

Чтобы включить эту функцию, разверните local_emergency_signal_enabled параметр через MDM. Добавьте следующее в Файл MDM:

<key>local_emergency_signal_enabled</key>
<true />

Cloudflare One Client начнёт отслеживать путь к файлу сигнала после применения настройки MDM. Изменения конфигурации вступают в силу без необходимости перезапуска клиента.

2. Протестируйте Local Emergency Disconnect

  1. Убедитесь, что Cloudflare One Client подключен.
  2. Убедитесь, что функция Local Emergency Disconnect включено.
  3. Создайте файл сигнала по пути подходящий путь для вашей операционной системы со следующим содержимым:
sudo tee "/Library/Application Support/Cloudflare/emergency_disconnect.json" <<< '{"emergency_disconnect": true}'

Откройте PowerShell с повышенными правами и выполните:

Set-Content -Path "$env:PROGRAMDATA\Cloudflare\emergency_disconnect.json" -Value '{"emergency_disconnect": true}'
sudo tee /var/lib/cloudflare-warp/emergency_disconnect.json <<< '{"emergency_disconnect": true}'

Cloudflare One Client автоматически отключится в течение 30 секунд, а в графическом интерфейсе Cloudflare One Client отобразится Admin directed disconnect.

Чтобы переподключиться, измените emergency_disconnect к false или удалите файл:

sudo rm "/Library/Application Support/Cloudflare/emergency_disconnect.json"
Remove-Item "$env:PROGRAMDATA\Cloudflare\emergency_disconnect.json"
sudo rm /var/lib/cloudflare-warp/emergency_disconnect.json

Журналы

Поскольку сигналы аварийного отключения от внешних конечных точек и локальных файлов не зависят от инфраструктуры Cloudflare, такие отключения не регистрируются Cloudflare. В журналах панели управления отражаются только изменения настроек функции (например, включение или отключение функции либо изменение URL конечной точки), а не сами события отключения.

Чтобы получить текущий статус экстренного отключения на устройстве, выполните:

warp-cli settings
Merged configuration:
(override)	Emergency disconnect: true (issued @ 2025-12-09T13:57:42.597864Z)

Текущий статус также доступен в диагностические журналы клиента в warp-settings.txt.

Очистка состояния экстренного отключения

Clear External Emergency Disconnect

Если внешняя конечная точка становится недоступной или отдаёт недействительную конфигурацию, клиенты Cloudflare One могут зависнуть в состоянии аварийного отключения. Чтобы восстановить их работу, удалите конфигурацию External Emergency Disconnect:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Команда и ресурсы > Устройства > Управление.
  2. Выберите Настройки глобального отключения.
  3. Отключите Управлять подключением устройства с помощью внешнего сигнала.

Cloudflare распространит новую настройку на клиентов, дав им команду прекратить опрос и удалить кешированное аварийное состояние.

Отправьте PATCH запрос с пустыми строками в URL конечной точки и отпечатке:

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Zero Trust Write
Patch: настройки устройств для аккаунта Zero Trust
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/devices/settings" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"external_emergency_signal_enabled": false,
		"external_emergency_signal_url": "",
		"external_emergency_signal_fingerprint": "",
		"external_emergency_signal_interval": "1m"
	}'

Cloudflare распространит новые настройки на клиентов, дав им команду прекратить опрос и удалить кешированное аварийное состояние.

Если вы развернули External Emergency Disconnect с помощью MDM, удалите external_emergency_signal_url ключ (и другие связанные ключи) из профиля MDM. Затем с помощью MDM отправьте изменения на устройства. Cloudflare One Client перестанет опрашивать внешнюю конечную точку и удалит закешированное аварийное состояние.

Как вариант, пользователи могут переключить Cloudflare One Client в другая конфигурация MDM у которой не настроена эта функция.

Clear Local Emergency Disconnect

Чтобы сбросить локальное состояние экстренного отключения:

  1. Удалите или обновите файл сигнала чтобы emergency_disconnect это false.
  2. Как вариант, удалите local_emergency_signal_enabled ключ из профиля MDM и отправьте изменение на устройства, чтобы отключить функцию. Клиент перестанет отслеживать локальный файл и удалит закешированное состояние локального сигнала.

Локальный сброс клиента

В крайнем случае вы можете сбросить экстренное отключение на отдельном устройстве с помощью CLI:

warp-cli registration delete

Эта команда очистит регистрацию клиента, локальную политику и отбросит кешированное аварийное состояние. Чтобы переподключиться, вам потребуется отключить External Emergency Disconnect и затем повторно зарегистрировать Cloudflare One Client с вашей организацией Zero Trust.

Приоритет настроек клиента устройства

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

Настройки глобального отключения

Клиент будет учитывать сигналы отключения из панели управления Cloudflare (через Отключить Cloudflare One Client на всех устройствах), внешней конечной точки и локального файла сигнала. Полное отключение выполняется принудительно, если any источник инициирует это событие. Чтобы клиент переподключился, все источники должны указывать на нормальную работу.

В следующей таблице показано, как объединяются три источника сигналов. Если any источник указывает на отключение, клиент отключается.

Панель управления (Отключить все устройства) Внешняя конечная точка Локальный файл Результат
Включено true true Принудительно отключено
Включено true false/absent Принудительно отключено
Включено false true Принудительно отключено
Включено false false/absent Принудительно отключено
Off true true Принудительно отключено
Off true false/absent Принудительно отключено
Off false true Принудительно отключено
Off false false/absent Нормальная работа

Auto connect

Auto connect не действует, пока активно глобальное отключение.

Переключатель блокировки устройства клиента

Переключатель блокировки устройства клиента не действует, пока активно глобальное отключение. Пользователи не смогут подключить Cloudflare One Client, если у них нет административный код отмены.

Переопределение администратором

Глобальное отключение очистит все существующие административные коды отмены. Единственный способ для пользователей переподключиться во время глобального отключения заключается в использовании нового административный код отмены. Например, вы можете выдать сотрудникам ИТ-отдела код, чтобы они могли проверить устранение инцидента, приведшего к глобальному отключению. Код отмены исключит конкретного пользователя и устройство из глобального отключения до истечения времени действия этого кода.