Secure boot provides a security feature in Aboot, Arista bootloader, that verifies the
cryptographic signature of the EOS software image before booting up the switch. Aboot
embeds certificates that allow it to recognize and validate official EOS releases from
Arista. If a successful signature verification occurs, the secure boot check passes and
Aboot proceeds to boot the software image. If the signature verification fails, the
switch aborts booting the software.
In addition to the verification of Arista signed images, secure boot can also validate
images using a user-configured root certificate. This mechanism allows you to sign your
SWI images and have them recognized by secure boot. It is also possible to configure
secure boot to only accept SWI images signed by the user certificate.
Secure boot prevents and detects unauthorized modifications to the software image by
anyone with access to EOS. To provide this guarantee, it must not be possible for
anyone, including a system administrator, to disable any of the secure boot
configuration or firmware components from EOS. That includes disabling secure boot,
changing the certificates used to validate the software image signature, or unauthorized
modifications to the BIOS or Aboot firmware.
Two main components store the firmware and secure boot configuration:
- The BIOS SPI flash
- The Trusted Platform Module (TPM) Nonvolatile Random Access Memory (NVRAM)
When properly configured with secure boot enabled, EOS locks both hardware components before running the software image. This
ensures that no component of secure boot can be tampered with from EOS.
The switch embeds the bootloader Aboot in the BIOS firmware and stores the complete firmware image, BIOS plus Aboot, in the
BIOS SPI flash. The flash also stores certificates used by secure boot to validate the image signature. Configure the BIOS SPI flash
as write-protected by Aboot to prevent unauthorized modifications to the BIOS, Aboot, or secure boot certificates from EOS.
The TPM NVRAM stores critical configuration parameters for secure boot. The NVRAM indexes that store secure boot data in the
TPM can only be overwritten by using the highest level of privilege on the TPM. Aboot unconditionally locks the highest level of
privilege on the TPM prior to transferring execution to EOS, and ensures that NVRAM sections storing the secure boot level
configuration cannot undergo modification.
Use the following commands to enable, disable, or display secure boot:
Aboot# securebootctl secureboot -enable
Aboot# securebootctl secureboot -display
Secure Boot enabled
Aboot# securebootctl secureboot -disable
Aboot# securebootctl secureboot -display
Secure Boot disabled
Use the following command to add a certificate path, /mnt/flash/user-test.crt, for secure boot:
Aboot# secureboot cert -add /mnt/flash/user-test.crt
Added the following user certificate:
DC=com, DC=test, CN=User Test Cert
Use the following command to display certificate information:
Aboot# securebootctl cert -display
Arista: DC=com, DC=mycompany, CN=MyCompany Issuing Cert Authority
Use the following commands to configure Arista Certificates to verify software images:
Aboot# securebootctl aristacert -enable
Aboot# securebootctl aristacert -display
Arista certificate used
Aboot# securebootctl cert -display
Arista: DC=com, DC=aristanetworks, CN=AristaIT-ICA ECDSA Issuing Cert Authority
Use the following command to disable Arista certificates for secure boot:
Aboot# securebootctl aristacert -disable
Aboot# securebootctl aristacert -display
Arista certificate ignored
Aboot# securebootctl cert -display
Arista: ignored
User: No certificate is configured
If you enable secure boot, disable Arista certificates, and no user certificate
configured, the switch does not boot because it cannot find a valid certificate to
verify the software image. The following message displays on the switch:
=== WARNING ===
Invalid configuration detected:
- Arista certificate ignored
- no user certificate inserted
- Secure Boot is enabled
Boot is not going to be allowed until one of those is addressed.
Please insert a user certificate, enable the Arista certificate or disable Secure Boot to proceed to EOS.
Using an Aboot Password
Secure boot compatible Aboot images support storing an Aboot password in the TPM as a
more secure option than storing the password in /mnt/flash. You can only configure the
password in the Aboot mode. Once you set the password, EOS can no longer set the Aboot
password.
Use the following command to display the Aboot password status:
Aboot# securebootctl abootpassword -display
Password status: disabled
EOS disables the password by default.
Use the following commands to enable the password, and then display password information:
Aboot# securebootctl abootpassword -enable
Enter password:
Confirm password:
Aboot# securebootctl abootpassword -display
Password status: enabled
Password value: $6$poC4fj2Bk4aAPKga$hOl92bbCeyU9UM3sv3hfesRamMaQwLH5Yi01LhW/hw2BtNyQ8UmvhreMFSrDoQ6ji9WB1l5e/.KDWhtP4zMLW0
Displaying Boot Information
The show boot command displays the following information on platforms that support secure boot:
switch# show boot
Software image: flash:/EOS.swi
Console speed: (not set)
Aboot password (encrypted): (not set)
Memory test iterations: (not set)
Secure boot: enabled
SPI flash protection: enabled
Password storage: tpm
Arista certificate: enabled
Extra certificate:
-----BEGIN CERTIFICATE-----
MIIDVzCCAj+gAwIBAgIJAMoGOI8anKHzMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV
[ … ]
LTwkN1KGUMiP8OWtooCNmqW+pdp/VGexIV/e0Xj8wGoffSczfY1XAAsD4PsbWnQ9
kn5CQrzU3DSoeWkQbK24an+EAqEX4ZUl5WDi7de5pzt343lfUXZB9Gd1BA==
-----END CERTIFICATE-----