Check digital signatures on software packages
Before installing Deep Security, check the digital signature on the software ZIP packages and installer files. A correct digital signature indicates that the software is authentically from Trend Micro and has not been corrupted or tampered with.
- Check the signature on software ZIP packages
- Check the signature on installer files (EXE, MSI, RPM or DEB files)
You can also validate the software's checksums, as well as the security updates' and Deep Security Agent modules' digital signature. See How Deep Security validates update integrity and Configure Linux Secure Boot for agents.
Check the signature on software ZIP packages
The Deep Security Agent
Import or export a ZIP file following the instructions in Import agent software or Export the agent installer.
On import or export, the manager checks the digital signature on the ZIP file. If the signature is valid, the manager allows the import or export to proceed. If the signature is invalid or missing, the manager disallows the action, deletes the ZIP, and logs an event.
- Log in to Deep Security Manager.
- Click Administration at the top.
- On the left, expand Updates > Software > Local.
- Find the ZIP package whose digital signature you want to check and double-click it. If it is not there, import it.
The Properties page for the ZIP file opens, and the manager checks the digital signature. If the signature is valid, you will see a green check mark in the Signature field, as shown in the following illustration. If the signature is not valid or does not exist, the manager deletes the ZIP and logs an event.
Use the jarsigner Java utility to check a signature on a ZIP when you cannot check it through the manager. For example, suppose you obtained an agent ZIP package from a non-manager source, such as the Deep Security Software page, and then wanted to install the agent manually. In this scenario, you would use the jarsigner utility since the manager is not involved.
To check a signature using jarsigner:
- Install the latest Java Development Kit on your computer.
- Download the ZIP.
- Use the jarsigner utility within the JDK to check the signature. The command is:
jarsigner -verify -verbose -certs -strict <ZIP_file>
Example:
jarsigner -verify -verbose -certs -strict Agent-RedHat_EL7-11.2.0-124.x86_64.zip
- Read any errors as well as the content of the certificate to determine if the signature can be trusted.
Check the signature on installer files (EXE, MSI, RPM or DEB files)
The installers for the Deep Security Agent
The instructions below describe how to check a digital signature manually on an installer file. If you'd like to automate this check, you can include it in your agent deployment scripts. For more on deployment scripts, see Use deployment scripts to add and protect computers.
Follow the instructions that correspond to the type of installer file you want to check.
- Check the signature on an EXE or MSI file
- Check the signature on an RPM file
- Check the signature on a DEB file
Check the signature on an EXE or MSI file
- Right-click the EXE or MSI file and select Properties.
- Click the Digital Signatures tab to check the signature.
Check the signature on an RPM file
If not already installed, install GnuPG on the agent computer where you intend to check the signature. This utility includes the GPG command-line tool, which you need in order to import the signing key and check the digital signature.
Note that GnuPG is installed by default on most Linux distributions.
- Look for the 3trend_public.asc file in the root folder of the agent's ZIP file. The ASC file contains a GPG public signing key that you can use to verify the digital signature.
- Optionally, verify the SHA-256 hash digest of the ASC file using any hashing utility. The hash is:
c59caa810a9dc9f4ecdf5dc44e3d1c8a6342932ca1c9573745ec9f1a82c118d7 - for agent version 20.0.0-2593 or earlier
bd3b00763db11cee2a6b990428d506f11cf86c68354388fe9cc41fa7e6c9ddae - for agent version 20.0.0-2971 or later
7a7509c5458c762f6a341820a93e09f0f1b9dd3258608753e18d26575e9c730f - for agent version 20.0.1-3180 or later
- On the agent computer where you intend to check the signature, import the ASC file. Use this command:
Commands are case-sensitive.
gpg --import 3trend_public.asc
The following messages appear:
gpg: directory `/home/build/.gnupg' created
gpg: new configuration file `/home/build/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/build/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/build/.gnupg/secring.gpg' created
gpg: keyring `/home/build/.gnupg/pubring.gpg' created
gpg: /home/build/.gnupg/trustdb.gpg: trustdb created
gpg: key E1051CBD: public key "Trend Micro (trend linux sign) <alloftrendetscodesign@trendmicro.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
- Export the GPG public signing key from the ASC file:
gpg --export -a 'Trend Micro' > RPM-GPG-KEY-CodeSign
- Import the GPG public signing key to the RPM database:
sudo rpm --import RPM-GPG-KEY-CodeSign
- Verify that the GPG public signing key has been imported:
rpm -qa gpg-pubkey*
- The fingerprints of imported GPG public keys appear. The Trend Micro key is:
gpg-pubkey-e1051cbd-5b59ac99 - for agent version 20.0.0-2593 or earlier
gpg-pubkey-e1051cbd-6030cc3a - for agent version 20.0.0-2971 or later
gpg-pubkey-e1051cbd-659d0a3e - for agent version 20.0.1-3180 or later
The signing key has now been imported and can be used to check the digital signature on the agent RPM file.
You can either verify the signature on the RPM file manually or have a deployment script to perform the check, as described in Use deployment scripts to add and protect computers.
To perform a manual check, execute the following command:
rpm -K Agent-PGPCore-<OS agent version>.rpm
Example:
rpm -K Agent-PGPCore-RedHat_EL7-11.0.0-950.x86_64.rpm
Ensure that you run the preceding command on the Agent-PGPCore-<...>.rpm file, because running it on Agent-Core-<...>.rpm does not work. If you cannot find the Agent-PGPCore-<...>.rpm file in the agent ZIP, use a newer ZIP, specifically:
- Deep Security Agent 11.0 update 15 or a later update
or
- Deep Security Agent 12 update 2 or later
or
- Deep Security Agent 20 or later
If the signature verification is successful, the following message appears:
Agent-PGPCore-RedHat_EL7-11.0.0-950.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
Check the signature on a DEB file
Install dpkg-sig on the agent computer where you intend to check the signature, if it is not already installed. This utility includes the GPG command-line tool, which you need in order to import the signing key and check the digital signature.
- Look for the 3trend_public.asc file in the root folder of the agent's ZIP file. The ASC file contains a GPG public signing key that you can use to verify the digital signature.
- Optionally, verify the SHA-256 hash digest of the ASC file using any hashing utility. The hash is:
c59caa810a9dc9f4ecdf5dc44e3d1c8a6342932ca1c9573745ec9f1a82c118d7 - for agent version 20.0.0-2593 or earlier
bd3b00763db11cee2a6b990428d506f11cf86c68354388fe9cc41fa7e6c9ddae - for agent version 20.0.0-2971 or later
7a7509c5458c762f6a341820a93e09f0f1b9dd3258608753e18d26575e9c730f - for agent version 20.0.1-3180 or later
- On the agent computer where you intend to check the signature, import the ASC file to the GPG keyring. Use the following command:
gpg --import 3trend_public.asc
The following message appears:
gpg: key E1051CBD: public key "Trend Micro (trend linux sign) <alloftrendetscodesign@trendmicro.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
- Optionally, display the Trend Micro key information. Use the following command:
gpg --list-keys
A message similar to the following appears:
/home/user01/.gnupg/pubring.gpg
-------------------------------
pub 2048R/E1051CBD 2018-07-26 [expires: 2021-07-25]
uid Trend Micro (trend linux sign) <alloftrendetscodesign@trendmicro.com>
sub 2048R/202C302E 2018-07-26 [expires: 2021-07-25]
You can either verify the signature on the DEB file manually or have a deployment script to perform the check, as described in Use deployment scripts to add and protect computers.
To perform a manual check, enter the following command:
dpkg-sig --verify <agent_deb_file>
where <agent_deb_file> is the name and path of the agent DEB file. For example:
dpkg-sig --verify Agent-Core-Ubuntu_16.04-12.0.0-563.x86_64.deb
A processing message appears:
Processing Agent-Core-Ubuntu_16.04-12.0.0-563.x86_64.deb...
If the signature is verified successfully, the following message appears:
GOODSIG _gpgbuilder CF5EBBC17D8178A7776C1D365B09AD42E1051CBD 1568153778