From 3da3c572298df1a531acc8b81e0db9a86c08678e Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 19 Dec 2022 17:44:39 -0800 Subject: [PATCH] add security csp --- .../mdm/policy-csp-security.md | 849 ++++++++++-------- 1 file changed, 480 insertions(+), 369 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-security.md b/windows/client-management/mdm/policy-csp-security.md index f5585b9b4e..546441a436 100644 --- a/windows/client-management/mdm/policy-csp-security.md +++ b/windows/client-management/mdm/policy-csp-security.md @@ -1,515 +1,626 @@ --- -title: Policy CSP - Security -description: Learn how the Policy CSP - Security setting can specify whether to allow the runtime configuration agent to install provisioning packages. +title: Security Policy CSP +description: Learn more about the Security Area in Policy CSP +author: vinaypamnani-msft +manager: aaroncz ms.author: vinpa -ms.topic: article +ms.date: 12/19/2022 +ms.localizationpriority: medium ms.prod: windows-client ms.technology: itpro-manage -author: vinaypamnani-msft -ms.localizationpriority: medium -ms.date: 09/27/2019 -ms.reviewer: -manager: aaroncz +ms.topic: reference --- + + + # Policy CSP - Security -
+ + + - -## Security policies + +## AllowAddProvisioningPackage -
-
- Security/AllowAddProvisioningPackage -
-
- Security/AllowAutomaticDeviceEncryptionForAzureADJoinedDevices -
-
- Security/AllowRemoveProvisioningPackage -
-
- Security/ClearTPMIfNotReady -
-
- Security/ConfigureWindowsPasswords -
-
- Security/PreventAutomaticDeviceEncryptionForAzureADJoinedDevices -
-
- Security/RecoveryEnvironmentAuthentication -
-
- Security/RequireDeviceEncryption -
-
- Security/RequireProvisioningPackageSignature -
-
- Security/RequireRetrieveHealthCertificateOnBoot -
-
+ +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1507 [10.0.10240] and later | + -
+ +```Device +./Device/Vendor/MSFT/Policy/Config/Security/AllowAddProvisioningPackage +``` + - -**Security/AllowAddProvisioningPackage** - - - -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|No|No| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| - - -
- - -[Scope](./policy-configuration-service-provider.md#policy-scope): - -> [!div class = "checklist"] -> * Device - -
- - - + + Specifies whether to allow the runtime configuration agent to install provisioning packages. + - - -The following list shows the supported values: + + + -- 0 – Not allowed. -- 1 (default) – Allowed. + +**Description framework properties**: - - +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 1 | + -
+ +**Allowed values**: - -**Security/AllowAutomaticDeviceEncryptionForAzureADJoinedDevices** +| Value | Description | +|:--|:--| +| 0 | Not allowed. | +| 1 (Default) | Allowed. | + + + + + + + + + +## AllowManualRootCertificateInstallation - > [!NOTE] -> -> - This policy is deprecated in Windows 10, version 1607. +> This policy is deprecated and may be removed in a future release. -Specifies whether to allow automatic [device encryption](/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10#bitlocker-device-encryption) during OOBE when the device is Azure AD joined. + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:x: Pro
:x: Enterprise
:x: Education
:x: Windows SE | :heavy_check_mark: Windows 10, version 1507 [10.0.10240] and later | + - - -The following list shows the supported values: + +```Device +./Device/Vendor/MSFT/Policy/Config/Security/AllowManualRootCertificateInstallation +``` + -- 0 – Not allowed. -- 1 (default) – Allowed. + + +This policy is deprecated. + - - + + + -
+ +**Description framework properties**: - -**Security/AllowRemoveProvisioningPackage** +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 1 | + - + +**Allowed values**: -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|No|No| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| +| Value | Description | +|:--|:--| +| 0 | Not allowed. | +| 1 (Default) | Allowed. | + - -
+ + + - -[Scope](./policy-configuration-service-provider.md#policy-scope): + -> [!div class = "checklist"] -> * Device + +## AllowRemoveProvisioningPackage -
+ +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1507 [10.0.10240] and later | + - - + +```Device +./Device/Vendor/MSFT/Policy/Config/Security/AllowRemoveProvisioningPackage +``` + + + + Specifies whether to allow the runtime configuration agent to remove provisioning packages. + - - -The following list shows the supported values: + + + -- 0 – Not allowed. -- 1 (default) – Allowed. + +**Description framework properties**: - - +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 1 | + -
+ +**Allowed values**: - -**Security/ClearTPMIfNotReady** +| Value | Description | +|:--|:--| +| 0 | Not allowed. | +| 1 (Default) | Allowed. | + - + + + -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home||| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + - -
+ +## AntiTheftMode - -[Scope](./policy-configuration-service-provider.md#policy-scope): +> [!NOTE] +> This policy is deprecated and may be removed in a future release. -> [!div class = "checklist"] -> * Device + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:x: Pro
:x: Enterprise
:x: Education
:x: Windows SE | :heavy_check_mark: Windows 10, version 1507 [10.0.10240] and later | + -
+ +```Device +./Device/Vendor/MSFT/Policy/Config/Security/AntiTheftMode +``` + - - + + +This policy is deprecated. + -Admin access is required. The prompt will appear on first admin logon after a reboot, when the TPM is in a non-ready state that can be remediated with a TPM Clear. The prompt will have a description of what clearing the TPM does and that it requires a reboot. The user can dismiss it, but it will appear on next admin logon after restart. + + + - - -ADMX Info: -- GP Friendly name: *Configure the system to clear the TPM if it is not in a ready state.* -- GP name: *ClearTPMIfNotReady_Name* -- GP path: *System/Trusted Platform Module Services* -- GP ADMX file name: *TPM.admx* + +**Description framework properties**: - - -The following list shows the supported values: +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 1 | + -- 0 (default) – Won't force recovery from a non-ready TPM state. -- 1 – Will prompt to clear the TPM, if the TPM is in a non-ready state (or reduced functionality) which can be remediated with a TPM Clear. + +**Allowed values**: - - +| Value | Description | +|:--|:--| +| 0 | Disabled. | +| 1 (Default) | Enabled. | + -
+ + + - -**Security/ConfigureWindowsPasswords** + - + +## ClearTPMIfNotReady -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|No|No| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1709 [10.0.16299] and later | + - -
+ +```Device +./Device/Vendor/MSFT/Policy/Config/Security/ClearTPMIfNotReady +``` + - -[Scope](./policy-configuration-service-provider.md#policy-scope): + + +This policy setting configures the system to prompt the user to clear the TPM if the TPM is detected to be in any state other than Ready. This policy will take effect only if the system’s TPM is in a state other than Ready, including if the TPM is “Ready, with reduced functionality”. The prompt to clear the TPM will start occurring after the next reboot, upon user login only if the logged in user is part of the Administrators group for the system. The prompt can be dismissed, but will reappear after every reboot and login until the policy is disabled or until the TPM is in a Ready state. + -> [!div class = "checklist"] -> * Device + + + -
+ +**Description framework properties**: - - -Configures the use of passwords for Windows features. +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + -> [!Note] -> This policy is only supported in Windows 10 S. + +**Allowed values**: - - -The following list shows the supported values: +| Value | Description | +|:--|:--| +| 0 (Default) | Will not force recovery from a non-ready TPM state. | +| 1 | Will prompt to clear the TPM if the TPM is in a non-ready state (or reduced functionality) which can be remediated with a TPM Clear. | + -- 0 -Disallow passwords (Asymmetric credentials will be promoted to replace passwords on Windows features). -- 1- Allow passwords (Passwords continue to be allowed to be used for Windows features). -- 2- Default (Feature defaults as per SKU and device capabilities. Windows 10 S devices will exhibit "Disallow passwords" default, and all other devices will default to "Allow passwords"). + +**Group policy mapping**: - - +| Name | Value | +|:--|:--| +| Name | ClearTPMIfNotReady_Name | +| Friendly Name | Configure the system to clear the TPM if it is not in a ready state. | +| Location | Computer Configuration | +| Path | System > Trusted Platform Module Services | +| Registry Key Name | Software\Policies\Microsoft\TPM | +| Registry Value Name | ClearTPMIfNotReadyGP | +| ADMX File Name | TPM.admx | + -
+ + + - -**Security/PreventAutomaticDeviceEncryptionForAzureADJoinedDevices** + - + +## ConfigureWindowsPasswords -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|No|No| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1803 [10.0.17134] and later | + - -
+ +```Device +./Device/Vendor/MSFT/Policy/Config/Security/ConfigureWindowsPasswords +``` + - -[Scope](./policy-configuration-service-provider.md#policy-scope): + + +Configures the use of passwords for Windows features + -> [!div class = "checklist"] -> * Device + + + -
+ +**Description framework properties**: - - +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 2 | + -Added in Windows 10, version 1607 to replace the deprecated policy **Security/AllowAutomaticDeviceEncryptionForAzureADJoinedDevices**. + +**Allowed values**: -Specifies whether to allow automatic [device encryption](/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10#bitlocker-device-encryption) during OOBE when the device is Azure AD joined. +| Value | Description | +|:--|:--| +| 0 | -Disallow passwords (Asymmetric credentials will be promoted to replace passwords on Windows features) | +| 1 | Allow passwords (Passwords continue to be allowed to be used for Windows features) | +| 2 (Default) | as per SKU and device capabilities. Windows 10 S devices will exhibit "Disallow passwords" default, and all other devices will default to "Allow passwords") | + - - -The following list shows the supported values: + + + -- 0 (default) – Encryption enabled. -- 1 – Encryption disabled. + - - + +## PreventAutomaticDeviceEncryptionForAzureADJoinedDevices -
+ +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1607 [10.0.14393] and later | + - -**Security/RecoveryEnvironmentAuthentication** + +```Device +./Device/Vendor/MSFT/Policy/Config/Security/PreventAutomaticDeviceEncryptionForAzureADJoinedDevices +``` + - + + +Specifies whether to allow automatic device encryption during OOBE when the device is Azure AD joined. + -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|No|No| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + + - -
+For more information, see [BitLocker Device Encryption](/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10#bitlocker-device-encryption) - -[Scope](./policy-configuration-service-provider.md#policy-scope): + -> [!div class = "checklist"] -> * User -> * Device + +**Description framework properties**: -
+| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + - - -This policy controls the Admin Authentication requirement in RecoveryEnvironment. + +**Allowed values**: -Supported values: +| Value | Description | +|:--|:--| +| 0 (Default) | Encryption enabled. | +| 1 | Encryption disabled. | + -- 0 - Default: Keep using default(current) behavior. -- 1 - RequireAuthentication: Admin Authentication is always required for components in RecoveryEnvironment. -- 2 - NoRequireAuthentication: Admin Authentication isn't required for components in RecoveryEnvironment. + + + - - + - - + +## RecoveryEnvironmentAuthentication + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:heavy_check_mark: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1809 [10.0.17763] and later | + + + +```User +./User/Vendor/MSFT/Policy/Config/Security/RecoveryEnvironmentAuthentication +``` + +```Device +./Device/Vendor/MSFT/Policy/Config/Security/RecoveryEnvironmentAuthentication +``` + + + + +This policy controls the requirement of Admin Authentication in RecoveryEnvironment. + + + + - - **Validation procedure** -The validation requires a check whether Refresh ("Keep my files") and Reset ("Remove everything") requires admin authentication in WinRE. -The process of starting Push Button Reset (PBR) in WinRE: +To validate this policy, check whether Refresh ("Keep my files") and Reset ("Remove everything") require administraor authentication in Windows Recovery Environment (WinRE). -1. Open a cmd as Administrator, run command "reagentc /boottore" and restart the OS to boot to WinRE. -1. OS should boot to the blue screen of WinRE UI, go through TroubleShoot -> Reset this PC, it should show two options: "Keep my files" and "Remove everything". +1. First, start Push Button Reset (PBR) in WinRE. Open a command prompt as an administrator and run the following command: `reagentc /boottore` +1. The device should restart to WinRE. In the WinRE interface, go to **Troubleshoot** and select **Reset this PC**. You should see two options: **Keep my files** and **Remove everything**. +1. Choose the option to **Keep my files**. View the behavior for authentication. +1. Select the back arrow and choose **Remove everything**. View the behavior for authentication. -If the MDM policy is set to "Default" (0) or doesn't exist, the admin authentication flow should work as default behavior: + Instead of going back, alternatively you can go through the reset options, and select **Cancel** on the final confirmation page. It will then return to the main WinRE interface. -1. Start PBR in WinRE, choose "Keep my files", it should pop up admin authentication. -1. Click "<-" (right arrow) button and choose "Remove everything", it shouldn't pop up admin authentication and just go to PBR options. +The following table shows what behavior is expected for the policy settings with each scenario: -If the MDM policy is set to "RequireAuthentication" (1) +- :heavy_check_mark: It prompts for authentication. +- :x: No authentication required, and it continues with the reset options. -1. Start PBR in WinRE, choose "Keep my files", it should pop up admin authentication. -1. Click "<-" (right arrow) button and choose "Remove everything", it should also pop up admin authentication. +| Policy | **Keep my files** | **Remove everything** | +|--------------------------------|--------------------|-----------------------| +| Default (`0`) | :heavy_check_mark: | :x: | +| RequireAuthentication" (`1`) | :heavy_check_mark: | :heavy_check_mark: | +| NoRequireAuthentication" (`2`) | :x: | :x: | -If the MDM policy is set to "NoRequireAuthentication" (2) + -1. Start PBR in WinRE, choose "Keep my files", it shouldn't pop up admin authentication. -1. Go through PBR options and click "cancel" at final confirmation page, wait unit the UI is back. -1. Click "TroubleShoot" -> "Reset this PC" again, choose "Remove everything", it shouldn't pop up admin authentication neither. + +**Description framework properties**: - - +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + -
+ +**Allowed values**: - -**Security/RequireDeviceEncryption** +| Value | Description | +|:--|:--| +| 0 (Default) | current) behavior | +| 1 | RequireAuthentication: Admin Authentication is always required for components in RecoveryEnvironment | +| 2 | NoRequireAuthentication: Admin Authentication is not required for components in RecoveryEnvironment | + - + + + -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|Yes|Yes| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + - -
+ +## RequireDeviceEncryption - -[Scope](./policy-configuration-service-provider.md#policy-scope): + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1607 [10.0.14393] and later | + -> [!div class = "checklist"] -> * Device + +```Device +./Device/Vendor/MSFT/Policy/Config/Security/RequireDeviceEncryption +``` + -
+ + +Allows enterprise to turn on internal storage encryption. Most restricted value is 1. - - -Allows enterprise to turn on internal storage encryption. +**Important**: If encryption has been enabled, it cannot be turned off by using this policy. + -Most restricted value is 1. + + + -> [!IMPORTANT] -> If encryption has been enabled, it cannot be turned off by using this policy. + +**Description framework properties**: - - -The following list shows the supported values: +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + -- 0 (default) – Encryption isn't required. -- 1 – Encryption is required. + +**Allowed values**: - - +| Value | Description | +|:--|:--| +| 0 (Default) | Encryption is not required. | +| 1 | Encryption is required. | + -
+ + + - -**Security/RequireProvisioningPackageSignature** + - + +## RequireProvisioningPackageSignature -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|No|No| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1507 [10.0.10240] and later | + - -
+ +```Device +./Device/Vendor/MSFT/Policy/Config/Security/RequireProvisioningPackageSignature +``` + - -[Scope](./policy-configuration-service-provider.md#policy-scope): - -> [!div class = "checklist"] -> * Device - -
- - - + + Specifies whether provisioning packages must have a certificate signed by a device trusted authority. + - - -The following list shows the supported values: + + + -- 0 (default) – Not required. -- 1 – Required. + +**Description framework properties**: - - +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + -
+ +**Allowed values**: - -**Security/RequireRetrieveHealthCertificateOnBoot** +| Value | Description | +|:--|:--| +| 0 (Default) | Not required. | +| 1 | Required. | + - + + + -|Edition|Windows 10|Windows 11| -|--- |--- |--- | -|Home|Yes|Yes| -|Pro|Yes|Yes| -|Windows SE|No|Yes| -|Business|Yes|Yes| -|Enterprise|Yes|Yes| -|Education|Yes|Yes| + - -
+ +## RequireRetrieveHealthCertificateOnBoot - -[Scope](./policy-configuration-service-provider.md#policy-scope): + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| :heavy_check_mark: Device
:x: User | :x: Home
:heavy_check_mark: Pro
:heavy_check_mark: Enterprise
:heavy_check_mark: Education
:heavy_check_mark: Windows SE | :heavy_check_mark: Windows 10, version 1507 [10.0.10240] and later | + -> [!div class = "checklist"] -> * Device + +```Device +./Device/Vendor/MSFT/Policy/Config/Security/RequireRetrieveHealthCertificateOnBoot +``` + -
+ + +Specifies whether to retrieve and post TCG Boot logs, and get or cache an encrypted or signed Health Attestation Report from the Microsoft Health Attestation Service (HAS) when a device boots or reboots. Setting this policy to 1 (Required):Determines whether a device is capable of Remote Device Health Attestation, by verifying if the device has TPM 2. 0. Improves the performance of the device by enabling the device to fetch and cache data to reduce the latency during Device Health Verification. - - -Specifies whether to retrieve and post TCG Boot logs, and get or cache an encrypted or signed Health Attestation Report from the Microsoft Health Attestation Service (HAS), when a device boots or reboots. +**Note**: We recommend that this policy is set to Required after MDM enrollment. Most restricted value is 1. + -Setting this policy to 1 (Required): + + + -- Determines whether a device is capable of Remote Device Health Attestation, by verifying if the device has TPM 2.0. -- Improves the performance of the device by enabling the device to fetch and cache data to reduce the latency during Device Health Verification. + +**Description framework properties**: -> [!NOTE] -> We recommend that this policy is set to Required after MDM enrollment. +| Property name | Property value | +|:--|:--| +| Format | int | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + -Most restricted value is 1. + +**Allowed values**: - - -The following list shows the supported values: +| Value | Description | +|:--|:--| +| 0 (Default) | Not required. | +| 1 | Required. | + -- 0 (default) – Not required. -- 1 – Required. + + + - - -
+ + + + - + -## Related topics +## Related articles -[Policy configuration service provider](policy-configuration-service-provider.md) \ No newline at end of file +[Policy configuration service provider](policy-configuration-service-provider.md)