应用程序检查(Application Check)设备状态属性检查设备上是否正在运行特定的应用程序进程。您可以为您需要运行的每个操作系统创建多个应用程序检查,或者在需要检查多个应用程序时创建多个应用程序检查。
Cloudflare One Client 已部署在设备上。有关支持的模式和操作系统列表,请参阅 Cloudflare One Client Checks。
-
在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Reusable components(可重用组件) > Posture checks(安全状况检查)。
-
转到 Cloudflare One Client checks(Cloudflare One 客户端检查) 并选择 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(推荐):输入用于对二进制文件进行签名的发布证书缩略图(thumbprint)。添加此信息将使该检查能够确保应用程序是由预期的软件开发商签名的。
-
SHA-256(可选):输入二进制文件的 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输出中必须出现应用程序路径,检查才能通过。