-
Notifications
You must be signed in to change notification settings - Fork 58
installation_notes
This page describes downloading, installing, setting up, and using the open source elements of the HIRS framework.
The HIRS Attestation Certificate Authority (ACA) supports installation on CentOS 6 and 7 instances.
The HIRS Provisioner supports both types of TPMs: 1.2 and 2.0. TPM 1.2 support is available on CentOS 6 and 7. Due to the limitations on the libraries available on CentOS 6, TPM 2.0 support is only available on CentOS 7.
Confirm that the target environments for both the ACA and the Provisioner (which may be the same) meet the below requirements:
-
The OS must be installed and configured for networking prior to installation. This should include:
- An administrative account that will be used for installing HIRS.
- A Fully Qualified Domain Name (FQDN) be assigned to the server running the ACA and
- A DNS system will resolve the name to an address. The certificate verification will not be able to complete successfully if the FQDN is not resolvable by DNS.
-
The hardware must meet the HIRS minimum requirements.
- HIRS ACA may be a virtual machine or physical device
- Centos 6 (latest) or 7.X OS
- 50GB HD space
- 6GB RAM
- The Client device must have a TPM 1.2 or TPM 2.0, and the TPM must be cleared and enabled in the BIOS/UEFI setup. The settings for the TPM are generally found in the BIOS/UEFI setup application which is specific the platform hosting the TPM. Refer to the server/desktop user manuals for instruction on how to enable/clear the TPM.
- HIRS ACA may be a virtual machine or physical device
-
The Provisioner will need connectivity to the ACA. Check that any firewalls between the ACA server and Provisioner have port 8443 enabled.
-
Setup an OS repository for the device. The HIRS installation package will attempt to install its dependencies for the system local software repository if they are not currently installed. It is highly suggested that an repository be setup prior to avoid dependency issues.
-
Dependencies for the HIRS-Provisioner using TPM 1.2 provisioning (Centos 6 or Centos 7) include:
- Java 1.8 (latest version)
- gcc
- TrouSerS
- tpm-tools
> sudo yum install java-1.8.0-openjdk gcc wget util-linux chkconfig sed initscripts coreutils dmidecode lshw trousers tpm-tools
- To perform TPM 2.0 provisioning (Centos 7 latest version unless otherwise noted):
- Java 1.8 (latest version)
- gcc
- tpm2-tss
- tpm2-tools (1.1 or 3.0.1)
- log4cplus (requires epel-release)
- protobuf
- re2 (requires epel-release)
- lshw
> sudo yum install epel-release java-1.8.0-openjdk gcc log4cplus protobuf re2 lshw tpm2-tss tpm2-tools
- Dependencies for the HIRS Attestation CA include:
- Java 1.8 (latest version)
- Tomcat (latest version)
- MySQL/MariaDB (latest version)
ACA Dependency installation on Centos 6:
> sudo yum install mysql-server openssl tomcat6 java-1.8.0 rpmdevtools coreutils initscripts chkconfig sed grep iptables
ACA Dependency installation on Centos 7:
> sudo yum install mariadb-server openssl tomcat java-1.8.0 rpmdevtools coreutils initscripts chkconfig sed grep firewalld
Currently, the HIRS ACA and Provisioner are provided as a set of CentOS 6 and 7 RPMs. In the future, the full source of these packages will be released along with documentation for building these packages. To download the currently released packages, visit the 'Releases' page.
o install the ACA, navigate to directory where the ACA was downloaded from the release page and enter the following command:
> sudo yum localinstall HIRS_AttestationCA*.rpm
After the ACA is installed, the HIRS ACA Portal should be up and running
In your browser, navigate to the ACA Portal URL:
https://<ACAserveraddress>:8443/HIRS_AttestationCAPortal/
On installation, the ACA creates a self signed certificate to use as its SSL certificate. This may produce a warning in your browser. Once you acknowledge the warning, and perhaps configure an exception, the following page should appear: Note that there may be delay after installing the ACA RPM as it starts up for the first time. The ACA portal will shortly be available via the browser.
The Provisioner is intended to be run on a host device with a TPM. It does not have to be installed on the HIRS ACA, but can be if the HIRS ACA is on a device with a TPM.
To install the Provisioner, you will need to determine if the TPM is version 1.2 or 2.0. If you are not sure, the following command should provide a hint. Ensure that the TPM is enabled in your BIOS/UEFI before running the command:
> dmesg | grep -i tpm_tis
There are different RPMs for TPM 1.2 and TPM 2.0. For TPM 1.2 there are 2 RPMs to install which are available on the release page.
For TPM 1.2 devices perform the following
> yum localinstall tpm_module*.rpm
> yum localinstall HIRS_Provisioner_TPM_1_2*.rpm
NOTE: Before installing the Provisioner on a device with a 2.0 TPM, it is important to know which version of
tpm2-tools
you have installed: 1.1.0 or 3.0.1. Each version requires its own process to manage access to the TPM. 1.1.0 uses a process calledresourcemgr
; 3.0.1 uses a process calledtpm2-abrmd
, which must be running as thetss
user. If neither or both are running, or if the wrong one is running, provisioning will fail because communication with the TPM will fail. You can test for these processes running by using the commandsps aux | grep resourcemgr
andps aux | grep abrmd
, respectively.
For TPM 2.0 devices only 1 RPM is needed:
> yum localinstall HIRS_Provisioner_TPM_2_0*.rpm
The first step in configuring the installed provisioner is to point it to the ACA. Using the TPM 1.2 Provisioner, generate the hirs-site.config with the following command:
For a device with a TPM 1.2:
> sudo hirs-provisioner -c
for a device with a TPM 2.0:
> sudo hirs-provisioner-tpm2 -c
This produces a default hirs-site.config in /etc/hirs. Using the TPM 2.0 Provisioner, this file is generated by RPM install. This default setup must be edited. The file should look like the following:
#*******************************************
#* HIRS site configuration properties file
#*******************************************
# Client configuration
TPM_ENABLED=
IMA_ENABLED=
CLIENT_HOSTNAME=$HOSTNAME
# Site-specific configuration
ATTESTATION_CA_FQDN=
ATTESTATION_CA_PORT=8443
BROKER_FQDN=
BROKER_PORT=61616
PORTAL_FQDN=
PORTAL_PORT=8443
The ATTESTATION_CA_FQDN and ATTESTATION_CA_PORT keys should be set to the hostname of the server running the ACA and the port on that server the ACA is configured to listen on (8443 by default), respectively. The BROKER_FQDN and PORTAL_FQDN should also be set to the hostname of the server running the ACA. TPM_ENABLED should be set to true and IMA_ENABLED should be set to false.
To install the Provisioner you will need the latest RPM package.
Once downloaded, perform the following:
> sudo yum install paccor-*.rpm
Follow the Getting Started Guide to test provisioning of the TPM and performing supply chain validation.
The use of SeLinux with the default ("targeted") policy on Centos 7 is supported by a custom SeLinux policy file. As of the 1.1 release the SeLinux policy file that enables tomcat to use mysql will be installed by default when installing the HIRS ACA using the release rpm package. You will need to make sure you have the policycoresutils package to enable semodule used by the rpm. To enable the policy manually rin the following command as root:
>sudo semodule -i /opt/hirs/extras/aca/tomcat-mysql-hirs.pp