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

Проверка приложения

Атрибут состояния устройства Application Check проверяет, что определённый процесс приложения запущен на устройстве. Можно создать несколько проверок приложений для каждой операционной системы, на которой это требуется, или если нужно проверить сразу несколько приложений.

Предварительные требования

Настройте проверку приложения

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Многократно используемые компоненты > Проверки состояния.

  2. Перейдите в Проверки Cloudflare One Client и выберите Добавьте проверку.

  3. Выберите Проверка приложения.

  4. Вам будет предложено указать следующие сведения:

    1. Название: Введите уникальное имя для этой проверки состояния устройства.

    2. Операционная система: Выберите свою операционную систему.

    3. Путь приложения: Введите путь к исполняемому файлу, который будет запущен (например, C:\Program Files\myfolder\myfile.exe).

      Переменные окружения

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

      • Windows: Используйте %VAR% синтаксис. Например, %PROGRAMFILES%\myfolder\myfile.exe.
      • macOS/Linux: Используйте ${VAR} синтаксис. Например, ${RUNTIME_DIRECTORY}/myfolder/myfile.
  5. Отпечаток сертификата подписи (рекомендуется): Введите отпечаток сертификата публикации используется для подписи бинарного файла. Добавление этой информации позволит проверке убедиться, что приложение подписано ожидаемым разработчиком ПО.

  6. SHA-256 (необязательно): Введите значение SHA-256 двоичного файла. Это используется для обеспечения целостности двоичного файла на устройстве.

  7. Выберите Save.

Далее перейдите в Insights > Журналы > Журналы состояния и убедитесь, что проверка приложения возвращает ожидаемые результаты.

Определите отпечаток подписи

Процесс определения отпечатка (thumbprint) подписи приложения зависит от операционной системы. Ниже описано, как найти отпечаток подписи приложения Cloudflare One Client на macOS и Windows.

macOS

  1. Создайте каталог.

    ~/Desktop $ mkdir tmp
    
    ~/Desktop $ cd tmp
  2. Выполните следующую команду, чтобы извлечь сертификаты для приложения Cloudflare One Client:

    ~/Desktop/tmp $ codesign -d --extract-certificates "/Applications/Cloudflare WARP.app/Contents/Resources/CloudflareWARP"
    Executable=/Applications/Cloudflare WARP.app/Contents/Resources/CloudflareWARP
  3. Далее выполните следующую команду, чтобы извлечь отпечаток (thumbprint) SHA1:

    ~/Desktop/tmp $ openssl x509 -inform DER -in codesign0 -fingerprint -sha1 -noout | tr -d :
    SHA1 Fingerprint=FE2C359D79D4CEAE6BDF7EFB507326C6B4E2436E

Windows

  1. Откройте окно PowerShell.

  2. Используйте Get-AuthenticodeSignature команду, чтобы найти отпечаток (thumbprint). Например:

    Get-AuthenticodeSignature -FilePath c:\myfile.exe

Определите значение SHA-256

Значение SHA-256 почти всегда меняется между версиями файла или приложения.

macOS

  1. Откройте окно терминала.

  2. Используйте shasum команду, чтобы найти значение SHA256 файла. Например:

    shasum -a 256 myfile

Windows

  1. Откройте окно PowerShell.

  2. Используйте get-filehash команду, чтобы найти значение SHA256 файла. Например:

    get-filehash -path "C:\myfile.exe" -Algorithm SHA256 | format-list

Как WARP проверяет наличие приложения

Узнайте, как Cloudflare One Client определяет, запущено ли приложение в различных системах.

macOS

Чтобы получить список активных процессов, выполните следующую команду:

ps -eo comm | xargs -I {} which "{}" | sort | uniq | xargs -I {} realpath "{}"

Путь приложения должен присутствовать в выводе, чтобы проверка была пройдена.

Linux

Cloudflare One Client получает список запущенных исполняемых файлов, переходя по символическим ссылкам в /proc/<pid>/exe. Чтобы просмотреть все активные процессы и их символические ссылки:

ps -eo pid | awk '{print "/proc/"$1"/exe"}' | xargs readlink -f | awk '{print $1}' | sort | uniq

Путь приложения должен присутствовать в /proc/<pid>/exe вывод, чтобы проверка прошла успешно.

Windows

Чтобы получить список активных процессов, выполните следующую команду:

Get-Process | Select-Object ProcessName, Path | Format-Table -AutoSize

Путь приложения должен присутствовать в выводе, чтобы проверка была пройдена.