Application check
Feature availability
Operating systems | WARP mode required | Zero Trust plans |
---|---|---|
macOS, Windows, Linux | WARP with Gateway | All plans |
The Application Check device posture attribute checks that a specific application process is running on a device. You can create multiple application checks for each operating system you need to run it on, or if you need to check for multiple applications.
Configure an application check
In Zero Trust, go to Settings > WARP Client.
Scroll down to WARP client checks and select Add new.
Select Application Check.
You will be prompted for the following information:
1. **Name**: Enter a unique name for this device posture check. 2. **Operating system**: Select your operating system. 3. **Application path**: Enter the file path for the executable that will be running (for example, `c:\my folder\myfile.exe`).
4. Signing certificate thumbprint (recommended): Enter the thumbprint of the publishing certificate used to sign the binary. Adding this information will enable the check to ensure that the application was signed by the expected software developer.
- SHA-256 (optional): Enter the SHA-256 value of the binary. This is used to ensure the integrity of the binary file on the device.
Select Save.
Next, go to Logs > Posture and verify that the application check is returning the expected results.
Determine the signing thumbprint
The process to determine the signing thumbprint of an application varies depending on the operating system. This is how you would look up the signing thumbprint of the Cloudflare WARP application on macOS and Windows.
On macOS
Create a directory.
~/Desktop $ mkdir tmp~/Desktop $ cd tmpRun the following command to extract certificates for the WARP application:
~/Desktop/tmp $ codesign -d --extract-certificates "/Applications/Cloudflare WARP.app/Contents/Resources/CloudflareWARP" Executable=/Applications/Cloudflare WARP.app/Contents/Resources/CloudflareWARPNext, run the following command to extract the SHA1 thumbprint:
~/Desktop/tmp $ openssl x509 -inform DER -in codesign0 -fingerprint -sha1 -noout | tr -d :SHA1 Fingerprint=FE2C359D79D4CEAE6BDF7EFB507326C6B4E2436E
On Windows
Open a PowerShell window.
Use the
Get-AuthenticodeSignature
command to find the thumbprint. For example:PS C:\>Users\JohnDoe> Get-AuthenticodeSignature -FilePath c:\myfile.exe
Determine the SHA-256 value
The SHA-256 value almost always changes between versions of a file/application.
On macOS
Open a Terminal window.
Use the
shasum
command to find the SHA256 value of the file. For example:$ shasum -a 256 myfile
On Windows
Open a PowerShell window.
Use the
get-filehash
command to find the SHA256 value of the file. For example:PS C:\>Users\JohnDoe> get-filehash -path "C:\myfile.exe" -Algorithm SHA256 | format-list
How WARP checks for an application
Learn how the WARP client determines if an application is running on various systems.
On macOS
To get the list of active processes, run the following command:
$ ps -eo comm | xargs which | sort | uniq -u
The application path must appear in the output for the check to pass.
On Linux
The WARP client gets the list of running binaries by following the soft links in /proc/<pid>/exe
. To view all active processes and their soft links:
$ ps -eo pid | awk '{print "/proc/"$1"/exe"}' | xargs readlink -f | awk '{print $1}' | sort | uniq -u
The application path must appear in the /proc/<pid>/exe
output for the check to pass.