Credential Guard
The AWS Nitro System supports Credential Guard for Amazon Elastic Compute Cloud (Amazon EC2) Windows instances. Credential Guard is a Windows virtualization-based security (VBS) feature that enables the creation of isolated environments to protect security assets, such as Windows user credentials and code integrity enforcement, beyond Windows kernel protections. When you run EC2 Windows instances, Credential Guard uses the AWS Nitro System to protect Windows login credentials from being extracted from the OS memory.
Topics
Prerequisites
Your Windows instance must meet the following prerequisites to utilize Credential Guard:
- Amazon Machine Images (AMIs)
-
The AMI must be preconfigured to enable NitroTPM and UEFI Secure Boot. For more information on supported AMIs, see Prerequisites for launching a Windows instance with NitroTPM enabled.
- Instance types
-
The following instance types and sizes support Credential Guard:
Type Sizes C5 c5.large
|c5.xlarge
|c5.2xlarge
|c5.4xlarge
|c5.9xlarge
|c5.12xlarge
C5d c5d.large
|c5d.xlarge
|c5d.2xlarge
|c5d.4xlarge
|c5d.9xlarge
|c5d.12xlarge
C5n c5n.large
|c5n.xlarge
|c5n.2xlarge
|c5n.4xlarge
|c5n.9xlarge
C6i c6i.large
|c6i.xlarge
|c6i.2xlarge
|c6i.4xlarge
|c6i.8xlarge
|c6i.12xlarge
|c6i.16xlarge
C6id c6id.large
|c6id.xlarge
|c6id.2xlarge
|c6id.4xlarge
|c6id.8xlarge
|c6id.12xlarge
|c6id.16xlarge
M5 m5.large
|m5.xlarge
|m5.2xlarge
|m5.4xlarge
|m5.8xlarge
M5d m5d.large
|m5d.xlarge
|m5d.2xlarge
|m5d.4xlarge
|m5d.8xlarge
M5dn m5dn.large
|m5dn.xlarge
|m5dn.2xlarge
|m5dn.4xlarge
|m5dn.8xlarge
M5n m5n.large
|m5n.xlarge
|m5n.2xlarge
|m5n.4xlarge
|m5n.8xlarge
M5zn m5zn.large
|m5zn.xlarge
|m5zn.2xlarge
|m5zn.3xlarge
|m5zn.6xlarge
M6i m6i.large
|m6i.xlarge
|m6i.2xlarge
|m6i.4xlarge
|m6i.8xlarge
M6id m6id.large
|m6id.xlarge
|m6id.2xlarge
|m6id.4xlarge
|m6id.8xlarge
R5 r5.large
|r5.xlarge
|r5.2xlarge
|r5.4xlarge
R5b r5b.large
|r5b.xlarge
|r5b.2xlarge
|r5b.4xlarge
R5d r5d.large
|r5d.xlarge
|r5d.2xlarge
|r5d.4xlarge
R5dn r5dn.large
|r5dn.xlarge
|r5dn.2xlarge
|r5dn.4xlarge
R5n r5n.large
|r5n.xlarge
|r5n.2xlarge
|r5n.4xlarge
R6i r6i.large
|r6i.xlarge
|r6i.2xlarge
|r6i.4xlarge
R6id r6id.large
|r6id.xlarge
|r6id.2xlarge
|r6id.4xlarge
Note Though NitroTPM has some required instance types in common, the instance type must be one of the above to support Credential Guard.
Launching a supported instance
You can use the Amazon EC2 console or AWS Command Line Interface (AWS CLI) to launch an instance which can support Credential Guard. You will need a compatible AMI ID for launching your instance which is unique for each AWS Region.
You can use the following link to discover and launch instances with compatible Amazon provided AMIs in the Amazon EC2 console:
Turning on Credential Guard
After you have launched a Windows instance with a supported instance type and compatible AMI, you can turn on Credential Guard.
Administrator privileges are required to perform the following steps to turn on Credential Guard.
To turn on Credential Guard
-
Connect to your instance as a user account with administrator privileges using the Remote Desktop Protocol (RDP). For more information, see Connect to your Windows instance using RDP.
-
Open the Start menu and search for
cmd
to start a command prompt. -
Run the following command to open the Local Group Policy Editor:
gpedit.msc
-
In the Local Group Policy Editor, choose Computer Configuration, Administrative Templates, System, Device Guard.
-
Select Turn On Virtualization Based Security, then select Edit policy setting.
-
Choose Enabled within the Turn On Virtualization Based Security menu.
-
For Select Platform Security Level, choose Secure Boot and DMA Protection.
-
For Credential Guard Configuration, choose Enabled without lock.
Note The remaining policy settings are not required to enable Credential Guard and can be left as Not Configured.
The following image displays the VBS settings configured as described previously:
-
Reboot the instance to apply the settings.
Verifying Credential Guard is running
You can use the Microsoft System Information (Msinfo32.exe
) tool to confirm
that Credential Guard is running.
You must first reboot the instance to finish applying the policy settings required to enable Credential Guard.
To verify Credential Guard is running
-
Connect to your instance using the Remote Desktop Protocol (RDP). For more information, see Connect to your Windows instance using RDP.
-
Within the RDP session to your instance, open the Start menu and search for
cmd
to start a command prompt. -
Open System Information by running the following command:
msinfo32.exe
-
The Microsoft System Information tool lists the details for VBS configuration. Next to Virtualization-based security Services, confirm that Credential Guard appears as Running.
The following image displays VBS is running as described previously:
Turning off Credential Guard
You can turn off Credential Guard if it has been enabled on your EC2 instance.
Administrator privileges are required to perform the following steps to turn off Credential Guard.
To turn off Credential Guard
-
Connect to your instance as a user account with administrator privileges using the Remote Desktop Protocol (RDP). For more information, see Connect to your Windows instance using RDP.
-
Open the Start menu and search for
cmd
to start a command prompt. -
Run the following command to open the Local Group Policy Editor:
gpedit.msc
-
In the Local Group Policy Editor, choose Computer Configuration, Administrative Templates, System, Device Guard.
-
Select Turn On Virtualization Based Security, then select Edit policy setting.
-
Choose Disabled within the Turn On Virtualization Based Security menu.
-
The following image displays the VBS settings configured as described previously:
-
Reboot the instance to apply the settings.