Measured Boot Supplemental Pack

The XenServer Measured Boot Supplemental Pack enables customers to measure key components of their XenServer hosts at boot time. It also provides APIs that enable remote attestation solutions to collect these measurements securely. This supplemental pack is compatible with Intel computer systems that support Trusted Execution Technology (TXT).

This supplemental pack is available to download from the XenServer 7.6 Enterprise Edition page.

Note:

Measured Boot Supplemental Pack is available for XenServer Enterprise Edition customers, or those customers who have access to XenServer through their Citrix Virtual Apps and Desktops entitlement.

Background

After installation of this Supplemental Pack, when a XenServer host next boots, Intel’s TXT takes measurements of low level system components (such as firmware, BIOS, Xen hypervisor, dom0 kernel, and the dom0 initrd) and stores them in a secure location on the host known as the Trusted Platform Module (TPM). A new interface is provided for clients, such as a remote attestation solution, to collect these measurements securely.

Remote attestation

Remote Attestation solutions work by connecting to a XenServer host that is in a ‘known good’ clean state. It can remotely and securely query the XenServer host’s TPM for a list of low level key system measurements. It stores these measurements in a ‘white-list’ or ‘known good’ measurements list.

At this point, the remote attestation software periodically collects key system measurements and compares them to its ‘known good’ list.

A host is considered ‘untrusted’ in the following cases:

  • If the remote attestation software is unable to collect the measurements
  • If the measurements change
  • If the cryptographic keys are not valid

In this event, the customer is notified. Higher-level orchestration software, such as CloudStack, OpenStack, or workload balancing software can perform intelligent security operations on the affected hosts.

Prepare the XenServer host

For this Supplemental Pack to function correctly, before attempting to gather data, edit the following settings in their host’s BIOS:

  1. Set up the XenServer host to boot in legacy mode.

    Note:

    UEFI boot mode is not supported with measured boot.

  2. Enable Intel AES-NI.

  3. Switch on TPM Security or on with pre-boot measurements.

  4. Clear the TPM.

    This action erases any previous settings and passwords associated with the TPM to allow the XenServer Measured Boot Supplemental Pack to take control of the TPM.

    Note:

    A reboot is required after this step.

  5. Enable TPM.

  6. Enable Intel TXT.

Note:

  • A reboot is required after step 5 and step 6.
  • BIOS settings vary according to hardware manufacturer. Consult your hardware documentation to see how to enable the TPM and TXT for their specific environment.

Install the Supplemental Pack

Use the XenServer CLI to install this Supplemental Pack. As with any software update, Citrix advises customers to back up their data before applying this supplemental pack.

Supplemental Packs can be transmitted within a zip file. If the Supplemental Pack ISO is contained within a zip file, unzip this zip file (to produce the disk ISO image), before carrying out the steps below.

Install onto a running XenServer system

  1. Download the Supplemental Pack directly to the XenServer host to be updated.

    Citrix recommends storing it in the /tmp/ directory.

    Alternatively, you can download the file to an internet-connected computer, and burn the ISO image to a CD.

  2. Use XenCenter to access the XenServer host’s console, or use secure shell (SSH) to log on directly.

  3. The simplest method is to install directly from the ISO file. Enter the following:

    xe-install-supplemental-pack /tmp/XenServer-7.6-measured-boot.iso
    

    Alternatively, if you chose to burn the ISO to a CD, you must mount the disk. For example, for a CD-ROM, enter the following:

    mkdir -p /mnt/tmp
    mount /dev/<path to cd-rom> /mnt/tmp
    cd /mnt/tmp/
    ./install.sh
    cd /
    umount /mnt/tmp
    
  4. In order for the changes to take effect, reboot your host.

Reinstallation

If you are installing this Supplemental Pack on top of a previous version, confirm overwriting the previous installation. Enter Y when prompted during xe-install-supplemental-pack installation.

Update default password

In previous versions of the supplemental pack, the default password was set to xenroot with a trailing newline. This trailing newline has been removed for the default password in this version of the supplemental pack with the new default password being xenroot.

A custom password can be set in /opt/xensource/tpm/config and must be a sha1 hash of a plain text password, which can be generated with echo -n <password | sha1sum. If -n is omitted from this command line, a trailing newline is included in the password.

Set asset tags

Asset tags can be set using the /opt/xensource/tpm/xentpm binary with the --tpm_set_asset_tag and --tpm_clear_asset_tag methods, or can also be set using the management API tpm plug-in with the tpm_set_asset_tag (taking a ‘tag’ argument) and tpm_clear_asset_tag functions:

/opt/xensource/tpm/xentpm --tpm_set_asset_tag <tag_sha1>
/opt/xensource/tpm/xentpm --tpm_clear_asset_tag
xe host-call-plugin uuid=<host_uuid> plugin=tpm fn=tpm_set_asset_tag args:tag=<tag_sha1>
xe host-call-plugin uuid=<host_uuid> plugin=tpm fn=tpm_clear_asset_tag

Note:

A reboot is required after this step.

More information

To download the Measured Boot Supplemental Pack, see the XenServer 7.6 Enterprise Edition page.

If you experience any difficulties with installing this Supplemental Pack, contact Citrix Technical Support.

For XenServer 7.6 documentation, visit the Citrix Product Documentation website.