Application Check のデバイスポスチャ属性は、特定のアプリケーションプロセスがデバイス上で実行されていることを確認します。対象のオペレーティングシステムごと、または複数のアプリケーションを確認する必要がある場合は、アプリケーションチェックを複数作成できます。
-
デバイスに Cloudflare One Client がデプロイされています。対応モードとオペレーティングシステムの一覧は、Cloudflare One Client Checks を参照してください。
-
Cloudflare ダッシュボード ↗ で、Zero Trust > Reusable components > Posture checks を開きます。
-
Cloudflare One Client checks を開き、Add a check を選択します。
-
Application Check を選択します。
-
次の情報を入力します。
-
Name: このデバイスポスチャチェックの一意な名前を入力します。
-
Operating system: オペレーティングシステムを選択します。
-
Application path: 実行される実行ファイルのファイルパスを入力します(例:
C:\Program Files\myfolder\myfile.exe)。環境変数
ファイルパスには環境変数を含め、デバイスごとの違いに対応できます。環境変数は、ログイン中のユーザーではなく、Cloudflare One Client デーモンのコンテキストで解決されます。ランタイム時にデーモンプロセスが使える変数だけが機能します。
- Windows:
%VAR%構文を使います。例:%PROGRAMFILES%\myfolder\myfile.exe - macOS/Linux:
${VAR}構文を使います。例:${RUNTIME_DIRECTORY}/myfolder/myfile
- Windows:
-
-
Signing certificate thumbprint (recommended): バイナリの署名に使った 公開証明書のサムプリント を入力します。この情報を追加すると、想定したソフトウェア開発者がアプリケーションに署名したことをチェックで確認できます。
-
SHA-256 (optional): バイナリの SHA-256 値 を入力します。デバイス上のバイナリファイルの整合性を確認するために使います。
-
Save を選択します。
次に、Insights > Logs > Posture logs を開き、アプリケーションチェックが想定どおりの結果を返していることを確認します。
アプリケーションの署名サムプリントを確認する手順は、オペレーティングシステムによって異なります。次は、macOS と Windows で Cloudflare One Client アプリケーションの署名サムプリントを調べる方法です。
-
ディレクトリを作成します。
~/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 -
次のコマンドを実行し、SHA1 サムプリントを抽出します。
~/Desktop/tmp $ openssl x509 -inform DER -in codesign0 -fingerprint -sha1 -noout | tr -d : SHA1 Fingerprint=FE2C359D79D4CEAE6BDF7EFB507326C6B4E2436E
-
PowerShell ウィンドウを開きます。
-
Get-AuthenticodeSignatureコマンドでサムプリントを調べます。例:Get-AuthenticodeSignature -FilePath c:\myfile.exe
SHA-256 値は、ファイルやアプリケーションのバージョンが変わると、ほぼ必ず変わります。
-
ターミナルウィンドウを開きます。
-
shasumコマンドでファイルの SHA256 値を調べます。例:shasum -a 256 myfile
-
PowerShell ウィンドウを開きます。
-
get-filehashコマンドでファイルの SHA256 値を調べます。例:get-filehash -path "C:\myfile.exe" -Algorithm SHA256 | format-list
Cloudflare One Client が、各システムでアプリケーションの実行をどのように判定するかを説明します。
実行中のプロセス一覧を取得するには、次のコマンドを実行します。
ps -eo comm | xargs -I {} which "{}" | sort | uniq | xargs -I {} realpath "{}"チェックに合格するには、アプリケーションパスが出力に含まれている必要があります。
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 の出力に含まれている必要があります。
実行中のプロセス一覧を取得するには、次のコマンドを実行します。
Get-Process | Select-Object ProcessName, Path | Format-Table -AutoSizeチェックに合格するには、アプリケーションパスが出力に含まれている必要があります。