← Cloudflare One / cloudflare-one / reusable-components / posture-checks / client-checks
Проверка приложения
Атрибут состояния устройства Application Check проверяет, что определённый процесс приложения запущен на устройстве. Можно создать несколько проверок приложений для каждой операционной системы, на которой это требуется, или если нужно проверить сразу несколько приложений.
Предварительные требования
-
Cloudflare One Client представляет собой развёрнут на устройстве. Список поддерживаемых режимов и операционных систем см. в Проверки Cloudflare One Client.
Настройте проверку приложения
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Многократно используемые компоненты > Проверки состояния.
-
Перейдите в Проверки Cloudflare One Client и выберите Добавьте проверку.
-
Выберите Проверка приложения.
-
Вам будет предложено указать следующие сведения:
-
Название: Введите уникальное имя для этой проверки состояния устройства.
-
Операционная система: Выберите свою операционную систему.
-
Путь приложения: Введите путь к исполняемому файлу, который будет запущен (например,
C:\Program Files\myfolder\myfile.exe).Переменные окружения
Пути к файлам могут включать переменные окружения, учитывающие различия между устройствами. Переменные окружения разрешаются в контексте демона Cloudflare One Client, а не вошедшего в систему пользователя. Будут работать только переменные, доступные процессу демона во время выполнения.
- Windows: Используйте
%VAR%синтаксис. Например,%PROGRAMFILES%\myfolder\myfile.exe. - macOS/Linux: Используйте
${VAR}синтаксис. Например,${RUNTIME_DIRECTORY}/myfolder/myfile.
- Windows: Используйте
-
-
Отпечаток сертификата подписи (рекомендуется): Введите отпечаток сертификата публикации используется для подписи бинарного файла. Добавление этой информации позволит проверке убедиться, что приложение подписано ожидаемым разработчиком ПО.
-
SHA-256 (необязательно): Введите значение SHA-256 двоичного файла. Это используется для обеспечения целостности двоичного файла на устройстве.
-
Выберите Save.
Далее перейдите в Insights > Журналы > Журналы состояния и убедитесь, что проверка приложения возвращает ожидаемые результаты.
Определите отпечаток подписи
Процесс определения отпечатка (thumbprint) подписи приложения зависит от операционной системы. Ниже описано, как найти отпечаток подписи приложения Cloudflare One Client на macOS и Windows.
macOS
-
Создайте каталог.
~/Desktop $ mkdir tmp ~/Desktop $ cd tmp -
Выполните следующую команду, чтобы извлечь сертификаты для приложения Cloudflare One Client:
~/Desktop/tmp $ codesign -d --extract-certificates "/Applications/Cloudflare WARP.app/Contents/Resources/CloudflareWARP" Executable=/Applications/Cloudflare WARP.app/Contents/Resources/CloudflareWARP -
Далее выполните следующую команду, чтобы извлечь отпечаток (thumbprint) SHA1:
~/Desktop/tmp $ openssl x509 -inform DER -in codesign0 -fingerprint -sha1 -noout | tr -d : SHA1 Fingerprint=FE2C359D79D4CEAE6BDF7EFB507326C6B4E2436E
Windows
-
Откройте окно PowerShell.
-
Используйте
Get-AuthenticodeSignatureкоманду, чтобы найти отпечаток (thumbprint). Например:Get-AuthenticodeSignature -FilePath c:\myfile.exe
Определите значение SHA-256
Значение SHA-256 почти всегда меняется между версиями файла или приложения.
macOS
-
Откройте окно терминала.
-
Используйте
shasumкоманду, чтобы найти значение SHA256 файла. Например:shasum -a 256 myfile
Windows
-
Откройте окно PowerShell.
-
Используйте
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Путь приложения должен присутствовать в выводе, чтобы проверка была пройдена.