Welcome to the third and final blog in the series on Device Guard!!
In part two of the blog series Device Guard: The Theory, the key points were:
Microsoft has written a comprehensive Device Guard Deployment Guide, which provides detailed step-by-step instructions to get you going. However, it is a rather long read. In this blog, I've distilled the information in the guide, leaving you with a high-level understanding, as well as the steps and tasks to execute and deploy Device Guard in the enterprise.
It is evident that Device Guard provides revolutionary endpoint security in Windows 10; a formidable opponent and offense against viruses, malware, bad actors and other modern day threats. Time to start taking advantage of it and securing the enterprise!!
Device Guard has a number of prerequisites, the core of which are Windows 10 64-bit (Enterprise, Enterprise LTSB and Education editions) with Hyper-V and Configurable Code Integrity features enabled to provide Virtualization-Based Security (VBS).
The endpoint must also meet the following firmware, hardware and processor capabilities:
Active Directory is required and Public Key Infrastructure (PKI) may be required as well:
Note: Remember to import the Administrative Templates for Windows 10 with the recommendation of creating a Group Policy Central Store. The templates will be available from all domain controllers where the Group Policy Management Console is run.
For more details on prerequisites refer to Hardware considerations.
A secure implementation of Device Guard should be top priority. Giving consideration for the following processes and tasks will help to ensure its success.
A successful Device Guard implementation relies on having accurate information about the application footprint of the organization, answering questions like – What applications are installed? Are the applications being used? Who is using the applications and what roles, and business units and/or departments are they associated with?
Note: Similar information can be derived from Asset Intelligence reporting and Software Inventory in ConfigMgr and Microsoft’s Application Compatibility Toolkit (ACT). However, consideration should be given to the additional effort required to normalize and rationalize the inventoried data.
Note: Device Guard Code Integrity policies running in Audit Mode can also show you what applications are installed in the environment. The challenge in this strategy is that it cannot be used until after Windows 10 and Device Guard has been deployed, whereas 1E AppClarity and the other tools mentioned earlier can be leveraged before, during, and after deploying Windows 10 and Device Guard.
Type | Digitally signed | Unsigned (trusted by digitally signing Catalog files) |
---|---|---|
Universal Windows Apps (downloaded from Windows Store) | ● | |
Legacy/Classic Windows Apps | ● | ● |
3rd Party Apps | ● | ● |
Custom developed/In-house Apps | ● | ● |
Note: For more information about what it means in Device Guard for an application to be “trustworthy”, in the second blog of the series, read the section “Policy driven. Trustworthy guaranteed.”
When you are ready to create and test Catalog files and Code Integrity policies, reference PCs should be built corresponding to the different application usage categories defined earlier. Along with Windows 10 being installed, ensure that the reference PCs have the required Windows features and hardware-based security features installed and configured properly.
The following provides a high-level overview of the steps involved with creating and testing Catalog files and Code Integrity policies from a reference PC:
Note: This must be done before creating the new code integrity policy.
For comprehensive description and details of the steps involved, read the following sections of the Device Guard Deployment Guide:
By this time, the Code Integrity policies should be finalized, with both signed and unsigned applications in the environment that are now known and trusted. In following the guidance earlier about learning the application footprint of the organization, a single code integrity policy file for each application usage category defined may have been created. Rather than categorizing application usage by line-of-business, it may have been chosen to create a code integrity policy for each supported corporate image instead. If you end up with multiple policy files, they can be merged into a single Device Guard policy for the entire organization.
It’s now time enforce and implement the code integrity policy to secure the endpoints.
The key steps to implementing the policy in enforcement mode are:
Set-RuleOption -Option 3 -FilePath $EnforcedCIPolicy -Delete
ConvertFrom-CIPolicy $EnforcedCIPolicy $CIPolicyBin
This is not an exhaustive list of the final steps and so it is highly recommended to read and pay close attention to the detailed steps documented in Code Integrity policies.
General guidance and blog resources were provided earlier to help prepare endpoints for Device Guard. You’re likely to be using ConfigMgr and/or Microsoft Intune to manage Windows 10 PC’s in the environment. The following table shows the roles and relationship of these and other tools, and the tasks they execute towards deploying and managing Device Guard:
Group Policy | Configuration Manager | MDT / DISM | Intune | PowerShell | PackageInspector.exe | SignTool.exe | |
---|---|---|---|---|---|---|---|
Deploy hardware based security features (UEFI/Secure Boot, VBS) |
⚫ |
||||||
Configure hardware based security features (UEFI Secure Boot, VBS) |
⚫ |
||||||
Manage hardware based security features (UEFI/Secure Boot, VBS) |
⚫ |
||||||
Enable/Install Windows features (Hyper-V, Isolated User Mode) |
⚫ |
⚫ |
⚫ |
||||
Configure Virtualization-based security features (for protection of KMCI) |
⚫ |
||||||
Create Code Integrity policies |
⚫ |
||||||
Digitally sign Code Integrity policies |
⚫ |
||||||
Deploy and Manage Code Integrity policies |
⚫ |
⚫ |
⚫ |
||||
Version Control Code Integrity policies |
⚫ |
||||||
Create Catalog files |
⚫ |
||||||
Digitally sign Catalog files |
⚫ |
||||||
Deploy and Manage Catalog files |
⚫ |
⚫ |
⚫ |
||||
Version control Catalog files |
⚫ |
To summarize the key points of the third blog in the series:
Loading...