From ceba5d7b6db2d3819f521d4ce6932c4c3bee7537 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 09:54:39 +0530 Subject: [PATCH 001/150] First set of pages for Linux Copied from Mac --- ...oft-defender-atp-linux-install-manually.md | 185 ++++++ ...defender-atp-linux-install-with-ansible.md | 259 ++++++++ ...atp-linux-install-with-other-configtool.md | 79 +++ ...-defender-atp-linux-install-with-puppet.md | 253 +++++++ ...icrosoft-defender-atp-linux-preferences.md | 623 ++++++++++++++++++ .../microsoft-defender-atp-linux-privacy.md | 277 ++++++++ .../microsoft-defender-atp-linux-pua.md | 66 ++ .../microsoft-defender-atp-linux-resources.md | 118 ++++ .../microsoft-defender-atp-linux-updates.md | 219 ++++++ .../microsoft-defender-atp-linux.md | 113 ++++ 10 files changed, 2192 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md new file mode 100644 index 0000000000..bed05f108c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -0,0 +1,185 @@ +--- +title: Installing Microsoft Defender ATP for Mac manually +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Mac manually, from the command line. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Manual deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +This topic describes how to deploy Microsoft Defender ATP for Mac manually. A successful deployment requires the completion of all of the following steps: +- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Application installation](#application-installation) +- [Client configuration](#client-configuration) + +## Prerequisites and system requirements + +Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +## Download installation and onboarding packages + +Download the installation and onboarding packages from Windows Defender Security Center: + +1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. +3. In Section 2 of the page, select **Download installation package**. Save it as wdav.pkg to a local directory. +4. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. + + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) + +5. From a command prompt, verify that you have the two files. + Extract the contents of the .zip files: + + ```bash + $ ls -l + total 721152 + -rw-r--r-- 1 test staff 6185 Mar 15 10:45 WindowsDefenderATPOnboardingPackage.zip + -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + inflating: WindowsDefenderATPOnboarding.py + ``` + +## Application installation + +To complete this process, you must have admin privileges on the machine. + +1. Navigate to the downloaded wdav.pkg in Finder and open it. + + ![App install screenshot](images/MDATP_28_AppInstall.png) + +2. Select **Continue**, agree with the License terms, and enter the password when prompted. + + ![App install screenshot](images/MDATP_29_AppInstallLogin.png) + + > [!IMPORTANT] + > You will be prompted to allow a driver from Microsoft to be installed (either "System Exception Blocked" or "Installation is on hold" or both. The driver must be allowed to be installed. + + ![App install screenshot](images/MDATP_30_SystemExtension.png) + +3. Select **Open Security Preferences** or **Open System Preferences > Security & Privacy**. Select **Allow**: + + ![Security and privacy window screenshot](images/MDATP_31_SecurityPrivacySettings.png) + +The installation proceeds. + +> [!NOTE] +> If you don't select **Allow**, the installation will proceed after 5 minutes. Defender ATP will be loaded, but real-time protection will be disabled. + +> [!NOTE] +> macOS may request to reboot the machine upon the first installation of Microsoft Defender. Real-Time Protection will not be available until the machine is rebooted. + +### Fixing disabled Real-Time Protection + +If you did not enable Microsoft's driver during installation, then the application displays a banner prompting you to enable it: + + ![RTP disabled screenshot](images/MDATP_32_Main_App_Fix.png) + +You can also run ```mdatp --health```. It reports if Real-Time Protection is enabled but not available: + +```bash +$ mdatp --health +... +realTimeProtectionAvailable : false +realTimeProtectionEnabled : true +... +``` + +> [!NOTE] +> You have a 30 minute window to enable Real-Time Protection from the warning banner, immediately following installation. + +The warning banner contains a **Fix** button, which allows you to quickly enable Real-Time Protection, without having to open a command prompt. Select the **Fix** button. It prompts the **Security & Privacy** system window, where you have to **Allow** system software from developers "Microsoft Corporation". + +If you don't see a prompt, it means that 30 or more minutes have already passed, and Real-Time Protection has still not been enabled: + +![Security and privacy window after prompt expired screenshot](images/MDATP_33_SecurityPrivacySettings_NoPrompt.png) + +In this case, you need to perform the following steps to enable Real-Time Protection instead. + +1. In Terminal, attempt to install the driver. (The operation will fail) + ```bash + $ sudo kextutil /Library/Extensions/wdavkext.kext + Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } + Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } + Diagnostics for /Library/Extensions/wdavkext.kext: + ``` + +2. Open **System Preferences...** > **Security & Privacy** from the menu. (Close it first, if it's opened.) + +3. **Allow** system software from developers "Microsoft Corporation" + +4. In Terminal, install the driver again. This time the operation will succeed: + +```bash +$ sudo kextutil /Library/Extensions/wdavkext.kext +``` + +The banner should disappear from the Defender application, and ```mdatp --health``` should now report that Real-Time Protection is both enabled and available: + +```bash +$ mdatp --health +... +realTimeProtectionAvailable : true +realTimeProtectionEnabled : true +... +``` + +## Client configuration + +1. Copy wdav.pkg and WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Mac. + + The client machine is not associated with orgId. Note that the *orgId* attribute is blank. + + ```bash + $ mdatp --health orgId + ``` + +2. Run the Python script to install the configuration file: + + ```bash + $ /usr/bin/python WindowsDefenderATPOnboarding.py + Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudos password) + ``` + +3. Verify that the machine is now associated with your organization and reports a valid *orgId*: + + ```bash + $ mdatp --health orgId + E6875323-A6C0-4C60-87AD-114BBE7439B8 + ``` + +After installation, you'll see the Microsoft Defender icon in the macOS status bar in the top-right corner. + + ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) + +## How to Allow Full Disk Access + +> [!CAUTION] +> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. + +To grant consent, open System Preferences -> Security & Privacy -> Privacy -> Full Disk Access. Click the lock icon to make changes (bottom of the dialog box). Select Microsoft Defender ATP. + +## Logging installation issues + +See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. + +## Uninstallation + +See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md new file mode 100644 index 0000000000..84088ccd42 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md @@ -0,0 +1,259 @@ +--- +title: Installing Microsoft Defender ATP for Mac with JAMF +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Mac, using JAMF. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# JAMF-based deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +This topic describes how to deploy Microsoft Defender ATP for Mac through JAMF. A successful deployment requires the completion of all of the following steps: +- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Create JAMF policies](#create-jamf-policies) +- [Client device setup](#client-device-setup) +- [Deployment](#deployment) +- [Check onboarding status](#check-onboarding-status) + +## Prerequisites and system requirements + +Before you get started, please see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +In addition, for JAMF deployment, you need to be familiar with JAMF administration tasks, have a JAMF tenant, and know how to deploy packages. This includes having a properly configured distribution point. JAMF has many ways to complete the same task. These instructions provide an example for most common processes. Your organization might use a different workflow. + +## Download installation and onboarding packages + +Download the installation and onboarding packages from Windows Defender Security Center: + +1. In Windows Defender Security Center, go to **Settings > device Management > Onboarding**. +2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS or Android** and deployment method to **Mobile Device Management / Microsoft Intune**. +3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. +4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. + + ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) + +5. From the command prompt, verify that you have the two files. Extract the contents of the .zip files like so: + + ```bash + $ ls -l + total 721160 + -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip + -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators + inflating: intune/kext.xml + inflating: intune/WindowsDefenderATPOnboarding.xml + inflating: jamf/WindowsDefenderATPOnboarding.plist + ``` + +## Create JAMF policies + +You need to create a configuration profile and a policy to start deploying Microsoft Defender ATP for Mac to client devices. + +### Configuration Profile + +The configuration profile contains a custom settings payload that includes: + +- Microsoft Defender ATP for Mac onboarding information +- Approved Kernel Extensions payload, to enable running the Microsoft kernel driver + +To set the onboarding information, add a property list file with the name, _jamf/WindowsDefenderATPOnboarding.plist_, as a custom setting. You can do this by navigating to **Computers**>**Configuration Profiles**, selecting **New**, then choosing **Custom Settings**>**Configure**. From there, you can upload the property list. + + >[!IMPORTANT] + > You must set the Preference Domain as "com.microsoft.wdav.atp" + +![Configuration profile screenshot](images/MDATP_16_PreferenceDomain.png) + +### Approved Kernel Extension + +To approve the kernel extension: + +1. In **Computers > Configuration Profiles** select **Options > Approved Kernel Extensions**. +2. Use **UBF8T346G9** for Team Id. + +![Approved kernel extensions screenshot](images/MDATP_17_approvedKernelExtensions.png) + +### Privacy Preferences Policy Control + +> [!CAUTION] +> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. +> +> If you previously configured Microsoft Defender ATP through JAMF, we recommend applying the following configuration. + +Add the following JAMF policy to grant Full Disk Access to Microsoft Defender ATP. + +1. Select **Options > Privacy Preferences Policy Control**. +2. Use any identifier and identifier type = Bundle. +3. Set Code Requirement to `identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9`. +4. Set app or service to SystemPolicyAllFiles and access to Allow. + +![Privacy Preferences Policy Control](images/MDATP_35_JAMF_PrivacyPreferences.png) + +#### Configuration Profile's Scope + +Configure the appropriate scope to specify the devices that will receive the configuration profile. + +Open **Computers** > **Configuration Profiles**, and select **Scope > Targets**. From there, select the devices you want to target. + +![Configuration profile scope screenshot](images/MDATP_18_ConfigurationProfilesScope.png) + +Save the **Configuration Profile**. + +Use the **Logs** tab to monitor deployment status for each enrolled device. + +### Package + +1. Create a package in **Settings > Computer Management > Packages**. + + ![Computer management packages screenshot](images/MDATP_19_MicrosoftDefenderWDAVPKG.png) + +2. Upload the package to the Distribution Point. +3. In the **filename** field, enter the name of the package. For example, _wdav.pkg_. + +### Policy + +Your policy should contain a single package for Microsoft Defender. + +![Microsoft Defender packages screenshot](images/MDATP_20_MicrosoftDefenderPackages.png) + +Configure the appropriate scope to specify the computers that will receive this policy. + +After you save the Configuration Profile, you can use the Logs tab to monitor the deployment status for each enrolled device. + +## Client device setup + +You'll need no special provisioning for a macOS computer, beyond the standard JAMF Enrollment. + +> [!NOTE] +> After a computer is enrolled, it will show up in the Computers inventory (All Computers). + +1. Open **Device Profiles**, from the **General** tab, and make sure that **User Approved MDM** is set to **Yes**. If it's currently set to No, the user needs to open **System Preferences > Profiles** and select **Approve** on the MDM Profile. + +![MDM approve button screenshot](images/MDATP_21_MDMProfile1.png) +![MDM screenshot](images/MDATP_22_MDMProfileApproved.png) + +After a moment, the device's User Approved MDM status will change to **Yes**. + +![MDM status screenshot](images/MDATP_23_MDMStatus.png) + +You may now enroll additional devices. You may also enroll them later, after you have finished provisioning system configuration and application packages. + +## Deployment + +Enrolled client devices periodically poll the JAMF Server, and install new configuration profiles and policies as soon as they are detected. + +### Status on the server + +You can monitor deployment status in the **Logs** tab: + +- **Pending** means that the deployment is scheduled but has not yet happened +- **Completed** means that the deployment succeeded and is no longer scheduled + +![Status on server screenshot](images/MDATP_24_StatusOnServer.png) + +### Status on client device + +After the Configuration Profile is deployed, you'll see the profile for the device in **System Preferences** > **Profiles >**. + +![Status on client screenshot](images/MDATP_25_StatusOnClient.png) + +Once the policy is applied, you'll see the Microsoft Defender ATP icon in the macOS status bar in the top-right corner. + +![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) + +You can monitor policy installation on a device by following the JAMF log file: + +```bash + $ tail -f /var/log/jamf.log + Thu Feb 21 11:11:41 mavel-mojave jamf[7960]: No patch policies were found. + Thu Feb 21 11:16:41 mavel-mojave jamf[8051]: Checking for policies triggered by "recurring check-in" for user "testuser"... + Thu Feb 21 11:16:43 mavel-mojave jamf[8051]: Executing Policy WDAV + Thu Feb 21 11:17:02 mavel-mojave jamf[8051]: Installing Microsoft Defender... + Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Successfully installed Microsoft Defender. + Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Checking for patches... + Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: No patch policies were found. +``` + +You can also check the onboarding status: + +```bash +$ mdatp --health +... +licensed : true +orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" +... +``` + +- **licensed**: This confirms that the device has an ATP license. + +- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. + +## Check onboarding status + +You can check that devices have been correctly onboarded by creating a script. For example, the following script checks enrolled devices for onboarding status: + +```bash +$ mdatp --health healthy +``` + +The above command prints "1" if the product is onboarded and functioning as expected. + +If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: +- 1 if the device is not yet onboarded +- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running + +## Logging installation issues + +See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. + +## Uninstallation + +This method is based on the script described in [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling). + +### Script + +Create a script in **Settings > Computer Management > Scripts**. + +This script removes Microsoft Defender ATP from the /Applications directory: + +```bash + #!/bin/bash + + echo "Is WDAV installed?" + ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null + + echo "Uninstalling WDAV..." + rm -rf '/Applications/Microsoft Defender ATP.app' + + echo "Is WDAV still installed?" + ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null + + echo "Done!" +``` + +![Microsoft Defender uninstall screenshot](images/MDATP_26_Uninstall.png) + +### Policy + +Your policy should contain a single script: + +![Microsoft Defender uninstall script screenshot](images/MDATP_27_UninstallScript.png) + +Configure the appropriate scope in the **Scope** tab to specify the machines that will receive this policy. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md new file mode 100644 index 0000000000..91a5f56395 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md @@ -0,0 +1,79 @@ +--- +title: Installing Microsoft Defender ATP for Mac with different MDM product +description: Describes how to install Microsoft Defender ATP for Mac on other management solutions. +keywords: microsoft, defender, atp, mac, installation, deploy, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: mavel +author: maximvelichko +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Deployment with a different Mobile Device Management (MDM) system + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +## Prerequisites and system requirements + +Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +## Approach + +> [!CAUTION] +> Currently, Microsoft oficially supports only Intune and JAMF for the deployment and management of Microsoft Defender ATP for Mac. Microsoft makes no warranties, express or implied, with respect to the information provided below. + +If your organization uses a Mobile Device Management (MDM) solution that is not officially supported, this does not mean you are unable to deploy or run Microsoft Defender ATP for Mac. + +Microsoft Defender ATP for Mac does not depend on any vendor-specific features. It can be used with any MDM solution that supports the following features: + +- Deploy a macOS .pkg to managed machines. +- Deploy macOS system configuration profiles to managed machines. +- Run an arbitrary admin-configured tool/script on managed machines. + +Most modern MDM solutions include these features, however, they may call them differently. + +You can deploy Defender without the last requirement from the preceding list, however: + +- You will not be able to collect status in a centralized way +- If you decide to uninstall Defender, you will need to logon to the client machine locally as an administrator + +## Deployment + +Most MDM solutions use the same model for managing macOS machines, with similar terminology. Use [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) as a template. + +### Package + +Configure deployment of a [required application package](microsoft-defender-atp-mac-install-with-jamf.md#package), +with the installation package (wdav.pkg) downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). + +In order to deploy the package to your enterprise, use the instructions associated with your MDM solution. + +### License settings + +Set up [a system configuration profile](microsoft-defender-atp-mac-install-with-jamf.md#configuration-profile). +Your MDM solution may call it something like "Custom Settings Profile", as Microsoft Defender ATP for Mac is not part of macOS. + +Use the property list, jamf/WindowsDefenderATPOnboarding.plist, which can be extracted from an onboarding package downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). +Your system may support an arbitrary property list in XML format. You can upload the jamf/WindowsDefenderATPOnboarding.plist file as-is in that case. +Alternatively, it may require you to convert the property list to a different format first. + +Typically, your custom profile has an id, name, or domain attribute. You must use exactly "com.microsoft.wdav.atp" for this value. +MDM uses it to deploy the settings file to **/Library/Managed Preferences/com.microsoft.wdav.atp.plist** on a client machine, and Defender uses this file for loading the onboarding information. + +### Kernel extension policy + +Set up a KEXT or kernel extension policy. Use team identifier **UBF8T346G9** to whitelist kernel extensions provided by Microsoft. + +## Check installation status + +Run [mdatp](microsoft-defender-atp-mac-install-with-jamf.md#check-onboarding-status) on a client machine to check the onboarding status. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md new file mode 100644 index 0000000000..7a0f0c27d6 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -0,0 +1,253 @@ +--- +title: Installing Microsoft Defender ATP for Mac with Microsoft Intune +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Mac, using Microsoft Intune. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Microsoft Intune-based deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +This topic describes how to deploy Microsoft Defender ATP for Mac through Intune. A successful deployment requires the completion of all of the following steps: +- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Client device setup](#client-device-setup) +- [Create System Configuration profiles](#create-system-configuration-profiles) +- [Publish application](#publish-application) + +## Prerequisites and system requirements + +Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +## Download installation and onboarding packages + +Download the installation and onboarding packages from Microsoft Defender Security Center: + +1. In Microsoft Defender Security Center, go to **Settings** > **Device Management** > **Onboarding**. +2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS, or Android** and the deployment method to **Mobile Device Management / Microsoft Intune**. +3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. +4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. +5. Download **IntuneAppUtil** from [https://docs.microsoft.com/intune/lob-apps-macos](https://docs.microsoft.com/intune/lob-apps-macos). + + ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) + +6. From a command prompt, verify that you have the three files. + Extract the contents of the .zip files: + + ```bash + $ ls -l + total 721688 + -rw-r--r-- 1 test staff 269280 Mar 15 11:25 IntuneAppUtil + -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip + -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators + inflating: intune/kext.xml + inflating: intune/WindowsDefenderATPOnboarding.xml + inflating: jamf/WindowsDefenderATPOnboarding.plist + ``` + +7. Make IntuneAppUtil an executable: + + ```bash + $ chmod +x IntuneAppUtil + ``` + +8. Create the wdav.pkg.intunemac package from wdav.pkg: + + ```bash + $ ./IntuneAppUtil -c wdav.pkg -o . -i "com.microsoft.wdav" -n "1.0.0" + Microsoft Intune Application Utility for Mac OS X + Version: 1.0.0.0 + Copyright 2018 Microsoft Corporation + + Creating intunemac file for /Users/test/Downloads/wdav.pkg + Composing the intunemac file output + Output written to ./wdav.pkg.intunemac. + + IntuneAppUtil successfully processed "wdav.pkg", + to deploy refer to the product documentation. + ``` + +## Client device setup + +You need no special provisioning for a Mac device beyond a standard [Company Portal installation](https://docs.microsoft.com/intune-user-help/enroll-your-device-in-intune-macos-cp). + +1. You are asked to confirm device management. + +![Confirm device management screenshot](images/MDATP_3_ConfirmDeviceMgmt.png) + +Select **Open System Preferences**, locate **Management Profile** on the list, and select **Approve...**. Your Management Profile would be displayed as **Verified**: + +![Management profile screenshot](images/MDATP_4_ManagementProfile.png) + +2. Select **Continue** and complete the enrollment. + +You may now enroll more devices. You can also enroll them later, after you have finished provisioning system configuration and application packages. + +3. In Intune, open **Manage** > **Devices** > **All devices**. Here you can see your device among those listed: + +![Add Devices screenshot](images/MDATP_5_allDevices.png) + +## Create System Configuration profiles + +1. In Intune, open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. +2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select **Configure**. +3. Open the configuration profile and upload intune/kext.xml. This file was created in one of the preceding sections. +4. Select **OK**. + + ![System configuration profiles screenshot](images/MDATP_6_SystemConfigurationProfiles.png) + +5. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. +6. Repeat steps 1 through 5 for more profiles. +7. Create another profile, give it a name, and upload the intune/WindowsDefenderATPOnboarding.xml file. +8. Create tcc.xml file with content below. Create another profile, give it any name and upload this file to it. + + > [!CAUTION] + > macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. + > + > The following configuration profile grants Full Disk Access to Microsoft Defender ATP. If you previously configured Microsoft Defender ATP through Intune, we recommend you update the deployment with this configuration profile. + + ```xml + + + + + PayloadDescription + Allows Microsoft Defender to access all files on Catalina+ + PayloadDisplayName + TCC - Microsoft Defender + PayloadIdentifier + com.microsoft.wdav.tcc + PayloadOrganization + Microsoft Corp. + PayloadRemovalDisallowed + + PayloadScope + system + PayloadType + Configuration + PayloadUUID + C234DF2E-DFF6-11E9-B279-001C4299FB44 + PayloadVersion + 1 + PayloadContent + + + PayloadDescription + Allows Microsoft Defender to access all files on Catalina+ + PayloadDisplayName + TCC - Microsoft Defender + PayloadIdentifier + com.microsoft.wdav.tcc.C233A5E6-DFF6-11E9-BDAD-001C4299FB44 + PayloadOrganization + Microsoft Corp. + PayloadType + com.apple.TCC.configuration-profile-policy + PayloadUUID + C233A5E6-DFF6-11E9-BDAD-001C4299FB44 + PayloadVersion + 1 + Services + + SystemPolicyAllFiles + + + Allowed + + CodeRequirement + identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9 + Comment + Allow SystemPolicyAllFiles control for Microsoft Defender ATP + Identifier + com.microsoft.wdav + IdentifierType + bundleID + + + + + + + + ``` + +9. Select **Manage > Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. + +Once the Intune changes are propagated to the enrolled devices, you can see them listed under **Monitor** > **Device status**: + +![System configuration profiles screenshot](images/MDATP_7_DeviceStatusBlade.png) + +## Publish application + +1. In Intune, open the **Manage > Client apps** blade. Select **Apps > Add**. +2. Select **App type=Other/Line-of-business app**. +3. Select **file=wdav.pkg.intunemac**. Select **OK** to upload. +4. Select **Configure** and add the required information. +5. Use **macOS Sierra 10.12** as the minimum OS and set *Ignore app version* to **Yes**. Other settings can be any arbitrary value. + + > [!CAUTION] + > Failure to set *Ignore app version* to **Yes** impacts the ability of the application to receive updates through Microsoft AutoUpdate. See [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) for additional information about how the product is updated. + + ![Device status blade screenshot](images/MDATP_8_IntuneAppInfo.png) + +6. Select **OK** and **Add**. + + ![Device status blade screenshot](images/MDATP_9_IntunePkgInfo.png) + +7. It may take a few moments to upload the package. After it's done, select the package from the list and go to **Assignments** and **Add group**. + + ![Client apps screenshot](images/MDATP_10_ClientApps.png) + +8. Change **Assignment type** to **Required**. +9. Select **Included Groups**. Select **Make this app required for all devices=Yes**. Click **Select group to include** and add a group that contains the users you want to target. Select **OK** and **Save**. + + ![Intune assignments info screenshot](images/MDATP_11_Assignments.png) + +10. After some time the application will be published to all enrolled devices. You can see it listed in **Monitor** > **Device**, under **Device install status**: + + ![Intune device status screenshot](images/MDATP_12_DeviceInstall.png) + +## Verify client device state + +1. After the configuration profiles are deployed to your devices, open **System Preferences** > **Profiles** on your Mac device. + + ![System Preferences screenshot](images/MDATP_13_SystemPreferences.png) + ![System Preferences Profiles screenshot](images/MDATP_14_SystemPreferencesProfiles.png) + +2. Verify that the following configuration profiles are present and installed. The **Management Profile** should be the Intune system profile. _Wdav-config_ and _wdav-kext_ are system configuration profiles that were added in Intune: + ![Profiles screenshot](images/MDATP_15_ManagementProfileConfig.png) + +3. You should also see the Microsoft Defender icon in the top-right corner: + + ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) + +## Troubleshooting + +Issue: No license found + +Solution: Follow the steps above to create a device profile using WindowsDefenderATPOnboarding.xml + +## Logging installation issues + +For more information on how to find the automatically generated log that is created by the installer when an error occurs, see [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) . + +## Uninstallation + +See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md new file mode 100644 index 0000000000..80ec6a0f67 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -0,0 +1,623 @@ +--- +title: Set preferences for Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes how to configure Microsoft Defender ATP for Mac in enterprises. +keywords: microsoft, defender, atp, mac, management, preferences, enterprise, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Set preferences for Microsoft Defender ATP for Mac + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +>[!IMPORTANT] +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Mac in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-mac-resources.md#configuring-from-the-command-line) page. + +In enterprise environments, Microsoft Defender ATP for Mac can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. + +This topic describes the structure of this profile (including a recommended profile that you can use to get started) and instructions for how to deploy the profile. + +## Configuration profile structure + +The configuration profile is a .plist file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. + +>[!CAUTION] +>The layout of the configuration profile depends on the management console that you are using. The following sections contain examples of configuration profiles for JAMF and Intune. + +The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. + +### Antivirus engine preferences + +The *antivirusEngine* section of the configuration profile is used to manage the preferences of the antivirus component of the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | antivirusEngine | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +#### Enable / disable real-time protection + +Whether real-time protection (scan files as they are accessed) is enabled or not. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | enableRealTimeProtection | +| **Data type** | Boolean | +| **Possible values** | true (default)
false | + +#### Enable / disable passive mode + +Whether the antivirus engine runs in passive mode or not. In passive mode: +- Real-time protection is turned off +- On-demand scanning is turned on +- Automatic threat remediation is turned off +- Security intelligence updates are turned on +- Status menu icon is hidden + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | passiveMode | +| **Data type** | Boolean | +| **Possible values** | false (default)
true | +| **Comments** | Available in Microsoft Defender ATP version 100.67.60 or higher. | + +#### Scan exclusions + +Entities that have been excluded from the scan. Exclusions can be specified by full paths, extensions, or file names. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | exclusions | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +**Type of exclusion** + +Specifies the type of content excluded from the scan. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | $type | +| **Data type** | String | +| **Possible values** | excludedPath
excludedFileExtension
excludedFileName | + +**Path to excluded content** + +Used to exclude content from the scan by full file path. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | path | +| **Data type** | String | +| **Possible values** | valid paths | +| **Comments** | Applicable only if *$type* is *excludedPath* | + +**Path type (file / directory)** + +Indicates if the *path* property refers to a file or directory. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | isDirectory | +| **Data type** | Boolean | +| **Possible values** | false (default)
true | +| **Comments** | Applicable only if *$type* is *excludedPath* | + +**File extension excluded from the scan** + +Used to exclude content from the scan by file extension. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | extension | +| **Data type** | String | +| **Possible values** | valid file extensions | +| **Comments** | Applicable only if *$type* is *excludedFileExtension* | + +**Name of excluded content** + +Used to exclude content from the scan by file name. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | name | +| **Data type** | String | +| **Possible values** | any string | +| **Comments** | Applicable only if *$type* is *excludedFileName* | + +#### Allowed threats + +List of threats (identified by their name) that are not blocked by the product and are instead allowed to run. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | allowedThreats | +| **Data type** | Array of strings | + +#### Threat type settings + +The *threatTypeSettings* preference in the antivirus engine is used to control how certain threat types are handled by the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | threatTypeSettings | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +**Threat type** + +Type of the threat for which the behavior is configured. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | key | +| **Data type** | String | +| **Possible values** | potentially_unwanted_application
archive_bomb | + +**Action to take** + +Action to take when coming across a threat of the type specified in the preceding section. Can be: + +- **Audit**: your device is not protected against this type of threat, but an entry about the threat is logged. +- **Block**: your device is protected against this type of threat and you are notified in the user interface and the security console. +- **Off**: your device is not protected against this type of threat and nothing is logged. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | value | +| **Data type** | String | +| **Possible values** | audit (default)
block
off | + +### Cloud delivered protection preferences + +The *cloudService* entry in the configuration profile is used to configure the cloud driven protection feature of the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | cloudService | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +#### Enable / disable cloud delivered protection + +Whether cloud delivered protection is enabled on the device or not. To improve the security of your services, we recommend keeping this feature turned on. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | enabled | +| **Data type** | Boolean | +| **Possible values** | true (default)
false | + +#### Diagnostic collection level + +Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, detect, diagnose and fix problems, and also make product improvements. This setting determines the level of diagnostics sent by the product to Microsoft. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | diagnosticLevel | +| **Data type** | String | +| **Possible values** | optional (default)
required | + +#### Enable / disable automatic sample submissions + +Determines whether suspicious samples (that are likely to contain threats) are sent to Microsoft. You are prompted if the submitted file is likely to contain personal information. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | automaticSampleSubmission | +| **Data type** | Boolean | +| **Possible values** | true (default)
false | + +### User interface preferences + +The *userInterface* section of the configuration profile is used to manage the preferences of the user interface of the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | userInterface | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +#### Show / hide status menu icon + +Whether the status menu icon (shown in the top-right corner of the screen) is hidden or not. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | hideStatusMenuIcon | +| **Data type** | Boolean | +| **Possible values** | false (default)
true | + +## Recommended configuration profile + +To get started, we recommend the following configuration profile for your enterprise to take advantage of all protection features that Microsoft Defender ATP provides. + +The following configuration profile will: +- Enable real-time protection (RTP) +- Specify how the following threat types are handled: + - **Potentially unwanted applications (PUA)** are blocked + - **Archive bombs** (file with a high compression rate) are audited to the product logs +- Enable cloud delivered protection +- Enable automatic sample submission + +### JAMF profile + +```XML + + + + + antivirusEngine + + enableRealTimeProtection + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + automaticSampleSubmission + + + + +``` + +### Intune profile + +```XML + + + + + PayloadUUID + C4E6A782-0C8D-44AB-A025-EB893987A295 + PayloadType + Configuration + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.wdav + PayloadDisplayName + Microsoft Defender ATP settings + PayloadDescription + Microsoft Defender ATP configuration settings + PayloadVersion + 1 + PayloadEnabled + + PayloadRemovalDisallowed + + PayloadScope + System + PayloadContent + + + PayloadUUID + 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 + PayloadType + com.microsoft.wdav + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.wdav + PayloadDisplayName + Microsoft Defender ATP configuration settings + PayloadDescription + + PayloadVersion + 1 + PayloadEnabled + + antivirusEngine + + enableRealTimeProtection + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + automaticSampleSubmission + + + + + + +``` + +## Full configuration profile example + +The following configuration profile contains entries for all settings described in this document and can be used for more advanced scenarios where you want more control over the product. + +### JAMF profile + +```XML + + + + + antivirusEngine + + enableRealTimeProtection + + passiveMode + + exclusions + + + $type + excludedPath + isDirectory + + path + /var/log/system.log + + + $type + excludedPath + isDirectory + + path + /home + + + $type + excludedFileExtension + extension + pdf + + + allowedThreats + + EICAR-Test-File (not a virus) + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + diagnosticLevel + optional + automaticSampleSubmission + + + userInterface + + hideStatusMenuIcon + + + + +``` + +### Intune profile + +```XML + + + + + PayloadUUID + C4E6A782-0C8D-44AB-A025-EB893987A295 + PayloadType + Configuration + PayloadOrganization + Microsoft + PayloadIdentifier + C4E6A782-0C8D-44AB-A025-EB893987A295 + PayloadDisplayName + Microsoft Defender ATP settings + PayloadDescription + Microsoft Defender ATP configuration settings + PayloadVersion + 1 + PayloadEnabled + + PayloadRemovalDisallowed + + PayloadScope + System + PayloadContent + + + PayloadUUID + 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 + PayloadType + com.microsoft.wdav + PayloadOrganization + Microsoft + PayloadIdentifier + 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 + PayloadDisplayName + Microsoft Defender ATP configuration settings + PayloadDescription + + PayloadVersion + 1 + PayloadEnabled + + antivirusEngine + + enableRealTimeProtection + + passiveMode + + exclusions + + + $type + excludedPath + isDirectory + + path + /var/log/system.log + + + $type + excludedPath + isDirectory + + path + /home + + + $type + excludedFileExtension + extension + pdf + + + allowedThreats + + EICAR-Test-File (not a virus) + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + diagnosticLevel + optional + automaticSampleSubmission + + + userInterface + + hideStatusMenuIcon + + + + + + +``` + +## Configuration profile deployment + +Once you've built the configuration profile for your enterprise, you can deploy it through the management console that your enterprise is using. The following sections provide instructions on how to deploy this profile using JAMF and Intune. + +### JAMF deployment + +From the JAMF console, open **Computers** > **Configuration Profiles**, navigate to the configuration profile you'd like to use, then select **Custom Settings**. Create an entry with *com.microsoft.wdav* as the preference domain and upload the .plist produced earlier. + +>[!CAUTION] +>You must enter the correct preference domain (*com.microsoft.wdav*), otherwise the preferences will not be recognized by the product. + +### Intune deployment + +1. Open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. + +2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select Configure. + +3. Save the .plist produced earlier as **com.microsoft.wdav.xml**. + +4. Enter **com.microsoft.wdav** as the **custom configuration profile name**. + +5. Open the configuration profile and upload **com.microsoft.wdav.xml**. This file was created in step 3. + +6. Select **OK**. + +7. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. + +>[!CAUTION] +>You must enter the correct custom configuration profile name, otherwise these preferences will not be recognized by the product. + +## Resources + +- [Configuration Profile Reference (Apple developer documentation)](https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md new file mode 100644 index 0000000000..0c56970e6f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md @@ -0,0 +1,277 @@ +--- +title: Privacy for Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Mac. +keywords: microsoft, defender, atp, mac, privacy, diagnostic +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Privacy for Microsoft Defender ATP for Mac + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Mac. + +This topic describes the privacy controls available within the product, how to manage these controls with policy settings and more details on the data events that are collected. + +## Overview of privacy controls in Microsoft Defender ATP for Mac + +This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Mac. + +### Diagnostic data + +Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, detect, diagnose and fix problems, and also make product improvements. + +Some diagnostic data is required, while some diagnostic data is optional. We give you the ability to choose whether to send us required or optional diagnostic data through the use of privacy controls, such as policy settings for organizations. + +There are two levels of diagnostic data for Microsoft Defender ATP client software that you can choose from: + +* **Required**: The minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and performing as expected on the device it’s installed on. + +* **Optional**: Additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and remediate issues. + +By default, both optional and required diagnostic data are sent to Microsoft. + +### Cloud delivered protection data + +Cloud delivered protection is used to provide increased and faster protection with access to the latest protection data in the cloud. + +Enabling the cloud-delivered protection service is optional, however it is highly recommended because it provides important protection against malware on your endpoints and across your network. + +### Sample data + +Sample data is used to improve the protection capabilities of the product, by sending Microsoft suspicious samples so they can be analyzed. Enabling automatic sample submission is optional. + +When this feature is enabled and the sample that is collected is likely to contain personal information, the user is prompted for consent. + +## Manage privacy controls with policy settings + +If you're an IT administrator, you might want to configure these controls at the enterprise level. + +The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). + +As with any new policy settings, you should carefully test them out in a limited, controlled environment to ensure the settings that you configure have the desired effect before you implement the policy settings more widely in your organization. + +## Diagnostic data events + +This section describes what is considered required diagnostic data and what is considered optional diagnostic data, along with a description of the events and fields that are collected. + +### Data fields that are common for all events +There is some information about events that is common to all events, regardless of category or data subtype. + +The following fields are considered common for all events: + +| Field | Description | +| ----------------------- | ----------- | +| platform | The broad classification of the platform on which the app is running. Allows Microsoft to identify on which platforms an issue may be occurring so that it can correctly be prioritized. | +| machine_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | +| sense_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | +| org_id | Unique identifier associated with the enterprise that the device belongs to. Allows Microsoft to identify whether issues are impacting a select set of enterprises and how many enterprises are impacted. | +| hostname | Local machine name (without DNS suffix). Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | +| product_guid | Unique identifier of the product. Allows Microsoft to differentiate issues impacting different flavors of the product. | +| app_version | Version of the Microsoft Defender ATP for Mac application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| +| sig_version | Version of security intelligence database. Allows Microsoft to identify which versions of the security intelligence are showing an issue so that it can correctly be prioritized. | +| supported_compressions | List of compression algorithms supported by the application, for example `['gzip']`. Allows Microsoft to understand what types of compressions can be used when it communicates with the application. | +| release_ring | Ring that the device is associated with (for example Insider Fast, Insider Slow, Production). Allows Microsoft to identify on which release ring an issue may be occurring so that it can correctly be prioritized. | + + +### Required diagnostic data + +**Required diagnostic data** is the minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and perform as expected on the device it’s installed on. + +Required diagnostic data helps to identify problems with Microsoft Defender ATP that may be related to a device or software configuration. For example, it can help determine if a Microsoft Defender ATP feature crashes more frequently on a particular operating system version, with newly introduced features, or when certain Microsoft Defender ATP features are disabled. Required diagnostic data helps Microsoft detect, diagnose, and fix these problems more quickly so the impact to users or organizations is reduced. + +#### Software setup and inventory data events + +**Microsoft Defender ATP installation / uninstallation** + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| correlation_id | Unique identifier associated with the installation. | +| version | Version of the package. | +| severity | Severity of the message (for example Informational). | +| code | Code that describes the operation. | +| text | Additional information associated with the product installation. | + +**Microsoft Defender ATP configuration** + +The following fields are collected: + +| Field | Description | +| --------------------------------------------------- | ----------- | +| antivirus_engine.enable_real_time_protection | Whether real-time protection is enabled on the device or not. | +| antivirus_engine.passive_mode | Whether passive mode is enabled on the device or not. | +| cloud_service.enabled | Whether cloud delivered protection is enabled on the device or not. | +| cloud_service.timeout | Time out when the application communicates with the Microsoft Defender ATP cloud. | +| cloud_service.heartbeat_interval | Interval between consecutive heartbeats sent by the product to the cloud. | +| cloud_service.service_uri | URI used to communicate with the cloud. | +| cloud_service.diagnostic_level | Diagnostic level of the device (required, optional). | +| cloud_service.automatic_sample_submission | Whether automatic sample submission is turned on or not. | +| edr.early_preview | Whether the machine should run EDR early preview features. | +| edr.group_id | Group identifier used by the detection and response component. | +| edr.tags | User-defined tags. | +| features.\[optional feature name\] | List of preview features, along with whether they are enabled or not. | + +#### Product and service performance data events + +**Kernel extension statistics** + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| version | Version of Microsoft Defender ATP for Mac. | +| instance_id | Unique identifier generated on kernel extension startup. | +| trace_level | Trace level of the kernel extension. | +| ipc.connects | Number of connection requests received by the kernel extension. | +| ipc.rejects | Number of connection requests rejected by the kernel extension. | +| ipc.connected | Whether there is any active connection to the kernel extension. | + +#### Support data + +**Diagnostic logs** + +Diagnostic logs are collected only with the consent of the user as part of the feedback submission feature. The following files are collected as part of the support logs: + +- All files under */Library/Logs/Microsoft/mdatp/* +- Subset of files under */Library/Application Support/Microsoft/Defender/* that are created and used by Microsoft Defender ATP for Mac +- Subset of files under */Library/Managed Preferences* that are used by Microsoft Defender ATP for Mac +- /Library/Logs/Microsoft/autoupdate.log +- $HOME/Library/Preferences/com.microsoft.autoupdate2.plist + +### Optional diagnostic data + +**Optional diagnostic data** is additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and fix issues. + +If you choose to send us optional diagnostic data, required diagnostic data is also included. + +Examples of optional diagnostic data include data Microsoft collects about product configuration (for example number of exclusions set on the device) and product performance (aggregate measures about the performance of components of the product). + +#### Software setup and inventory data events + +**Microsoft Defender ATP configuration** + +The following fields are collected: + +| Field | Description | +| -------------------------------------------------- | ----------- | +| connection_retry_timeout | Connection retry time out when communication with the cloud. | +| file_hash_cache_maximum | Size of the product cache. | +| crash_upload_daily_limit | Limit of crash logs uploaded daily. | +| antivirus_engine.exclusions[].is_directory | Whether the exclusion from scanning is a directory or not. | +| antivirus_engine.exclusions[].path | Path that was excluded from scanning. | +| antivirus_engine.exclusions[].extension | Extension excluded from scanning. | +| antivirus_engine.exclusions[].name | Name of the file excluded from scanning. | +| antivirus_engine.scan_cache_maximum | Size of the product cache. | +| antivirus_engine.maximum_scan_threads | Maximum number of threads used for scanning. | +| antivirus_engine.threat_restoration_exclusion_time | Time out before a file restored from the quarantine can be detected again. | +| filesystem_scanner.full_scan_directory | Full scan directory. | +| filesystem_scanner.quick_scan_directories | List of directories used in quick scan. | +| edr.latency_mode | Latency mode used by the detection and response component. | +| edr.proxy_address | Proxy address used by the detection and response component. | + +**Microsoft Auto-Update configuration** + +The following fields are collected: + +| Field | Description | +| --------------------------- | ----------- | +| how_to_check | Determines how product updates are checked (for example automatic or manual). | +| channel_name | Update channel associated with the device. | +| manifest_server | Server used for downloading updates. | +| update_cache | Location of the cache used to store updates. | + +### Product and service usage + +#### Diagnostic log upload started report + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| sha256 | SHA256 identifier of the support log. | +| size | Size of the support log. | +| original_path | Path to the support log (always under */Library/Application Support/Microsoft/Defender/wdavdiag/*). | +| format | Format of the support log. | + +#### Diagnostic log upload completed report + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| request_id | Correlation ID for the support log upload request. | +| sha256 | SHA256 identifier of the support log. | +| blob_sas_uri | URI used by the application to upload the support log. | + +#### Product and service performance data events + +**Unexpected application exit (crash)** + +Unexpected application exits and the state of the application when that happens. + +**Kernel extension statistics** + +The following fields are collected: + +| Field | Description | +| ------------------------------ | ----------- | +| pkt_ack_timeout | The following properties are aggregated numerical values, representing count of events that happened since kernel extension startup. | +| pkt_ack_conn_timeout | | +| ipc.ack_pkts | | +| ipc.nack_pkts | | +| ipc.send.ack_no_conn | | +| ipc.send.nack_no_conn | | +| ipc.send.ack_no_qsq | | +| ipc.send.nack_no_qsq | | +| ipc.ack.no_space | | +| ipc.ack.timeout | | +| ipc.ack.ackd_fast | | +| ipc.ack.ackd | | +| ipc.recv.bad_pkt_len | | +| ipc.recv.bad_reply_len | | +| ipc.recv.no_waiter | | +| ipc.recv.copy_failed | | +| ipc.kauth.vnode.mask | | +| ipc.kauth.vnode.read | | +| ipc.kauth.vnode.write | | +| ipc.kauth.vnode.exec | | +| ipc.kauth.vnode.del | | +| ipc.kauth.vnode.read_attr | | +| ipc.kauth.vnode.write_attr | | +| ipc.kauth.vnode.read_ex_attr | | +| ipc.kauth.vnode.write_ex_attr | | +| ipc.kauth.vnode.read_sec | | +| ipc.kauth.vnode.write_sec | | +| ipc.kauth.vnode.take_own | | +| ipc.kauth.vnode.denied | | +| ipc.kauth.file_op.mask | | +| ipc.kauth_file_op.open | | +| ipc.kauth.file_op.close | | +| ipc.kauth.file_op.close_modified | | +| ipc.kauth.file_op.move | | +| ipc.kauth.file_op.link | | +| ipc.kauth.file_op.exec | | +| ipc.kauth.file_op.remove | | +| ipc.kauth.file_op.fork | | +| ipc.kauth.file_op.create | | + +## Resources + +- [Privacy at Microsoft](https://privacy.microsoft.com/) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md new file mode 100644 index 0000000000..2696590c99 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md @@ -0,0 +1,66 @@ +--- +title: Detect and block potentially unwanted applications +ms.reviewer: +description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Mac. +keywords: microsoft, defender, atp, mac, pua, pus +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Detect and block potentially unwanted applications + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Mac can detect and block PUA files on endpoints in your network. + +These applications are not considered viruses, malware, or other types of threats, but might perform actions on endpoints that adversely affect their performance or use. PUA can also refer to applications that are considered to have poor reputation. + +These applications can increase the risk of your network being infected with malware, cause malware infections to be harder to identify, and can waste IT resources in cleaning up the applications. + +## How it works + +Microsoft Defender ATP for Mac can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. + +When a PUA is detected on an endpoint, Microsoft Defender ATP for Mac presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". + +## Configure PUA protection + +PUA protection in Microsoft Defender ATP for Mac can be configured in one of the following ways: + +- **Off**: PUA protection is disabled. +- **Audit**: PUA files are reported in the product logs, but not in Microsoft Defender Security Center. No notification is presented to the user and no action is taken by the product. +- **Block**: PUA files are reported in the product logs and in Microsoft Defender Security Center. The user is presented with a notification and action is taken by the product. + +>[!WARNING] +>By default, PUA protection is configured in **Audit** mode. + +You can configure how PUA files are handled from the command line or from the management console. + +### Use the command-line tool to configure PUA protection: + +In Terminal, execute the following command to configure PUA protection: + +```bash +$ mdatp --threat --type-handling potentially_unwanted_application [off|audit|block] +``` + +### Use the management console to configure PUA protection: + +In your enterprise, you can configure PUA protection from a management console, such as JAMF or Intune, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-mac-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) topic. + +## Related topics + +- [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md new file mode 100644 index 0000000000..2f67653ec0 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md @@ -0,0 +1,118 @@ +--- +title: Microsoft Defender ATP for Mac Resources +ms.reviewer: +description: Describes resources for Microsoft Defender ATP for Mac, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Resources + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +## Collecting diagnostic information + +If you can reproduce a problem, please increase the logging level, run the system for some time, and restore the logging level to the default. + +1. Increase logging level: + + ```bash + $ mdatp --log-level verbose + Creating connection to daemon + Connection established + Operation succeeded + ``` + +2. Reproduce the problem + +3. Run `sudo mdatp --diagnostic --create` to backup Microsoft Defender ATP's logs. The files will be stored inside of a .zip archive. This command will also print out the file path to the backup after the operation succeeds. + + ```bash + $ sudo mdatp --diagnostic --create + Creating connection to daemon + Connection established + ``` + +4. Restore logging level: + + ```bash + $ mdatp --log-level info + Creating connection to daemon + Connection established + Operation succeeded + ``` + +## Logging installation issues + +If an error occurs during installation, the installer will only report a general failure. + +The detailed log will be saved to /Library/Logs/Microsoft/mdatp/install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. + +## Uninstalling + +There are several ways to uninstall Microsoft Defender ATP for Mac. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. + +### Interactive uninstallation + +- Open **Finder > Applications**. Right click on **Microsoft Defender ATP > Move to Trash**. + +### From the command line + +- ```sudo rm -rf '/Applications/Microsoft Defender ATP'``` + +## Configuring from the command line + +Important tasks, such as controlling product settings and triggering on-demand scans, can be done from the command line: + +|Group |Scenario |Command | +|-------------|-------------------------------------------|-----------------------------------------------------------------------| +|Configuration|Turn on/off real-time protection |`mdatp --config realTimeProtectionEnabled [true/false]` | +|Configuration|Turn on/off cloud protection |`mdatp --config cloudEnabled [true/false]` | +|Configuration|Turn on/off product diagnostics |`mdatp --config cloudDiagnosticEnabled [true/false]` | +|Configuration|Turn on/off automatic sample submission |`mdatp --config cloudAutomaticSampleSubmission [true/false]` | +|Configuration|Turn on PUA protection |`mdatp --threat --type-handling potentially_unwanted_application block`| +|Configuration|Turn off PUA protection |`mdatp --threat --type-handling potentially_unwanted_application off` | +|Configuration|Turn on audit mode for PUA protection |`mdatp --threat --type-handling potentially_unwanted_application audit`| +|Diagnostics |Change the log level |`mdatp --log-level [error/warning/info/verbose]` | +|Diagnostics |Generate diagnostic logs |`mdatp --diagnostic --create` | +|Health |Check the product's health |`mdatp --health` | +|Protection |Scan a path |`mdatp --scan --path [path]` | +|Protection |Do a quick scan |`mdatp --scan --quick` | +|Protection |Do a full scan |`mdatp --scan --full` | +|Protection |Cancel an ongoing on-demand scan |`mdatp --scan --cancel` | +|Protection |Request a security intelligence update |`mdatp --definition-update` | + +## Microsoft Defender ATP portal information + +In the Microsoft Defender ATP portal, you'll see two categories of information: + +- Antivirus alerts, including: + - Severity + - Scan type + - Device information (hostname, machine identifier, tenant identifier, app version, and OS type) + - File information (name, path, size, and hash) + - Threat information (name, type, and state) +- Device information, including: + - Machine identifier + - Tenant identifier + - App version + - Hostname + - OS type + - OS version + - Computer model + - Processor architecture + - Whether the device is a virtual machine diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md new file mode 100644 index 0000000000..50267f26bb --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md @@ -0,0 +1,219 @@ +--- +title: Deploy updates for Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes how to control updates for Microsoft Defender ATP for Mac in enterprise environments. +keywords: microsoft, defender, atp, mac, updates, deploy +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Deploy updates for Microsoft Defender ATP for Mac + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. + +To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. By default, MAU automatically checks for updates daily, but you can change that to weekly, monthly, or manually. + +![MAU screenshot](images/MDATP_34_MAU.png) + +If you decide to deploy updates by using your software distribution tools, you should configure MAU to manually check for software updates. You can deploy preferences to configure how and when MAU checks for updates for the Macs in your organization. + +## Use msupdate + +MAU includes a command-line tool, called *msupdate*, that is designed for IT administrators so that they have more precise control over when updates are applied. Instructions for how to use this tool can be found in [Update Office for Mac by using msupdate](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate). + +In MAU, the application identifier for Microsoft Defender ATP for Mac is *WDAV00*. To download and install the latest updates for Microsoft Defender ATP for Mac, execute the following command from a Terminal window: + +``` +./msupdate --install --apps wdav00 +``` + +## Set preferences for Microsoft AutoUpdate + +This section describes the most common preferences that can be used to configure MAU. These settings can be deployed as a configuration profile through the management console that your enterprise is using. An example of a configuration profile is shown in the following sections. + +### Set the channel name + +The channel determines the type and frequency of updates that are offered through MAU. Devices in `InsiderFast` (corresponding to the Insider Fast channel) can try out new features before devices in `External` (corresponding to the Insider Slow channel) and `Production`. + +The `Production` channel contains the most stable version of the product. + +>[!TIP] +>In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to `InsiderFast` or `External`. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | ChannelName | +| **Data type** | String | +| **Possible values** | InsiderFast
External
Production | + +### Set update check frequency + +Change how often MAU searches for updates. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | UpdateCheckFrequency | +| **Data type** | Integer | +| **Default value** | 720 (minutes) | +| **Comment** | This value is set in minutes. | + +### Change how MAU interacts with updates + +Change how MAU searches for updates. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | HowToCheck | +| **Data type** | String | +| **Possible values** | Manual
AutomaticCheck
AutomaticDownload | +| **Comment** | Note that AutomaticDownload will do a download and install silently if possible. | + +### Change whether the "Check for Updates" button is enabled + +Change whether local users will be able to click the "Check for Updates" option in the Microsoft AutoUpdate user interface. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | EnableCheckForUpdatesButton | +| **Data type** | Boolean | +| **Possible values** | True (default)
False | + +### Disable Insider checkbox + +Set to true to make the "Join the Office Insider Program..." checkbox unavailable / greyed out to users. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | DisableInsiderCheckbox | +| **Data type** | Boolean | +| **Possible values** | False (default)
True | + +### Limit the telemetry that is sent from MAU + +Set to false to send minimal heartbeat data, no application usage, and no environment details. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | SendAllTelemetryEnabled | +| **Data type** | Boolean | +| **Possible values** | True (default)
False | + +## Example configuration profile + +The following configuration profile is used to: +- Place the device in the Insider Fast channel +- Automatically download and install updates +- Enable the "Check for updates" button in the user interface +- Allow users on the device to enroll into the Insider channels + +### JAMF + +```XML + + + + + ChannelName + InsiderFast + HowToCheck + AutomaticDownload + EnableCheckForUpdatesButton + + DisableInsiderCheckbox + + SendAllTelemetryEnabled + + + +``` + +### Intune + +```XML + + + + + PayloadUUID + B762FF60-6ACB-4A72-9E72-459D00C936F3 + PayloadType + Configuration + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.autoupdate2 + PayloadDisplayName + Microsoft AutoUpdate settings + PayloadDescription + Microsoft AutoUpdate configuration settings + PayloadVersion + 1 + PayloadEnabled + + PayloadRemovalDisallowed + + PayloadScope + System + PayloadContent + + + PayloadUUID + 5A6F350A-CC2C-440B-A074-68E3F34EBAE9 + PayloadType + com.microsoft.autoupdate2 + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.autoupdate2 + PayloadDisplayName + Microsoft AutoUpdate configuration settings + PayloadDescription + + PayloadVersion + 1 + PayloadEnabled + + ChannelName + InsiderFast + HowToCheck + AutomaticDownload + EnableCheckForUpdatesButton + + DisableInsiderCheckbox + + SendAllTelemetryEnabled + + + + + +``` + +To configure MAU, you can deploy this configuration profile from the management tool that your enterprise is using: +- From JAMF, upload this configuration profile and set the Preference Domain to *com.microsoft.autoupdate2*. +- From Intune, upload this configuration profile and set the custom configuration profile name to *com.microsoft.autoupdate2*. + +## Resources + +- [msupdate reference](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md new file mode 100644 index 0000000000..f87f5332c7 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -0,0 +1,113 @@ +--- +title: Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes how to install and use Microsoft Defender ATP for Mac. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Microsoft Defender Advanced Threat Protection for Mac + +This topic describes how to install, configure, update, and use Microsoft Defender ATP for Mac. + +> [!CAUTION] +> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Mac is likely to lead to performance problems and unpredictable side effects. + +## What’s new in the latest release + +[What's new](microsoft-defender-atp-mac-whatsnew.md) + +If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. + +## How to install Microsoft Defender ATP for Mac + +### Prerequisites + +- Access to the Microsoft Defender Security Center portal +- Beginner-level experience in macOS and BASH scripting +- Administrative privileges on the device (in case of manual deployment) + +### System requirements + +> [!CAUTION] +> The three most recent major releases of macOS are supported. Beta versions of macOS are not supported. + +- Supported macOS versions: 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra) +- Disk space: 650 MB + +After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. + +The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. + +| Service location | DNS record | +| ---------------------------------------- | ----------------------- | +| Common URLs for all locations | x.cp.wd.microsoft.com
cdn.x.cp.wd.microsoft.com
eu-cdn.x.cp.wd.microsoft.com
wu-cdn.x.cp.wd.microsoft.com
*.blob.core.windows.net
officecdn-microsoft-com.akamaized.net | +| European Union | europe.x.cp.wd.microsoft.com | +| United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | +| United States | unitedstates.x.cp.wd.microsoft.com | + +Microsoft Defender ATP can discover a proxy server by using the following discovery methods: +- Web Proxy Auto-discovery Protocol (WPAD) +- Manual static proxy configuration + +If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. + +To test that a connection is not blocked, open [https://x.cp.wd.microsoft.com/api/report](https://x.cp.wd.microsoft.com/api/report) and [https://cdn.x.cp.wd.microsoft.com/ping](https://cdn.x.cp.wd.microsoft.com/ping) in a browser. + +If you prefer the command line, you can also check the connection by running the following command in Terminal: + +```bash +$ curl -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'https://cdn.x.cp.wd.microsoft.com/ping' +``` + +The output from this command should be similar to the following: + +> `OK https://x.cp.wd.microsoft.com/api/report` +> +> `OK https://cdn.x.cp.wd.microsoft.com/ping` + +> [!CAUTION] +> We recommend that you keep [System Integrity Protection](https://support.apple.com/en-us/HT204899) (SIP) enabled on client machines. SIP is a built-in macOS security feature that prevents low-level tampering with the OS, and is enabled by default. + +### Installation instructions + +There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Mac. + +In general you need to take the following steps: + +- Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal +- Deploy Microsoft Defender ATP for Mac using one of the following deployment methods: + - Via third-party management tools: + - [Microsoft Intune-based deployment](microsoft-defender-atp-mac-install-with-intune.md) + - [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) + - [Other MDM products](microsoft-defender-atp-mac-install-with-other-mdm.md) + - Via the command-line tool: + - [Manual deployment](microsoft-defender-atp-mac-install-manually.md) + +## How to update Microsoft Defender ATP for Mac + +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. + +To read more on how to configure MAU in enterprise environments, refer to [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) + +## How to configure Microsoft Defender ATP for Mac + +Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). + +## Resources + +- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-mac-resources.md) page. + +- [Privacy for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-privacy.md) From 9e19ea28af8c96d07364ecb8b6819d8ed40fd72f Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 10:53:14 +0530 Subject: [PATCH 002/150] Updated overview section for Linux Updated overview section for Linux --- .../microsoft-defender-atp-linux.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index f87f5332c7..2a1e938b11 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -1,8 +1,8 @@ --- -title: Microsoft Defender ATP for Mac +title: Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to install and use Microsoft Defender ATP for Mac. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to install and use Microsoft Defender ATP for Linux. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,34 +18,33 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Microsoft Defender Advanced Threat Protection for Mac +# Microsoft Defender Advanced Threat Protection for Linux -This topic describes how to install, configure, update, and use Microsoft Defender ATP for Mac. +This topic describes how to install, configure, update, and use Microsoft Defender ATP for Linux. > [!CAUTION] -> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Mac is likely to lead to performance problems and unpredictable side effects. +> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. + +> [!NOTE] +>How would users give us feedback? +> **TODO:** Should we add atp --feedback "Feedback" that will send the feedback to us / OCV. I am keeping the original line for reference. +> +> If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. -## What’s new in the latest release - -[What's new](microsoft-defender-atp-mac-whatsnew.md) - -If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. - -## How to install Microsoft Defender ATP for Mac +## How to install Microsoft Defender ATP for Linux ### Prerequisites - Access to the Microsoft Defender Security Center portal -- Beginner-level experience in macOS and BASH scripting +- Beginner-level experience in Linux and BASH scripting - Administrative privileges on the device (in case of manual deployment) ### System requirements -> [!CAUTION] -> The three most recent major releases of macOS are supported. Beta versions of macOS are not supported. - -- Supported macOS versions: 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra) -- Disk space: 650 MB +- Supported Linux distributions and versions: RHEL 7, Oracle 7, CentOS 7, Ubuntu 16 and 18, Debian 9 +- Disk space: 650 MB. +> [!NOTE] +>**TODO**: Verify this After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. @@ -58,6 +57,9 @@ The following table lists the services and their associated URLs that your netwo | United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | | United States | unitedstates.x.cp.wd.microsoft.com | +>[!NOTE] +> **TODO:** Verify the proxy paragraph + Microsoft Defender ATP can discover a proxy server by using the following discovery methods: - Web Proxy Auto-discovery Protocol (WPAD) - Manual static proxy configuration @@ -78,36 +80,34 @@ The output from this command should be similar to the following: > > `OK https://cdn.x.cp.wd.microsoft.com/ping` -> [!CAUTION] -> We recommend that you keep [System Integrity Protection](https://support.apple.com/en-us/HT204899) (SIP) enabled on client machines. SIP is a built-in macOS security feature that prevents low-level tampering with the OS, and is enabled by default. - ### Installation instructions -There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Mac. +There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. In general you need to take the following steps: - Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal -- Deploy Microsoft Defender ATP for Mac using one of the following deployment methods: +- Deploy Microsoft Defender ATP for Linux using one of the following deployment methods: - Via third-party management tools: - - [Microsoft Intune-based deployment](microsoft-defender-atp-mac-install-with-intune.md) - - [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) - - [Other MDM products](microsoft-defender-atp-mac-install-with-other-mdm.md) + - [Deploy using Puppet configuration management tool](microsoft-defender-atp-linux-install-with-puppet.md) + - [Deploy using Ansbile configuration management tool](microsoft-defender-atp-linux-install-with-ansible.md) + - [Other configuration management tools](microsoft-defender-atp-linux-install-with-other-configtool.md) - Via the command-line tool: - - [Manual deployment](microsoft-defender-atp-mac-install-manually.md) + - [Manual deployment](microsoft-defender-atp-linux-install-manually.md) -## How to update Microsoft Defender ATP for Mac +## How to update Microsoft Defender ATP for Linux -Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. +>[!NOTE] +> **TODO:** Upgrade story is not very clear right now! -To read more on how to configure MAU in enterprise environments, refer to [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) -## How to configure Microsoft Defender ATP for Mac +## How to configure Microsoft Defender ATP for Linux -Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). +Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). ## Resources -- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-mac-resources.md) page. +- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-linux-resources.md) page. -- [Privacy for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-privacy.md) +- [Privacy for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-privacy.md) From 4b130022ee3f552aa42b364ab15135f622b63cc1 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 13:41:01 +0530 Subject: [PATCH 003/150] Updated manual install steps for Linux Updated manual install steps for Linux --- ...oft-defender-atp-linux-install-manually.md | 141 +++++------------- 1 file changed, 41 insertions(+), 100 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index bed05f108c..490b35ec75 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -1,8 +1,8 @@ --- -title: Installing Microsoft Defender ATP for Mac manually +title: Installing Microsoft Defender ATP for Linux manually ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Mac manually, from the command line. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to install Microsoft Defender ATP for Linux manually, from the command line. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -22,36 +22,43 @@ ms.topic: conceptual **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Mac manually. A successful deployment requires the completion of all of the following steps: -- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +This topic describes how to deploy Microsoft Defender ATP for Linux manually. A successful deployment requires the completion of all of the following steps: + +- [Configure Microsoft's Linux Software Repository](#configure-microsoft's-linux-software-repository) +- [Download onboarding packages](#download-onboarding-package) - [Application installation](#application-installation) - [Client configuration](#client-configuration) ## Prerequisites and system requirements -Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. +Before you get started, see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -## Download installation and onboarding packages +## Configure Microsoft's Linux Software Repository -Download the installation and onboarding packages from Windows Defender Security Center: +Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. + +> [!NOTE] +> **TODO:** Use a forward link for above instead of URL + +## Download onboarding package + +Download the onboarding package from Windows Defender Security Center: 1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. 2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download installation package**. Save it as wdav.pkg to a local directory. -4. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) -5. From a command prompt, verify that you have the two files. - Extract the contents of the .zip files: +4. From a command prompt, verify that you have the file. + Extract the contents of the .zip file: ```bash $ ls -l - total 721152 - -rw-r--r-- 1 test staff 6185 Mar 15 10:45 WindowsDefenderATPOnboardingPackage.zip - -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + total 8 + -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip inflating: WindowsDefenderATPOnboarding.py @@ -61,89 +68,24 @@ Download the installation and onboarding packages from Windows Defender Security To complete this process, you must have admin privileges on the machine. -1. Navigate to the downloaded wdav.pkg in Finder and open it. +1. Install Microsoft Defender ATP for Linux - ![App install screenshot](images/MDATP_28_AppInstall.png) + - ### Enterprise Linux (RHEL and variants) -2. Select **Continue**, agree with the License terms, and enter the password when prompted. - - ![App install screenshot](images/MDATP_29_AppInstallLogin.png) - - > [!IMPORTANT] - > You will be prompted to allow a driver from Microsoft to be installed (either "System Exception Blocked" or "Installation is on hold" or both. The driver must be allowed to be installed. - - ![App install screenshot](images/MDATP_30_SystemExtension.png) - -3. Select **Open Security Preferences** or **Open System Preferences > Security & Privacy**. Select **Allow**: - - ![Security and privacy window screenshot](images/MDATP_31_SecurityPrivacySettings.png) - -The installation proceeds. - -> [!NOTE] -> If you don't select **Allow**, the installation will proceed after 5 minutes. Defender ATP will be loaded, but real-time protection will be disabled. - -> [!NOTE] -> macOS may request to reboot the machine upon the first installation of Microsoft Defender. Real-Time Protection will not be available until the machine is rebooted. - -### Fixing disabled Real-Time Protection - -If you did not enable Microsoft's driver during installation, then the application displays a banner prompting you to enable it: - - ![RTP disabled screenshot](images/MDATP_32_Main_App_Fix.png) - -You can also run ```mdatp --health```. It reports if Real-Time Protection is enabled but not available: - -```bash -$ mdatp --health -... -realTimeProtectionAvailable : false -realTimeProtectionEnabled : true -... -``` - -> [!NOTE] -> You have a 30 minute window to enable Real-Time Protection from the warning banner, immediately following installation. - -The warning banner contains a **Fix** button, which allows you to quickly enable Real-Time Protection, without having to open a command prompt. Select the **Fix** button. It prompts the **Security & Privacy** system window, where you have to **Allow** system software from developers "Microsoft Corporation". - -If you don't see a prompt, it means that 30 or more minutes have already passed, and Real-Time Protection has still not been enabled: - -![Security and privacy window after prompt expired screenshot](images/MDATP_33_SecurityPrivacySettings_NoPrompt.png) - -In this case, you need to perform the following steps to enable Real-Time Protection instead. - -1. In Terminal, attempt to install the driver. (The operation will fail) ```bash - $ sudo kextutil /Library/Extensions/wdavkext.kext - Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } - Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } - Diagnostics for /Library/Extensions/wdavkext.kext: + sudo yum install mdatp ``` -2. Open **System Preferences...** > **Security & Privacy** from the menu. (Close it first, if it's opened.) + - ### Ubuntu and Debian systems -3. **Allow** system software from developers "Microsoft Corporation" + ```bash + sudo apt-get install mdatp + ``` -4. In Terminal, install the driver again. This time the operation will succeed: - -```bash -$ sudo kextutil /Library/Extensions/wdavkext.kext -``` - -The banner should disappear from the Defender application, and ```mdatp --health``` should now report that Real-Time Protection is both enabled and available: - -```bash -$ mdatp --health -... -realTimeProtectionAvailable : true -realTimeProtectionEnabled : true -... -``` ## Client configuration -1. Copy wdav.pkg and WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Mac. +1. Copy WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Linux. The client machine is not associated with orgId. Note that the *orgId* attribute is blank. @@ -155,8 +97,10 @@ realTimeProtectionEnabled : true ```bash $ /usr/bin/python WindowsDefenderATPOnboarding.py - Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudos password) + Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudo password) ``` +> [!NOTE] +> **TODO:** update the path associated with Generating ... 3. Verify that the machine is now associated with your organization and reports a valid *orgId*: @@ -165,21 +109,18 @@ realTimeProtectionEnabled : true E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -After installation, you'll see the Microsoft Defender icon in the macOS status bar in the top-right corner. +After installation, you'll see the status by running the following command: - ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) +```bash +mdatp --health +``` -## How to Allow Full Disk Access - -> [!CAUTION] -> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. - -To grant consent, open System Preferences -> Security & Privacy -> Privacy -> Full Disk Access. Click the lock icon to make changes (bottom of the dialog box). Select Microsoft Defender ATP. +**TODO:** Add step to verify ## Logging installation issues -See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. +See [Uninstalling](microsoft-defender-atp-linux-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Linux from client devices. From bb622651e1495549c4232f1b04165c8b25179a8c Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 16:56:13 +0530 Subject: [PATCH 004/150] Update preferences section Update preferences section and minor corrections to manual installation document --- ...oft-defender-atp-linux-install-manually.md | 15 +- ...icrosoft-defender-atp-linux-preferences.md | 447 ++++-------------- 2 files changed, 88 insertions(+), 374 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index 490b35ec75..30fbaa6c7a 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -40,7 +40,8 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. > [!NOTE] -> **TODO:** Use a forward link for above instead of URL +> * **TODO:** Use a forward link for above instead of URL +> * I am assuming that ring 0 customers will download the onboarding package from ATP portal ## Download onboarding package @@ -97,10 +98,10 @@ To complete this process, you must have admin privileges on the machine. ```bash $ /usr/bin/python WindowsDefenderATPOnboarding.py - Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudo password) + Generating /etc/opt/microsoft/mdatp/mdatp_onboard.json ... (You may be required to enter sudo password) ``` > [!NOTE] -> **TODO:** update the path associated with Generating ... +> **TODO:** verify the path associated with above command. 3. Verify that the machine is now associated with your organization and reports a valid *orgId*: @@ -109,13 +110,15 @@ To complete this process, you must have admin privileges on the machine. E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -After installation, you'll see the status by running the following command: +After installation, you can see the status by running the following command: ```bash -mdatp --health +$ mdatp --health healthy +1 ``` -**TODO:** Add step to verify +> [!NOTE] +> **TODO:** Should we add eicar detection step? ## Logging installation issues diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index 80ec6a0f67..9894750faa 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -1,8 +1,8 @@ --- -title: Set preferences for Microsoft Defender ATP for Mac +title: Set preferences for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to configure Microsoft Defender ATP for Mac in enterprises. -keywords: microsoft, defender, atp, mac, management, preferences, enterprise, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to configure Microsoft Defender ATP for Linux in enterprises. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,28 +18,31 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Set preferences for Microsoft Defender ATP for Mac +# Set preferences for Microsoft Defender ATP for Linux **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) >[!IMPORTANT] ->This topic contains instructions for how to set preferences for Microsoft Defender ATP for Mac in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-mac-resources.md#configuring-from-the-command-line) page. +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-linux-resources.md#configuring-from-the-command-line) page. -In enterprise environments, Microsoft Defender ATP for Mac can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. +In enterprise environments, Microsoft Defender ATP for Linux can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. This topic describes the structure of this profile (including a recommended profile that you can use to get started) and instructions for how to deploy the profile. ## Configuration profile structure -The configuration profile is a .plist file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. - ->[!CAUTION] ->The layout of the configuration profile depends on the management console that you are using. The following sections contain examples of configuration profiles for JAMF and Intune. +The configuration profile is a .json file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. +>[!NOTE] +> **TODO:** +> * Should Domain be removed from all the entries below? +> * Should we add path to wdavcfg? +> * Verify each of below? + ### Antivirus engine preferences The *antivirusEngine* section of the configuration profile is used to manage the preferences of the antivirus component of the product. @@ -240,33 +243,12 @@ Determines whether suspicious samples (that are likely to contain threats) are s | **Data type** | Boolean | | **Possible values** | true (default)
false | -### User interface preferences - -The *userInterface* section of the configuration profile is used to manage the preferences of the user interface of the product. - -||| -|:---|:---| -| **Domain** | com.microsoft.wdav | -| **Key** | userInterface | -| **Data type** | Dictionary (nested preference) | -| **Comments** | See the following sections for a description of the dictionary contents. | - -#### Show / hide status menu icon - -Whether the status menu icon (shown in the top-right corner of the screen) is hidden or not. - -||| -|:---|:---| -| **Domain** | com.microsoft.wdav | -| **Key** | hideStatusMenuIcon | -| **Data type** | Boolean | -| **Possible values** | false (default)
true | - ## Recommended configuration profile To get started, we recommend the following configuration profile for your enterprise to take advantage of all protection features that Microsoft Defender ATP provides. The following configuration profile will: + - Enable real-time protection (RTP) - Specify how the following threat types are handled: - **Potentially unwanted applications (PUA)** are blocked @@ -274,350 +256,79 @@ The following configuration profile will: - Enable cloud delivered protection - Enable automatic sample submission -### JAMF profile +### Sample profile -```XML - - - - - antivirusEngine - - enableRealTimeProtection - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - automaticSampleSubmission - - - - -``` - -### Intune profile - -```XML - - - - - PayloadUUID - C4E6A782-0C8D-44AB-A025-EB893987A295 - PayloadType - Configuration - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.wdav - PayloadDisplayName - Microsoft Defender ATP settings - PayloadDescription - Microsoft Defender ATP configuration settings - PayloadVersion - 1 - PayloadEnabled - - PayloadRemovalDisallowed - - PayloadScope - System - PayloadContent - - - PayloadUUID - 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 - PayloadType - com.microsoft.wdav - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.wdav - PayloadDisplayName - Microsoft Defender ATP configuration settings - PayloadDescription - - PayloadVersion - 1 - PayloadEnabled - - antivirusEngine - - enableRealTimeProtection - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - automaticSampleSubmission - - - - - - +```JSON +{ + "antivirusEngine":{ + "enableRealTimeProtection":true, + "threatTypeSettings":[ + { + "key":"potentially_unwanted_application", + "value":"block" + }, + { + "key":"archive_bomb", + "value":"audit" + } + ] + }, + "cloudService":{ + "automaticSampleSubmission":true, + "enabled":true, + }, +} ``` ## Full configuration profile example The following configuration profile contains entries for all settings described in this document and can be used for more advanced scenarios where you want more control over the product. -### JAMF profile +### Full profile -```XML - - - - - antivirusEngine - - enableRealTimeProtection - - passiveMode - - exclusions - - - $type - excludedPath - isDirectory - - path - /var/log/system.log - - - $type - excludedPath - isDirectory - - path - /home - - - $type - excludedFileExtension - extension - pdf - - - allowedThreats - - EICAR-Test-File (not a virus) - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - diagnosticLevel - optional - automaticSampleSubmission - - - userInterface - - hideStatusMenuIcon - - - - -``` - -### Intune profile - -```XML - - - - - PayloadUUID - C4E6A782-0C8D-44AB-A025-EB893987A295 - PayloadType - Configuration - PayloadOrganization - Microsoft - PayloadIdentifier - C4E6A782-0C8D-44AB-A025-EB893987A295 - PayloadDisplayName - Microsoft Defender ATP settings - PayloadDescription - Microsoft Defender ATP configuration settings - PayloadVersion - 1 - PayloadEnabled - - PayloadRemovalDisallowed - - PayloadScope - System - PayloadContent - - - PayloadUUID - 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 - PayloadType - com.microsoft.wdav - PayloadOrganization - Microsoft - PayloadIdentifier - 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 - PayloadDisplayName - Microsoft Defender ATP configuration settings - PayloadDescription - - PayloadVersion - 1 - PayloadEnabled - - antivirusEngine - - enableRealTimeProtection - - passiveMode - - exclusions - - - $type - excludedPath - isDirectory - - path - /var/log/system.log - - - $type - excludedPath - isDirectory - - path - /home - - - $type - excludedFileExtension - extension - pdf - - - allowedThreats - - EICAR-Test-File (not a virus) - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - diagnosticLevel - optional - automaticSampleSubmission - - - userInterface - - hideStatusMenuIcon - - - - - - +```JSON +{ + "antivirusEngine":{ + "enableRealTimeProtection":true, + "passiveMode":false, + "exclusions":[ + { + "$type":"excludedPath", + "isDirectory":false, + "path":"/var/log/system.log" + }, + { + "$type":"excludedPath", + "isDirectory":true, + "path":"/home" + }, + { + "$type":"excludedFileExtension", + "extension":"pdf" + } + ], + "allowedThreats":[ + "EICAR-Test-File (not a virus)" + ], + "threatTypeSettings":[ + { + "key":"potentially_unwanted_application", + "value":"block" + }, + { + "key":"archive_bomb", + "value":"audit" + } + ] + }, + "cloudService":{ + "enabled":true, + "diagnosticLevel":"optional", + "automaticSampleSubmission":true, + }, +} ``` ## Configuration profile deployment -Once you've built the configuration profile for your enterprise, you can deploy it through the management console that your enterprise is using. The following sections provide instructions on how to deploy this profile using JAMF and Intune. - -### JAMF deployment - -From the JAMF console, open **Computers** > **Configuration Profiles**, navigate to the configuration profile you'd like to use, then select **Custom Settings**. Create an entry with *com.microsoft.wdav* as the preference domain and upload the .plist produced earlier. - ->[!CAUTION] ->You must enter the correct preference domain (*com.microsoft.wdav*), otherwise the preferences will not be recognized by the product. - -### Intune deployment - -1. Open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. - -2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select Configure. - -3. Save the .plist produced earlier as **com.microsoft.wdav.xml**. - -4. Enter **com.microsoft.wdav** as the **custom configuration profile name**. - -5. Open the configuration profile and upload **com.microsoft.wdav.xml**. This file was created in step 3. - -6. Select **OK**. - -7. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. - ->[!CAUTION] ->You must enter the correct custom configuration profile name, otherwise these preferences will not be recognized by the product. - -## Resources - -- [Configuration Profile Reference (Apple developer documentation)](https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf) +Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. From 431a070d4e8e674776e9b80e952e74eab2c51d28 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 17:18:01 +0530 Subject: [PATCH 005/150] Updated the privacy document for Linux Updated the privacy document for Linux --- .../microsoft-defender-atp-linux-privacy.md | 52 +++++++++---------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md index 0c56970e6f..0e2884b388 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md @@ -1,8 +1,8 @@ --- -title: Privacy for Microsoft Defender ATP for Mac +title: Privacy for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Mac. -keywords: microsoft, defender, atp, mac, privacy, diagnostic +description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Linux. +keywords: microsoft, defender, atp, linux, privacy, diagnostic search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,19 +18,19 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Privacy for Microsoft Defender ATP for Mac +# Privacy for Microsoft Defender ATP for Linux **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Mac. +Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Linux. This topic describes the privacy controls available within the product, how to manage these controls with policy settings and more details on the data events that are collected. -## Overview of privacy controls in Microsoft Defender ATP for Mac +## Overview of privacy controls in Microsoft Defender ATP for Linux -This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Mac. +This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Linux. ### Diagnostic data @@ -62,7 +62,7 @@ When this feature is enabled and the sample that is collected is likely to conta If you're an IT administrator, you might want to configure these controls at the enterprise level. -The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). +The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). As with any new policy settings, you should carefully test them out in a limited, controlled environment to ensure the settings that you configure have the desired effect before you implement the policy settings more widely in your organization. @@ -83,7 +83,7 @@ The following fields are considered common for all events: | org_id | Unique identifier associated with the enterprise that the device belongs to. Allows Microsoft to identify whether issues are impacting a select set of enterprises and how many enterprises are impacted. | | hostname | Local machine name (without DNS suffix). Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | | product_guid | Unique identifier of the product. Allows Microsoft to differentiate issues impacting different flavors of the product. | -| app_version | Version of the Microsoft Defender ATP for Mac application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| +| app_version | Version of the Microsoft Defender ATP for Linux application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| | sig_version | Version of security intelligence database. Allows Microsoft to identify which versions of the security intelligence are showing an issue so that it can correctly be prioritized. | | supported_compressions | List of compression algorithms supported by the application, for example `['gzip']`. Allows Microsoft to understand what types of compressions can be used when it communicates with the application. | | release_ring | Ring that the device is associated with (for example Insider Fast, Insider Slow, Production). Allows Microsoft to identify on which release ring an issue may be occurring so that it can correctly be prioritized. | @@ -97,6 +97,9 @@ Required diagnostic data helps to identify problems with Microsoft Defender ATP #### Software setup and inventory data events +> [!NOTE] +> **TODO:** Please review if all the following fields are valid for linux as well + **Microsoft Defender ATP installation / uninstallation** The following fields are collected: @@ -130,13 +133,16 @@ The following fields are collected: #### Product and service performance data events +> [!NOTE] +> **TODO:** Please review if all the following fields are valid for linux as well + **Kernel extension statistics** The following fields are collected: | Field | Description | | ---------------- | ----------- | -| version | Version of Microsoft Defender ATP for Mac. | +| version | Version of Microsoft Defender ATP for Linux. | | instance_id | Unique identifier generated on kernel extension startup. | | trace_level | Trace level of the kernel extension. | | ipc.connects | Number of connection requests received by the kernel extension. | @@ -149,11 +155,9 @@ The following fields are collected: Diagnostic logs are collected only with the consent of the user as part of the feedback submission feature. The following files are collected as part of the support logs: -- All files under */Library/Logs/Microsoft/mdatp/* -- Subset of files under */Library/Application Support/Microsoft/Defender/* that are created and used by Microsoft Defender ATP for Mac -- Subset of files under */Library/Managed Preferences* that are used by Microsoft Defender ATP for Mac -- /Library/Logs/Microsoft/autoupdate.log -- $HOME/Library/Preferences/com.microsoft.autoupdate2.plist +- All files under */var/log/microsoft/mdatp/* +- Subset of files under */var/opt/microsoft/mdatp/* that are created and used by Microsoft Defender ATP for Linux +- Subset of files under */etc/opt/microsoft/mdatp/* that are used by Microsoft Defender ATP for Linux ### Optional diagnostic data @@ -186,17 +190,6 @@ The following fields are collected: | edr.latency_mode | Latency mode used by the detection and response component. | | edr.proxy_address | Proxy address used by the detection and response component. | -**Microsoft Auto-Update configuration** - -The following fields are collected: - -| Field | Description | -| --------------------------- | ----------- | -| how_to_check | Determines how product updates are checked (for example automatic or manual). | -| channel_name | Update channel associated with the device. | -| manifest_server | Server used for downloading updates. | -| update_cache | Location of the cache used to store updates. | - ### Product and service usage #### Diagnostic log upload started report @@ -207,7 +200,7 @@ The following fields are collected: | ---------------- | ----------- | | sha256 | SHA256 identifier of the support log. | | size | Size of the support log. | -| original_path | Path to the support log (always under */Library/Application Support/Microsoft/Defender/wdavdiag/*). | +| original_path | Path to the support log (always under */var/opt/microsoft/mdatp/wdavdiag/*). | | format | Format of the support log. | #### Diagnostic log upload completed report @@ -228,6 +221,9 @@ Unexpected application exits and the state of the application when that happens. **Kernel extension statistics** +> [!NOTE] +> **TODO:** Is this valid for Linux as well? + The following fields are collected: | Field | Description | From 1976c84ec5d419e023cb2090047cb34041fdbca6 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 19:21:53 +0530 Subject: [PATCH 006/150] Draft of deployment via puppet Draft of deployment via puppet (incomplete). Corrected spelling for redhat --- ...oft-defender-atp-linux-install-manually.md | 2 +- ...-defender-atp-linux-install-with-puppet.md | 243 ++++-------------- ...icrosoft-defender-atp-linux-preferences.md | 2 +- .../microsoft-defender-atp-linux.md | 2 +- 4 files changed, 51 insertions(+), 198 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index 30fbaa6c7a..7116f0b7ef 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -2,7 +2,7 @@ title: Installing Microsoft Defender ATP for Linux manually ms.reviewer: description: Describes how to install Microsoft Defender ATP for Linux manually, from the command line. -keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 7a0f0c27d6..5cd69d9301 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -1,8 +1,8 @@ --- -title: Installing Microsoft Defender ATP for Mac with Microsoft Intune +title: Installing Microsoft Defender ATP for Linux with Puppet ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Mac, using Microsoft Intune. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to install Microsoft Defender ATP for Linux, using Puppet. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,236 +18,89 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Microsoft Intune-based deployment +# Puppet based deployment **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Mac through Intune. A successful deployment requires the completion of all of the following steps: +This topic describes how to deploy Microsoft Defender ATP for Linux through Puppet. A successful deployment requires the completion of all of the following steps: - [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Create Puppet policies](#create-jamf-policies) - [Client device setup](#client-device-setup) -- [Create System Configuration profiles](#create-system-configuration-profiles) -- [Publish application](#publish-application) +- [Deployment](#deployment) +- [Check onboarding status](#check-onboarding-status) ## Prerequisites and system requirements -Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. +Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -## Download installation and onboarding packages +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt*, *lsb-release* to help deploy the package. Your organization might use a different workflow. -Download the installation and onboarding packages from Microsoft Defender Security Center: +## Download onboarding package -1. In Microsoft Defender Security Center, go to **Settings** > **Device Management** > **Onboarding**. -2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS, or Android** and the deployment method to **Mobile Device Management / Microsoft Intune**. -3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. -4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. -5. Download **IntuneAppUtil** from [https://docs.microsoft.com/intune/lob-apps-macos](https://docs.microsoft.com/intune/lob-apps-macos). +Download the onboarding package from Windows Defender Security Center: - ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) +1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. +3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. -6. From a command prompt, verify that you have the three files. - Extract the contents of the .zip files: + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) +4. From a command prompt, verify that you have the file. + Extract the contents of the .zip file: + ```bash $ ls -l - total 721688 - -rw-r--r-- 1 test staff 269280 Mar 15 11:25 IntuneAppUtil - -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip - -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + total 8 + -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip - warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators - inflating: intune/kext.xml - inflating: intune/WindowsDefenderATPOnboarding.xml - inflating: jamf/WindowsDefenderATPOnboarding.plist + inflating: WindowsDefenderATPOnboarding.py ``` -7. Make IntuneAppUtil an executable: +## Create Puppet manifests - ```bash - $ chmod +x IntuneAppUtil - ``` +You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. -8. Create the wdav.pkg.intunemac package from wdav.pkg: +## Deployment - ```bash - $ ./IntuneAppUtil -c wdav.pkg -o . -i "com.microsoft.wdav" -n "1.0.0" - Microsoft Intune Application Utility for Mac OS X - Version: 1.0.0.0 - Copyright 2018 Microsoft Corporation +Enrolled agent devices periodically poll the Puppet Server, and install new configuration profiles and policies as soon as they are detected. - Creating intunemac file for /Users/test/Downloads/wdav.pkg - Composing the intunemac file output - Output written to ./wdav.pkg.intunemac. +## Monitoring puppet deployment - IntuneAppUtil successfully processed "wdav.pkg", - to deploy refer to the product documentation. - ``` -## Client device setup +You can also check the onboarding status: -You need no special provisioning for a Mac device beyond a standard [Company Portal installation](https://docs.microsoft.com/intune-user-help/enroll-your-device-in-intune-macos-cp). +```bash +$ mdatp --health +... +licensed : true +orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" +... +``` -1. You are asked to confirm device management. +- **licensed**: This confirms that the device has an ATP license. -![Confirm device management screenshot](images/MDATP_3_ConfirmDeviceMgmt.png) +- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. -Select **Open System Preferences**, locate **Management Profile** on the list, and select **Approve...**. Your Management Profile would be displayed as **Verified**: +## Check onboarding status -![Management profile screenshot](images/MDATP_4_ManagementProfile.png) +You can check that devices have been correctly onboarded by creating a script. For example, the following script checks enrolled devices for onboarding status: -2. Select **Continue** and complete the enrollment. +```bash +$ mdatp --health healthy +``` -You may now enroll more devices. You can also enroll them later, after you have finished provisioning system configuration and application packages. +The above command prints "1" if the product is onboarded and functioning as expected. -3. In Intune, open **Manage** > **Devices** > **All devices**. Here you can see your device among those listed: - -![Add Devices screenshot](images/MDATP_5_allDevices.png) - -## Create System Configuration profiles - -1. In Intune, open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. -2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select **Configure**. -3. Open the configuration profile and upload intune/kext.xml. This file was created in one of the preceding sections. -4. Select **OK**. - - ![System configuration profiles screenshot](images/MDATP_6_SystemConfigurationProfiles.png) - -5. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. -6. Repeat steps 1 through 5 for more profiles. -7. Create another profile, give it a name, and upload the intune/WindowsDefenderATPOnboarding.xml file. -8. Create tcc.xml file with content below. Create another profile, give it any name and upload this file to it. - - > [!CAUTION] - > macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. - > - > The following configuration profile grants Full Disk Access to Microsoft Defender ATP. If you previously configured Microsoft Defender ATP through Intune, we recommend you update the deployment with this configuration profile. - - ```xml - - - - - PayloadDescription - Allows Microsoft Defender to access all files on Catalina+ - PayloadDisplayName - TCC - Microsoft Defender - PayloadIdentifier - com.microsoft.wdav.tcc - PayloadOrganization - Microsoft Corp. - PayloadRemovalDisallowed - - PayloadScope - system - PayloadType - Configuration - PayloadUUID - C234DF2E-DFF6-11E9-B279-001C4299FB44 - PayloadVersion - 1 - PayloadContent - - - PayloadDescription - Allows Microsoft Defender to access all files on Catalina+ - PayloadDisplayName - TCC - Microsoft Defender - PayloadIdentifier - com.microsoft.wdav.tcc.C233A5E6-DFF6-11E9-BDAD-001C4299FB44 - PayloadOrganization - Microsoft Corp. - PayloadType - com.apple.TCC.configuration-profile-policy - PayloadUUID - C233A5E6-DFF6-11E9-BDAD-001C4299FB44 - PayloadVersion - 1 - Services - - SystemPolicyAllFiles - - - Allowed - - CodeRequirement - identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9 - Comment - Allow SystemPolicyAllFiles control for Microsoft Defender ATP - Identifier - com.microsoft.wdav - IdentifierType - bundleID - - - - - - - - ``` - -9. Select **Manage > Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. - -Once the Intune changes are propagated to the enrolled devices, you can see them listed under **Monitor** > **Device status**: - -![System configuration profiles screenshot](images/MDATP_7_DeviceStatusBlade.png) - -## Publish application - -1. In Intune, open the **Manage > Client apps** blade. Select **Apps > Add**. -2. Select **App type=Other/Line-of-business app**. -3. Select **file=wdav.pkg.intunemac**. Select **OK** to upload. -4. Select **Configure** and add the required information. -5. Use **macOS Sierra 10.12** as the minimum OS and set *Ignore app version* to **Yes**. Other settings can be any arbitrary value. - - > [!CAUTION] - > Failure to set *Ignore app version* to **Yes** impacts the ability of the application to receive updates through Microsoft AutoUpdate. See [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) for additional information about how the product is updated. - - ![Device status blade screenshot](images/MDATP_8_IntuneAppInfo.png) - -6. Select **OK** and **Add**. - - ![Device status blade screenshot](images/MDATP_9_IntunePkgInfo.png) - -7. It may take a few moments to upload the package. After it's done, select the package from the list and go to **Assignments** and **Add group**. - - ![Client apps screenshot](images/MDATP_10_ClientApps.png) - -8. Change **Assignment type** to **Required**. -9. Select **Included Groups**. Select **Make this app required for all devices=Yes**. Click **Select group to include** and add a group that contains the users you want to target. Select **OK** and **Save**. - - ![Intune assignments info screenshot](images/MDATP_11_Assignments.png) - -10. After some time the application will be published to all enrolled devices. You can see it listed in **Monitor** > **Device**, under **Device install status**: - - ![Intune device status screenshot](images/MDATP_12_DeviceInstall.png) - -## Verify client device state - -1. After the configuration profiles are deployed to your devices, open **System Preferences** > **Profiles** on your Mac device. - - ![System Preferences screenshot](images/MDATP_13_SystemPreferences.png) - ![System Preferences Profiles screenshot](images/MDATP_14_SystemPreferencesProfiles.png) - -2. Verify that the following configuration profiles are present and installed. The **Management Profile** should be the Intune system profile. _Wdav-config_ and _wdav-kext_ are system configuration profiles that were added in Intune: - ![Profiles screenshot](images/MDATP_15_ManagementProfileConfig.png) - -3. You should also see the Microsoft Defender icon in the top-right corner: - - ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) - -## Troubleshooting - -Issue: No license found - -Solution: Follow the steps above to create a device profile using WindowsDefenderATPOnboarding.xml +If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: +- 1 if the device is not yet onboarded +- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running ## Logging installation issues -For more information on how to find the automatically generated log that is created by the installer when an error occurs, see [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) . +See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index 9894750faa..c203ebd24c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -2,7 +2,7 @@ title: Set preferences for Microsoft Defender ATP for Linux ms.reviewer: description: Describes how to configure Microsoft Defender ATP for Linux in enterprises. -keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index 2a1e938b11..83c84689a0 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -2,7 +2,7 @@ title: Microsoft Defender ATP for Linux ms.reviewer: description: Describes how to install and use Microsoft Defender ATP for Linux. -keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 From ed1f730864af4cf4d735b20de9f27f1c6d7de2fb Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 17:20:54 +0530 Subject: [PATCH 007/150] Updated documentation for deployment via puppet --- .../ATP_Portal_Onboarding_win_intune.png | Bin 0 -> 95659 bytes ...-defender-atp-linux-install-with-puppet.md | 90 ++++++++++++++++-- 2 files changed, 80 insertions(+), 10 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png diff --git a/windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png b/windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c28532260e833cb94a120070caa32c471ecc90 GIT binary patch literal 95659 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.json ``` -## Create Puppet manifests +## Create Puppet manifest -You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. +You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your puppet server. + +Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. + +```bash +$ pwd +/etc/puppetlabs/code/environments/production/modules + +$ tree install_mdatp +install_mdatp +├── files +│   └── mdatp_onboard.json +└── manifests + └── init.pp +``` + +Contents of *install_mdatp/manifests/init.pp* + +```puppet +class install_mdatp { + + if ($osfamily == 'Debian') { + apt::source { 'microsoftpackages' : + location => 'https://packages.microsoft.com/ubuntu/18.04/prod', # change the version based on your OS + release => 'stable', + repos => 'main', + key => { + 'id' => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF', + 'server' => 'https://packages.microsoft.com/keys/microsoft.asc', + }, + } + } + else { + yumrepo { 'microsoftpackages' : + baseurl => 'https://packages.microsoft.com/rhel/7/prod', # change the version based on your OS + enabled => 1, + gpgcheck => 1, + gpgkey => 'https://packages.microsoft.com/keys/microsoft.asc' + } + } + + package { 'mdatp': + ensure => 'installed', + } + + file { ['/etc', '/etc/opt', '/etc/opt/microsoft', '/etc/opt/microsoft/mdatp']: + ensure => directory, + } + file { '/etc/opt/microsoft/mdatp/mdatp_onboard.json': + mode => "0644", + source => 'puppet:///modules/install_mdatp/mdatp_onboard.json', + } +} +``` ## Deployment +Include the above manifest in your site.pp file. + +```bash +$ cat /etc/puppetlabs/code/environments/production/manifests/site.pp +node "default" { + include install_mdatp +} +``` + Enrolled agent devices periodically poll the Puppet Server, and install new configuration profiles and policies as soon as they are detected. ## Monitoring puppet deployment - -You can also check the onboarding status: +On the agent machine, you can also check the onboarding status by running: ```bash $ mdatp --health @@ -95,6 +155,7 @@ $ mdatp --health healthy The above command prints "1" if the product is onboarded and functioning as expected. If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: + - 1 if the device is not yet onboarded - 3 if the connection to the daemon cannot be established—for example, if the daemon is not running @@ -104,3 +165,12 @@ See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logg ## Uninstallation +Create a module *remove_mdatp* similar to *install_mdatp* with following contents in *init.pp* file + +```bash +class remove_mdatp { + package { 'mdatp': + ensure => 'purged', + } +} +``` From 415e7b425a92912678ffc5b1868df2174cbfc8a9 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 17:24:01 +0530 Subject: [PATCH 008/150] Removed ansible and other configtool files Not ready for ring0 --- ...defender-atp-linux-install-with-ansible.md | 259 ------------------ ...atp-linux-install-with-other-configtool.md | 79 ------ 2 files changed, 338 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md deleted file mode 100644 index 84088ccd42..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -title: Installing Microsoft Defender ATP for Mac with JAMF -ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Mac, using JAMF. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dansimp -author: dansimp -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# JAMF-based deployment - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) - -This topic describes how to deploy Microsoft Defender ATP for Mac through JAMF. A successful deployment requires the completion of all of the following steps: -- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) -- [Create JAMF policies](#create-jamf-policies) -- [Client device setup](#client-device-setup) -- [Deployment](#deployment) -- [Check onboarding status](#check-onboarding-status) - -## Prerequisites and system requirements - -Before you get started, please see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. - -In addition, for JAMF deployment, you need to be familiar with JAMF administration tasks, have a JAMF tenant, and know how to deploy packages. This includes having a properly configured distribution point. JAMF has many ways to complete the same task. These instructions provide an example for most common processes. Your organization might use a different workflow. - -## Download installation and onboarding packages - -Download the installation and onboarding packages from Windows Defender Security Center: - -1. In Windows Defender Security Center, go to **Settings > device Management > Onboarding**. -2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS or Android** and deployment method to **Mobile Device Management / Microsoft Intune**. -3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. -4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. - - ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) - -5. From the command prompt, verify that you have the two files. Extract the contents of the .zip files like so: - - ```bash - $ ls -l - total 721160 - -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip - -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg - $ unzip WindowsDefenderATPOnboardingPackage.zip - Archive: WindowsDefenderATPOnboardingPackage.zip - warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators - inflating: intune/kext.xml - inflating: intune/WindowsDefenderATPOnboarding.xml - inflating: jamf/WindowsDefenderATPOnboarding.plist - ``` - -## Create JAMF policies - -You need to create a configuration profile and a policy to start deploying Microsoft Defender ATP for Mac to client devices. - -### Configuration Profile - -The configuration profile contains a custom settings payload that includes: - -- Microsoft Defender ATP for Mac onboarding information -- Approved Kernel Extensions payload, to enable running the Microsoft kernel driver - -To set the onboarding information, add a property list file with the name, _jamf/WindowsDefenderATPOnboarding.plist_, as a custom setting. You can do this by navigating to **Computers**>**Configuration Profiles**, selecting **New**, then choosing **Custom Settings**>**Configure**. From there, you can upload the property list. - - >[!IMPORTANT] - > You must set the Preference Domain as "com.microsoft.wdav.atp" - -![Configuration profile screenshot](images/MDATP_16_PreferenceDomain.png) - -### Approved Kernel Extension - -To approve the kernel extension: - -1. In **Computers > Configuration Profiles** select **Options > Approved Kernel Extensions**. -2. Use **UBF8T346G9** for Team Id. - -![Approved kernel extensions screenshot](images/MDATP_17_approvedKernelExtensions.png) - -### Privacy Preferences Policy Control - -> [!CAUTION] -> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. -> -> If you previously configured Microsoft Defender ATP through JAMF, we recommend applying the following configuration. - -Add the following JAMF policy to grant Full Disk Access to Microsoft Defender ATP. - -1. Select **Options > Privacy Preferences Policy Control**. -2. Use any identifier and identifier type = Bundle. -3. Set Code Requirement to `identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9`. -4. Set app or service to SystemPolicyAllFiles and access to Allow. - -![Privacy Preferences Policy Control](images/MDATP_35_JAMF_PrivacyPreferences.png) - -#### Configuration Profile's Scope - -Configure the appropriate scope to specify the devices that will receive the configuration profile. - -Open **Computers** > **Configuration Profiles**, and select **Scope > Targets**. From there, select the devices you want to target. - -![Configuration profile scope screenshot](images/MDATP_18_ConfigurationProfilesScope.png) - -Save the **Configuration Profile**. - -Use the **Logs** tab to monitor deployment status for each enrolled device. - -### Package - -1. Create a package in **Settings > Computer Management > Packages**. - - ![Computer management packages screenshot](images/MDATP_19_MicrosoftDefenderWDAVPKG.png) - -2. Upload the package to the Distribution Point. -3. In the **filename** field, enter the name of the package. For example, _wdav.pkg_. - -### Policy - -Your policy should contain a single package for Microsoft Defender. - -![Microsoft Defender packages screenshot](images/MDATP_20_MicrosoftDefenderPackages.png) - -Configure the appropriate scope to specify the computers that will receive this policy. - -After you save the Configuration Profile, you can use the Logs tab to monitor the deployment status for each enrolled device. - -## Client device setup - -You'll need no special provisioning for a macOS computer, beyond the standard JAMF Enrollment. - -> [!NOTE] -> After a computer is enrolled, it will show up in the Computers inventory (All Computers). - -1. Open **Device Profiles**, from the **General** tab, and make sure that **User Approved MDM** is set to **Yes**. If it's currently set to No, the user needs to open **System Preferences > Profiles** and select **Approve** on the MDM Profile. - -![MDM approve button screenshot](images/MDATP_21_MDMProfile1.png) -![MDM screenshot](images/MDATP_22_MDMProfileApproved.png) - -After a moment, the device's User Approved MDM status will change to **Yes**. - -![MDM status screenshot](images/MDATP_23_MDMStatus.png) - -You may now enroll additional devices. You may also enroll them later, after you have finished provisioning system configuration and application packages. - -## Deployment - -Enrolled client devices periodically poll the JAMF Server, and install new configuration profiles and policies as soon as they are detected. - -### Status on the server - -You can monitor deployment status in the **Logs** tab: - -- **Pending** means that the deployment is scheduled but has not yet happened -- **Completed** means that the deployment succeeded and is no longer scheduled - -![Status on server screenshot](images/MDATP_24_StatusOnServer.png) - -### Status on client device - -After the Configuration Profile is deployed, you'll see the profile for the device in **System Preferences** > **Profiles >**. - -![Status on client screenshot](images/MDATP_25_StatusOnClient.png) - -Once the policy is applied, you'll see the Microsoft Defender ATP icon in the macOS status bar in the top-right corner. - -![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) - -You can monitor policy installation on a device by following the JAMF log file: - -```bash - $ tail -f /var/log/jamf.log - Thu Feb 21 11:11:41 mavel-mojave jamf[7960]: No patch policies were found. - Thu Feb 21 11:16:41 mavel-mojave jamf[8051]: Checking for policies triggered by "recurring check-in" for user "testuser"... - Thu Feb 21 11:16:43 mavel-mojave jamf[8051]: Executing Policy WDAV - Thu Feb 21 11:17:02 mavel-mojave jamf[8051]: Installing Microsoft Defender... - Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Successfully installed Microsoft Defender. - Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Checking for patches... - Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: No patch policies were found. -``` - -You can also check the onboarding status: - -```bash -$ mdatp --health -... -licensed : true -orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" -... -``` - -- **licensed**: This confirms that the device has an ATP license. - -- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. - -## Check onboarding status - -You can check that devices have been correctly onboarded by creating a script. For example, the following script checks enrolled devices for onboarding status: - -```bash -$ mdatp --health healthy -``` - -The above command prints "1" if the product is onboarded and functioning as expected. - -If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: -- 1 if the device is not yet onboarded -- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running - -## Logging installation issues - -See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. - -## Uninstallation - -This method is based on the script described in [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling). - -### Script - -Create a script in **Settings > Computer Management > Scripts**. - -This script removes Microsoft Defender ATP from the /Applications directory: - -```bash - #!/bin/bash - - echo "Is WDAV installed?" - ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null - - echo "Uninstalling WDAV..." - rm -rf '/Applications/Microsoft Defender ATP.app' - - echo "Is WDAV still installed?" - ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null - - echo "Done!" -``` - -![Microsoft Defender uninstall screenshot](images/MDATP_26_Uninstall.png) - -### Policy - -Your policy should contain a single script: - -![Microsoft Defender uninstall script screenshot](images/MDATP_27_UninstallScript.png) - -Configure the appropriate scope in the **Scope** tab to specify the machines that will receive this policy. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md deleted file mode 100644 index 91a5f56395..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Installing Microsoft Defender ATP for Mac with different MDM product -description: Describes how to install Microsoft Defender ATP for Mac on other management solutions. -keywords: microsoft, defender, atp, mac, installation, deploy, macos, mojave, high sierra, sierra -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: mavel -author: maximvelichko -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Deployment with a different Mobile Device Management (MDM) system - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) - -## Prerequisites and system requirements - -Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. - -## Approach - -> [!CAUTION] -> Currently, Microsoft oficially supports only Intune and JAMF for the deployment and management of Microsoft Defender ATP for Mac. Microsoft makes no warranties, express or implied, with respect to the information provided below. - -If your organization uses a Mobile Device Management (MDM) solution that is not officially supported, this does not mean you are unable to deploy or run Microsoft Defender ATP for Mac. - -Microsoft Defender ATP for Mac does not depend on any vendor-specific features. It can be used with any MDM solution that supports the following features: - -- Deploy a macOS .pkg to managed machines. -- Deploy macOS system configuration profiles to managed machines. -- Run an arbitrary admin-configured tool/script on managed machines. - -Most modern MDM solutions include these features, however, they may call them differently. - -You can deploy Defender without the last requirement from the preceding list, however: - -- You will not be able to collect status in a centralized way -- If you decide to uninstall Defender, you will need to logon to the client machine locally as an administrator - -## Deployment - -Most MDM solutions use the same model for managing macOS machines, with similar terminology. Use [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) as a template. - -### Package - -Configure deployment of a [required application package](microsoft-defender-atp-mac-install-with-jamf.md#package), -with the installation package (wdav.pkg) downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). - -In order to deploy the package to your enterprise, use the instructions associated with your MDM solution. - -### License settings - -Set up [a system configuration profile](microsoft-defender-atp-mac-install-with-jamf.md#configuration-profile). -Your MDM solution may call it something like "Custom Settings Profile", as Microsoft Defender ATP for Mac is not part of macOS. - -Use the property list, jamf/WindowsDefenderATPOnboarding.plist, which can be extracted from an onboarding package downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). -Your system may support an arbitrary property list in XML format. You can upload the jamf/WindowsDefenderATPOnboarding.plist file as-is in that case. -Alternatively, it may require you to convert the property list to a different format first. - -Typically, your custom profile has an id, name, or domain attribute. You must use exactly "com.microsoft.wdav.atp" for this value. -MDM uses it to deploy the settings file to **/Library/Managed Preferences/com.microsoft.wdav.atp.plist** on a client machine, and Defender uses this file for loading the onboarding information. - -### Kernel extension policy - -Set up a KEXT or kernel extension policy. Use team identifier **UBF8T346G9** to whitelist kernel extensions provided by Microsoft. - -## Check installation status - -Run [mdatp](microsoft-defender-atp-mac-install-with-jamf.md#check-onboarding-status) on a client machine to check the onboarding status. From 19122f00b630b3cbce6680ff276f0eb9d1d8c9c6 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 18:19:00 +0530 Subject: [PATCH 009/150] Updated pua handling and updates Updated pua handling and updates --- ...-defender-atp-linux-install-with-puppet.md | 2 +- .../microsoft-defender-atp-linux-pua.md | 21 +- .../microsoft-defender-atp-linux-updates.md | 202 ++---------------- 3 files changed, 25 insertions(+), 200 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 9cd981bd65..63a75eb001 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -46,7 +46,7 @@ Download the onboarding package from Windows Defender Security Center: 2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. 3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. - ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) 4. From a command prompt, verify that you have the file. Extract the contents of the .zip file and create mdatp_onboard.json file as follows diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md index 2696590c99..2ff866b692 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md @@ -1,8 +1,8 @@ --- title: Detect and block potentially unwanted applications ms.reviewer: -description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Mac. -keywords: microsoft, defender, atp, mac, pua, pus +description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Linux. +keywords: microsoft, defender, atp, linux, pua, pus search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -22,9 +22,9 @@ ms.topic: conceptual **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Mac can detect and block PUA files on endpoints in your network. +The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Linux can detect and block PUA files on endpoints in your network. These applications are not considered viruses, malware, or other types of threats, but might perform actions on endpoints that adversely affect their performance or use. PUA can also refer to applications that are considered to have poor reputation. @@ -32,13 +32,16 @@ These applications can increase the risk of your network being infected with mal ## How it works -Microsoft Defender ATP for Mac can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. +Microsoft Defender ATP for Linux can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. -When a PUA is detected on an endpoint, Microsoft Defender ATP for Mac presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". +When a PUA is detected on an endpoint, Microsoft Defender ATP for Linux presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". + +> [!NOTE] +> **TODO:** Reword for Linux ## Configure PUA protection -PUA protection in Microsoft Defender ATP for Mac can be configured in one of the following ways: +PUA protection in Microsoft Defender ATP for Linux can be configured in one of the following ways: - **Off**: PUA protection is disabled. - **Audit**: PUA files are reported in the product logs, but not in Microsoft Defender Security Center. No notification is presented to the user and no action is taken by the product. @@ -59,8 +62,8 @@ $ mdatp --threat --type-handling potentially_unwanted_application [off|audit|blo ### Use the management console to configure PUA protection: -In your enterprise, you can configure PUA protection from a management console, such as JAMF or Intune, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-mac-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) topic. +In your enterprise, you can configure PUA protection from a management console, such as Puppet, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-linux-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) topic. ## Related topics -- [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) \ No newline at end of file +- [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md index 50267f26bb..a75a02fd2d 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md @@ -1,8 +1,8 @@ --- -title: Deploy updates for Microsoft Defender ATP for Mac +title: Deploy updates for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to control updates for Microsoft Defender ATP for Mac in enterprise environments. -keywords: microsoft, defender, atp, mac, updates, deploy +description: Describes how to control updates for Microsoft Defender ATP for Linux in enterprise environments. +keywords: microsoft, defender, atp, linux, updates, deploy search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,202 +18,24 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Deploy updates for Microsoft Defender ATP for Mac +# Deploy updates for Microsoft Defender ATP for Linux **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. -To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. By default, MAU automatically checks for updates daily, but you can change that to weekly, monthly, or manually. +To update Microsoft Defender ATP for Linux manually, execute command -![MAU screenshot](images/MDATP_34_MAU.png) +- ### For Debian family distros -If you decide to deploy updates by using your software distribution tools, you should configure MAU to manually check for software updates. You can deploy preferences to configure how and when MAU checks for updates for the Macs in your organization. - -## Use msupdate - -MAU includes a command-line tool, called *msupdate*, that is designed for IT administrators so that they have more precise control over when updates are applied. Instructions for how to use this tool can be found in [Update Office for Mac by using msupdate](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate). - -In MAU, the application identifier for Microsoft Defender ATP for Mac is *WDAV00*. To download and install the latest updates for Microsoft Defender ATP for Mac, execute the following command from a Terminal window: - -``` -./msupdate --install --apps wdav00 +```bash +sudo apt-get install --only-upgrade mdatp ``` -## Set preferences for Microsoft AutoUpdate +- ### For Redhat family distros -This section describes the most common preferences that can be used to configure MAU. These settings can be deployed as a configuration profile through the management console that your enterprise is using. An example of a configuration profile is shown in the following sections. - -### Set the channel name - -The channel determines the type and frequency of updates that are offered through MAU. Devices in `InsiderFast` (corresponding to the Insider Fast channel) can try out new features before devices in `External` (corresponding to the Insider Slow channel) and `Production`. - -The `Production` channel contains the most stable version of the product. - ->[!TIP] ->In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to `InsiderFast` or `External`. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | ChannelName | -| **Data type** | String | -| **Possible values** | InsiderFast
External
Production | - -### Set update check frequency - -Change how often MAU searches for updates. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | UpdateCheckFrequency | -| **Data type** | Integer | -| **Default value** | 720 (minutes) | -| **Comment** | This value is set in minutes. | - -### Change how MAU interacts with updates - -Change how MAU searches for updates. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | HowToCheck | -| **Data type** | String | -| **Possible values** | Manual
AutomaticCheck
AutomaticDownload | -| **Comment** | Note that AutomaticDownload will do a download and install silently if possible. | - -### Change whether the "Check for Updates" button is enabled - -Change whether local users will be able to click the "Check for Updates" option in the Microsoft AutoUpdate user interface. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | EnableCheckForUpdatesButton | -| **Data type** | Boolean | -| **Possible values** | True (default)
False | - -### Disable Insider checkbox - -Set to true to make the "Join the Office Insider Program..." checkbox unavailable / greyed out to users. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | DisableInsiderCheckbox | -| **Data type** | Boolean | -| **Possible values** | False (default)
True | - -### Limit the telemetry that is sent from MAU - -Set to false to send minimal heartbeat data, no application usage, and no environment details. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | SendAllTelemetryEnabled | -| **Data type** | Boolean | -| **Possible values** | True (default)
False | - -## Example configuration profile - -The following configuration profile is used to: -- Place the device in the Insider Fast channel -- Automatically download and install updates -- Enable the "Check for updates" button in the user interface -- Allow users on the device to enroll into the Insider channels - -### JAMF - -```XML - - - - - ChannelName - InsiderFast - HowToCheck - AutomaticDownload - EnableCheckForUpdatesButton - - DisableInsiderCheckbox - - SendAllTelemetryEnabled - - - +```bash +sudo yum update mdatp ``` - -### Intune - -```XML - - - - - PayloadUUID - B762FF60-6ACB-4A72-9E72-459D00C936F3 - PayloadType - Configuration - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.autoupdate2 - PayloadDisplayName - Microsoft AutoUpdate settings - PayloadDescription - Microsoft AutoUpdate configuration settings - PayloadVersion - 1 - PayloadEnabled - - PayloadRemovalDisallowed - - PayloadScope - System - PayloadContent - - - PayloadUUID - 5A6F350A-CC2C-440B-A074-68E3F34EBAE9 - PayloadType - com.microsoft.autoupdate2 - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.autoupdate2 - PayloadDisplayName - Microsoft AutoUpdate configuration settings - PayloadDescription - - PayloadVersion - 1 - PayloadEnabled - - ChannelName - InsiderFast - HowToCheck - AutomaticDownload - EnableCheckForUpdatesButton - - DisableInsiderCheckbox - - SendAllTelemetryEnabled - - - - - -``` - -To configure MAU, you can deploy this configuration profile from the management tool that your enterprise is using: -- From JAMF, upload this configuration profile and set the Preference Domain to *com.microsoft.autoupdate2*. -- From Intune, upload this configuration profile and set the custom configuration profile name to *com.microsoft.autoupdate2*. - -## Resources - -- [msupdate reference](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate) \ No newline at end of file From 45ff7b35a75022791a9fb7bf79f008c662e11e10 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 18:36:52 +0530 Subject: [PATCH 010/150] Update linux resources and preferences document Update linux resources and preferences document --- .../microsoft-defender-atp-linux-preferences.md | 2 +- .../microsoft-defender-atp-linux-resources.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index c203ebd24c..9a8245fa7f 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -331,4 +331,4 @@ The following configuration profile contains entries for all settings described ## Configuration profile deployment -Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. +Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. Microsoft M reads the managed configuration from the file */etc/opt/microsoft/mdatp/managed/mdatp_managed.json* diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md index 2f67653ec0..dffd8f9839 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md @@ -1,8 +1,8 @@ --- -title: Microsoft Defender ATP for Mac Resources +title: Microsoft Defender ATP for Linux Resources ms.reviewer: -description: Describes resources for Microsoft Defender ATP for Mac, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes resources for Microsoft Defender ATP for Linux, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -22,7 +22,7 @@ ms.topic: conceptual **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) ## Collecting diagnostic information @@ -64,7 +64,7 @@ The detailed log will be saved to /Library/Logs/Microsoft/mdatp/install.log. If ## Uninstalling -There are several ways to uninstall Microsoft Defender ATP for Mac. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. +There are several ways to uninstall Microsoft Defender ATP for Linux. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. ### Interactive uninstallation From 11268bd85f98d8a9b485057288b55927e16e504a Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 18:42:53 +0530 Subject: [PATCH 011/150] Minor fixes Minor fixes --- .../microsoft-defender-atp-linux-install-with-puppet.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 63a75eb001..2977bcf490 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -28,7 +28,6 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp - [Download installation and onboarding packages](#download-onboarding-package) - [Create Puppet manifest](#create-puppet-manifest) -- [Client device setup](#client-device-setup) - [Deployment](#deployment) - [Check onboarding status](#check-onboarding-status) From b89daf5ed14730bc2e44faedf043e62e5317cda2 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Thu, 24 Oct 2019 12:36:47 +0530 Subject: [PATCH 012/150] Incorporated review comments. --- ...oft-defender-atp-linux-install-manually.md | 53 +++++++++---------- ...-defender-atp-linux-install-with-puppet.md | 14 ++--- ...icrosoft-defender-atp-linux-preferences.md | 25 +-------- .../microsoft-defender-atp-linux-resources.md | 13 ++--- .../microsoft-defender-atp-linux.md | 17 +----- 5 files changed, 42 insertions(+), 80 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index 7116f0b7ef..7e214e9a60 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -39,30 +39,24 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. -> [!NOTE] -> * **TODO:** Use a forward link for above instead of URL -> * I am assuming that ring 0 customers will download the onboarding package from ATP portal - ## Download onboarding package -Download the onboarding package from Windows Defender Security Center: +Download the onboarding package from Microsoft Defender Security Center: -1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. - ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) 4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file: + Extract the contents of the .zip file and create mdatp_onboard.json file as follows: ```bash $ ls -l total 8 -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip - $ unzip WindowsDefenderATPOnboardingPackage.zip - Archive: WindowsDefenderATPOnboardingPackage.zip - inflating: WindowsDefenderATPOnboarding.py + $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json ``` ## Application installation @@ -74,13 +68,13 @@ To complete this process, you must have admin privileges on the machine. - ### Enterprise Linux (RHEL and variants) ```bash - sudo yum install mdatp + sudo yum -y install mdatp ``` - ### Ubuntu and Debian systems ```bash - sudo apt-get install mdatp + sudo apt-get -y install mdatp ``` @@ -94,14 +88,11 @@ To complete this process, you must have admin privileges on the machine. $ mdatp --health orgId ``` -2. Run the Python script to install the configuration file: +2. Copy the mdatp_onboard.json created in earlier step to /etc/opt/microsoft/mdatp_onboard.json ```bash - $ /usr/bin/python WindowsDefenderATPOnboarding.py - Generating /etc/opt/microsoft/mdatp/mdatp_onboard.json ... (You may be required to enter sudo password) + $ sudo cp mdatp.json /etc/opt/microsoft/mdatp/mdatp_onboard.json ``` -> [!NOTE] -> **TODO:** verify the path associated with above command. 3. Verify that the machine is now associated with your organization and reports a valid *orgId*: @@ -110,15 +101,23 @@ To complete this process, you must have admin privileges on the machine. E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -After installation, you can see the status by running the following command: +4. After installation, you can see the status by running the following command: -```bash -$ mdatp --health healthy -1 -``` + ```bash + $ mdatp --health healthy + 1 + ``` -> [!NOTE] -> **TODO:** Should we add eicar detection step? +5. Run a detection test +To verify that the machine is properly onboarded and reporting to the service, take the following steps on the newly onboarded machine: + + - Ensure Real-time protection setting is ON ```mdatp --health realTimeProtectionEnabled``` + - Open a Terminal window +Copy and run the command below: + + ``` bash + curl -o ~/Downloads/eicar.com.txt http://www.eicar.org/download/eicar.com.txt + ``` ## Logging installation issues diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 2977bcf490..3731d54b7c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -35,20 +35,20 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt*, *lsb-release* to help deploy the package. Your organization might use a different workflow. +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to [Puppet documentation](https://puppet.com/docs) for details. ## Download onboarding package -Download the onboarding package from Windows Defender Security Center: +Download the onboarding package from Microsoft Defender Security Center: -1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) 4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file and create mdatp_onboard.json file as follows + Extract the contents of the .zip file and create mdatp_onboard.json file as follows: ```bash $ ls -l @@ -61,7 +61,7 @@ Download the onboarding package from Windows Defender Security Center: You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your puppet server. -Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. +Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp_onboard.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. ```bash $ pwd diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index 9a8245fa7f..eb249f3fe3 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -35,13 +35,9 @@ This topic describes the structure of this profile (including a recommended prof The configuration profile is a .json file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. -The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. +Typically, you would use a configuration management tool to push a file with name ```mdatp_maanged.json``` at location ```/etc/opt/microsoft/mdatp/managed/``` ->[!NOTE] -> **TODO:** -> * Should Domain be removed from all the entries below? -> * Should we add path to wdavcfg? -> * Verify each of below? +The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. ### Antivirus engine preferences @@ -49,7 +45,6 @@ The *antivirusEngine* section of the configuration profile is used to manage the ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | antivirusEngine | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -60,7 +55,6 @@ Whether real-time protection (scan files as they are accessed) is enabled or not ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | enableRealTimeProtection | | **Data type** | Boolean | | **Possible values** | true (default)
false | @@ -76,7 +70,6 @@ Whether the antivirus engine runs in passive mode or not. In passive mode: ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | passiveMode | | **Data type** | Boolean | | **Possible values** | false (default)
true | @@ -88,7 +81,6 @@ Entities that have been excluded from the scan. Exclusions can be specified by f ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | exclusions | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -99,7 +91,6 @@ Specifies the type of content excluded from the scan. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | $type | | **Data type** | String | | **Possible values** | excludedPath
excludedFileExtension
excludedFileName | @@ -110,7 +101,6 @@ Used to exclude content from the scan by full file path. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | path | | **Data type** | String | | **Possible values** | valid paths | @@ -122,7 +112,6 @@ Indicates if the *path* property refers to a file or directory. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | isDirectory | | **Data type** | Boolean | | **Possible values** | false (default)
true | @@ -134,7 +123,6 @@ Used to exclude content from the scan by file extension. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | extension | | **Data type** | String | | **Possible values** | valid file extensions | @@ -146,7 +134,6 @@ Used to exclude content from the scan by file name. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | name | | **Data type** | String | | **Possible values** | any string | @@ -158,7 +145,6 @@ List of threats (identified by their name) that are not blocked by the product a ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | allowedThreats | | **Data type** | Array of strings | @@ -168,7 +154,6 @@ The *threatTypeSettings* preference in the antivirus engine is used to control h ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | threatTypeSettings | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -179,7 +164,6 @@ Type of the threat for which the behavior is configured. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | key | | **Data type** | String | | **Possible values** | potentially_unwanted_application
archive_bomb | @@ -194,7 +178,6 @@ Action to take when coming across a threat of the type specified in the precedin ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | value | | **Data type** | String | | **Possible values** | audit (default)
block
off | @@ -205,7 +188,6 @@ The *cloudService* entry in the configuration profile is used to configure the c ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | cloudService | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -216,7 +198,6 @@ Whether cloud delivered protection is enabled on the device or not. To improve t ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | enabled | | **Data type** | Boolean | | **Possible values** | true (default)
false | @@ -227,7 +208,6 @@ Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, de ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | diagnosticLevel | | **Data type** | String | | **Possible values** | optional (default)
required | @@ -238,7 +218,6 @@ Determines whether suspicious samples (that are likely to contain threats) are s ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | automaticSampleSubmission | | **Data type** | Boolean | | **Possible values** | true (default)
false | diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md index dffd8f9839..295efbedca 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md @@ -60,19 +60,16 @@ If you can reproduce a problem, please increase the logging level, run the syste If an error occurs during installation, the installer will only report a general failure. -The detailed log will be saved to /Library/Logs/Microsoft/mdatp/install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. +The detailed log will be saved to /var/log/microsoft/mdatp_install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. ## Uninstalling -There are several ways to uninstall Microsoft Defender ATP for Linux. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. +There are several ways to uninstall Microsoft Defender ATP for Linux. If you are using a configuration tool such as Puppet, please follow the package uninstallation instructions for the configuration tool. -### Interactive uninstallation +### Manual uninstallation -- Open **Finder > Applications**. Right click on **Microsoft Defender ATP > Move to Trash**. - -### From the command line - -- ```sudo rm -rf '/Applications/Microsoft Defender ATP'``` +- ```sudo apt-get purge mdatp``` for Debian and Ubuntu systems +- ```sudo yum remove mdatp``` for RHEL, Oracle Linux, CentOS based systems ## Configuring from the command line diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index 83c84689a0..fa8fb3cbe0 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -25,12 +25,6 @@ This topic describes how to install, configure, update, and use Microsoft Defend > [!CAUTION] > Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. -> [!NOTE] ->How would users give us feedback? -> **TODO:** Should we add atp --feedback "Feedback" that will send the feedback to us / OCV. I am keeping the original line for reference. -> -> If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. - ## How to install Microsoft Defender ATP for Linux ### Prerequisites @@ -41,14 +35,10 @@ This topic describes how to install, configure, update, and use Microsoft Defend ### System requirements -- Supported Linux distributions and versions: RHEL 7, Oracle 7, CentOS 7, Ubuntu 16 and 18, Debian 9 +- Supported Linux server distributions and versions: RHEL 7, Oracle Linux 7, CentOS 7, Ubuntu 16 and 18, Debian 9 - Disk space: 650 MB. -> [!NOTE] ->**TODO**: Verify this -After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. - -The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. +If your Linux server is behind firewall or proxy, you will likely need to allow outbound connections between it and following servers. The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. | Service location | DNS record | | ---------------------------------------- | ----------------------- | @@ -57,9 +47,6 @@ The following table lists the services and their associated URLs that your netwo | United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | | United States | unitedstates.x.cp.wd.microsoft.com | ->[!NOTE] -> **TODO:** Verify the proxy paragraph - Microsoft Defender ATP can discover a proxy server by using the following discovery methods: - Web Proxy Auto-discovery Protocol (WPAD) - Manual static proxy configuration From 4c1a75e607b501e4616499f53109c91798090ab0 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Thu, 24 Oct 2019 12:38:07 +0530 Subject: [PATCH 013/150] Deleting private and pua handling for now. --- .../microsoft-defender-atp-linux-privacy.md | 273 ------------------ .../microsoft-defender-atp-linux-pua.md | 69 ----- 2 files changed, 342 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md deleted file mode 100644 index 0e2884b388..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md +++ /dev/null @@ -1,273 +0,0 @@ ---- -title: Privacy for Microsoft Defender ATP for Linux -ms.reviewer: -description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Linux. -keywords: microsoft, defender, atp, linux, privacy, diagnostic -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dansimp -author: dansimp -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Privacy for Microsoft Defender ATP for Linux - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) - -Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Linux. - -This topic describes the privacy controls available within the product, how to manage these controls with policy settings and more details on the data events that are collected. - -## Overview of privacy controls in Microsoft Defender ATP for Linux - -This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Linux. - -### Diagnostic data - -Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, detect, diagnose and fix problems, and also make product improvements. - -Some diagnostic data is required, while some diagnostic data is optional. We give you the ability to choose whether to send us required or optional diagnostic data through the use of privacy controls, such as policy settings for organizations. - -There are two levels of diagnostic data for Microsoft Defender ATP client software that you can choose from: - -* **Required**: The minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and performing as expected on the device it’s installed on. - -* **Optional**: Additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and remediate issues. - -By default, both optional and required diagnostic data are sent to Microsoft. - -### Cloud delivered protection data - -Cloud delivered protection is used to provide increased and faster protection with access to the latest protection data in the cloud. - -Enabling the cloud-delivered protection service is optional, however it is highly recommended because it provides important protection against malware on your endpoints and across your network. - -### Sample data - -Sample data is used to improve the protection capabilities of the product, by sending Microsoft suspicious samples so they can be analyzed. Enabling automatic sample submission is optional. - -When this feature is enabled and the sample that is collected is likely to contain personal information, the user is prompted for consent. - -## Manage privacy controls with policy settings - -If you're an IT administrator, you might want to configure these controls at the enterprise level. - -The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). - -As with any new policy settings, you should carefully test them out in a limited, controlled environment to ensure the settings that you configure have the desired effect before you implement the policy settings more widely in your organization. - -## Diagnostic data events - -This section describes what is considered required diagnostic data and what is considered optional diagnostic data, along with a description of the events and fields that are collected. - -### Data fields that are common for all events -There is some information about events that is common to all events, regardless of category or data subtype. - -The following fields are considered common for all events: - -| Field | Description | -| ----------------------- | ----------- | -| platform | The broad classification of the platform on which the app is running. Allows Microsoft to identify on which platforms an issue may be occurring so that it can correctly be prioritized. | -| machine_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | -| sense_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | -| org_id | Unique identifier associated with the enterprise that the device belongs to. Allows Microsoft to identify whether issues are impacting a select set of enterprises and how many enterprises are impacted. | -| hostname | Local machine name (without DNS suffix). Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | -| product_guid | Unique identifier of the product. Allows Microsoft to differentiate issues impacting different flavors of the product. | -| app_version | Version of the Microsoft Defender ATP for Linux application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| -| sig_version | Version of security intelligence database. Allows Microsoft to identify which versions of the security intelligence are showing an issue so that it can correctly be prioritized. | -| supported_compressions | List of compression algorithms supported by the application, for example `['gzip']`. Allows Microsoft to understand what types of compressions can be used when it communicates with the application. | -| release_ring | Ring that the device is associated with (for example Insider Fast, Insider Slow, Production). Allows Microsoft to identify on which release ring an issue may be occurring so that it can correctly be prioritized. | - - -### Required diagnostic data - -**Required diagnostic data** is the minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and perform as expected on the device it’s installed on. - -Required diagnostic data helps to identify problems with Microsoft Defender ATP that may be related to a device or software configuration. For example, it can help determine if a Microsoft Defender ATP feature crashes more frequently on a particular operating system version, with newly introduced features, or when certain Microsoft Defender ATP features are disabled. Required diagnostic data helps Microsoft detect, diagnose, and fix these problems more quickly so the impact to users or organizations is reduced. - -#### Software setup and inventory data events - -> [!NOTE] -> **TODO:** Please review if all the following fields are valid for linux as well - -**Microsoft Defender ATP installation / uninstallation** - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| correlation_id | Unique identifier associated with the installation. | -| version | Version of the package. | -| severity | Severity of the message (for example Informational). | -| code | Code that describes the operation. | -| text | Additional information associated with the product installation. | - -**Microsoft Defender ATP configuration** - -The following fields are collected: - -| Field | Description | -| --------------------------------------------------- | ----------- | -| antivirus_engine.enable_real_time_protection | Whether real-time protection is enabled on the device or not. | -| antivirus_engine.passive_mode | Whether passive mode is enabled on the device or not. | -| cloud_service.enabled | Whether cloud delivered protection is enabled on the device or not. | -| cloud_service.timeout | Time out when the application communicates with the Microsoft Defender ATP cloud. | -| cloud_service.heartbeat_interval | Interval between consecutive heartbeats sent by the product to the cloud. | -| cloud_service.service_uri | URI used to communicate with the cloud. | -| cloud_service.diagnostic_level | Diagnostic level of the device (required, optional). | -| cloud_service.automatic_sample_submission | Whether automatic sample submission is turned on or not. | -| edr.early_preview | Whether the machine should run EDR early preview features. | -| edr.group_id | Group identifier used by the detection and response component. | -| edr.tags | User-defined tags. | -| features.\[optional feature name\] | List of preview features, along with whether they are enabled or not. | - -#### Product and service performance data events - -> [!NOTE] -> **TODO:** Please review if all the following fields are valid for linux as well - -**Kernel extension statistics** - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| version | Version of Microsoft Defender ATP for Linux. | -| instance_id | Unique identifier generated on kernel extension startup. | -| trace_level | Trace level of the kernel extension. | -| ipc.connects | Number of connection requests received by the kernel extension. | -| ipc.rejects | Number of connection requests rejected by the kernel extension. | -| ipc.connected | Whether there is any active connection to the kernel extension. | - -#### Support data - -**Diagnostic logs** - -Diagnostic logs are collected only with the consent of the user as part of the feedback submission feature. The following files are collected as part of the support logs: - -- All files under */var/log/microsoft/mdatp/* -- Subset of files under */var/opt/microsoft/mdatp/* that are created and used by Microsoft Defender ATP for Linux -- Subset of files under */etc/opt/microsoft/mdatp/* that are used by Microsoft Defender ATP for Linux - -### Optional diagnostic data - -**Optional diagnostic data** is additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and fix issues. - -If you choose to send us optional diagnostic data, required diagnostic data is also included. - -Examples of optional diagnostic data include data Microsoft collects about product configuration (for example number of exclusions set on the device) and product performance (aggregate measures about the performance of components of the product). - -#### Software setup and inventory data events - -**Microsoft Defender ATP configuration** - -The following fields are collected: - -| Field | Description | -| -------------------------------------------------- | ----------- | -| connection_retry_timeout | Connection retry time out when communication with the cloud. | -| file_hash_cache_maximum | Size of the product cache. | -| crash_upload_daily_limit | Limit of crash logs uploaded daily. | -| antivirus_engine.exclusions[].is_directory | Whether the exclusion from scanning is a directory or not. | -| antivirus_engine.exclusions[].path | Path that was excluded from scanning. | -| antivirus_engine.exclusions[].extension | Extension excluded from scanning. | -| antivirus_engine.exclusions[].name | Name of the file excluded from scanning. | -| antivirus_engine.scan_cache_maximum | Size of the product cache. | -| antivirus_engine.maximum_scan_threads | Maximum number of threads used for scanning. | -| antivirus_engine.threat_restoration_exclusion_time | Time out before a file restored from the quarantine can be detected again. | -| filesystem_scanner.full_scan_directory | Full scan directory. | -| filesystem_scanner.quick_scan_directories | List of directories used in quick scan. | -| edr.latency_mode | Latency mode used by the detection and response component. | -| edr.proxy_address | Proxy address used by the detection and response component. | - -### Product and service usage - -#### Diagnostic log upload started report - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| sha256 | SHA256 identifier of the support log. | -| size | Size of the support log. | -| original_path | Path to the support log (always under */var/opt/microsoft/mdatp/wdavdiag/*). | -| format | Format of the support log. | - -#### Diagnostic log upload completed report - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| request_id | Correlation ID for the support log upload request. | -| sha256 | SHA256 identifier of the support log. | -| blob_sas_uri | URI used by the application to upload the support log. | - -#### Product and service performance data events - -**Unexpected application exit (crash)** - -Unexpected application exits and the state of the application when that happens. - -**Kernel extension statistics** - -> [!NOTE] -> **TODO:** Is this valid for Linux as well? - -The following fields are collected: - -| Field | Description | -| ------------------------------ | ----------- | -| pkt_ack_timeout | The following properties are aggregated numerical values, representing count of events that happened since kernel extension startup. | -| pkt_ack_conn_timeout | | -| ipc.ack_pkts | | -| ipc.nack_pkts | | -| ipc.send.ack_no_conn | | -| ipc.send.nack_no_conn | | -| ipc.send.ack_no_qsq | | -| ipc.send.nack_no_qsq | | -| ipc.ack.no_space | | -| ipc.ack.timeout | | -| ipc.ack.ackd_fast | | -| ipc.ack.ackd | | -| ipc.recv.bad_pkt_len | | -| ipc.recv.bad_reply_len | | -| ipc.recv.no_waiter | | -| ipc.recv.copy_failed | | -| ipc.kauth.vnode.mask | | -| ipc.kauth.vnode.read | | -| ipc.kauth.vnode.write | | -| ipc.kauth.vnode.exec | | -| ipc.kauth.vnode.del | | -| ipc.kauth.vnode.read_attr | | -| ipc.kauth.vnode.write_attr | | -| ipc.kauth.vnode.read_ex_attr | | -| ipc.kauth.vnode.write_ex_attr | | -| ipc.kauth.vnode.read_sec | | -| ipc.kauth.vnode.write_sec | | -| ipc.kauth.vnode.take_own | | -| ipc.kauth.vnode.denied | | -| ipc.kauth.file_op.mask | | -| ipc.kauth_file_op.open | | -| ipc.kauth.file_op.close | | -| ipc.kauth.file_op.close_modified | | -| ipc.kauth.file_op.move | | -| ipc.kauth.file_op.link | | -| ipc.kauth.file_op.exec | | -| ipc.kauth.file_op.remove | | -| ipc.kauth.file_op.fork | | -| ipc.kauth.file_op.create | | - -## Resources - -- [Privacy at Microsoft](https://privacy.microsoft.com/) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md deleted file mode 100644 index 2ff866b692..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Detect and block potentially unwanted applications -ms.reviewer: -description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Linux. -keywords: microsoft, defender, atp, linux, pua, pus -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dansimp -author: dansimp -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Detect and block potentially unwanted applications - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) - -The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Linux can detect and block PUA files on endpoints in your network. - -These applications are not considered viruses, malware, or other types of threats, but might perform actions on endpoints that adversely affect their performance or use. PUA can also refer to applications that are considered to have poor reputation. - -These applications can increase the risk of your network being infected with malware, cause malware infections to be harder to identify, and can waste IT resources in cleaning up the applications. - -## How it works - -Microsoft Defender ATP for Linux can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. - -When a PUA is detected on an endpoint, Microsoft Defender ATP for Linux presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". - -> [!NOTE] -> **TODO:** Reword for Linux - -## Configure PUA protection - -PUA protection in Microsoft Defender ATP for Linux can be configured in one of the following ways: - -- **Off**: PUA protection is disabled. -- **Audit**: PUA files are reported in the product logs, but not in Microsoft Defender Security Center. No notification is presented to the user and no action is taken by the product. -- **Block**: PUA files are reported in the product logs and in Microsoft Defender Security Center. The user is presented with a notification and action is taken by the product. - ->[!WARNING] ->By default, PUA protection is configured in **Audit** mode. - -You can configure how PUA files are handled from the command line or from the management console. - -### Use the command-line tool to configure PUA protection: - -In Terminal, execute the following command to configure PUA protection: - -```bash -$ mdatp --threat --type-handling potentially_unwanted_application [off|audit|block] -``` - -### Use the management console to configure PUA protection: - -In your enterprise, you can configure PUA protection from a management console, such as Puppet, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-linux-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) topic. - -## Related topics - -- [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) From 36f37faf2136fc96a5422250f4eb16985ae8863a Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Thu, 24 Oct 2019 17:33:25 +0530 Subject: [PATCH 014/150] added mdatp --connectivity-test --- .../microsoft-defender-atp-linux.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index fa8fb3cbe0..1d5f12dde9 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -63,10 +63,22 @@ $ curl -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'http The output from this command should be similar to the following: -> `OK https://x.cp.wd.microsoft.com/api/report` -> +> `OK https://x.cp.wd.microsoft.com/api/report` > `OK https://cdn.x.cp.wd.microsoft.com/ping` +You can also use ```mdatp --connectivity-test``` to verify the connectivity. + +```bash +$ mdatp --connectivity-test +Running connectivity test +Testing connection with https://cdn.x.cp.wd.microsoft.com/ping ... [OK] +Testing connection with https://eu-cdn.x.cp.wd.microsoft.com/ping ... [OK] +Testing connection with https://wu-cdn.x.cp.wd.microsoft.com/ping ... [OK] +Testing connection with https://unitedstates.x.cp.wd.microsoft.com/api/report ... [OK] +Testing connection with https://ussus1eastprod.blob.core.windows.net ... [OK] +Testing connection with https://ussus1westprod.blob.core.windows.net ... [OK] +``` + ### Installation instructions There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. @@ -84,8 +96,6 @@ In general you need to take the following steps: ## How to update Microsoft Defender ATP for Linux ->[!NOTE] -> **TODO:** Upgrade story is not very clear right now! Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) From 952179cbf11efe22fa98b4362e3e23c7209acafb Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Wed, 30 Oct 2019 16:13:21 +0530 Subject: [PATCH 015/150] Added section on known issues to overview page Added section on known issues to overview page --- .../microsoft-defender-atp-linux.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index 1d5f12dde9..c360a259ba 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -103,6 +103,13 @@ Microsoft regularly publishes software updates to improve performance, security, Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). +## Known Issues + +- Logged on users do not appear in the ATP portal +- Quarantining a threat requires elevated permissions. Run with ```sudo mdatp --threat --quarantine ``` +- Product has not been evaluated yet side by side with SELinux + + ## Resources - For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-linux-resources.md) page. From afa2a24c3b675b44f1ebb4bdfaa0601a4eb9c5f4 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Fri, 15 Nov 2019 13:38:53 -0800 Subject: [PATCH 016/150] Update supported distros --- .../microsoft-defender-atp-linux.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index c360a259ba..e582b3ace6 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -35,7 +35,14 @@ This topic describes how to install, configure, update, and use Microsoft Defend ### System requirements -- Supported Linux server distributions and versions: RHEL 7, Oracle Linux 7, CentOS 7, Ubuntu 16 and 18, Debian 9 +- Supported Linux server distributions and versions: + + - Red Hat Enterprise Linux 7 or higher + - CentOS 7 or higher + - Ubuntu 16.04 LTS or higher + - Debian 9 or higher + - SUSE Linux Enterprise Server 12 or higher + - Disk space: 650 MB. If your Linux server is behind firewall or proxy, you will likely need to allow outbound connections between it and following servers. The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. @@ -48,7 +55,7 @@ If your Linux server is behind firewall or proxy, you will likely need to allow | United States | unitedstates.x.cp.wd.microsoft.com | Microsoft Defender ATP can discover a proxy server by using the following discovery methods: -- Web Proxy Auto-discovery Protocol (WPAD) +- Transparent proxy - Manual static proxy configuration If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. @@ -96,7 +103,6 @@ In general you need to take the following steps: ## How to update Microsoft Defender ATP for Linux - Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) ## How to configure Microsoft Defender ATP for Linux From b427164ccedbc5c0671dcd210f0992fa62ec54d9 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Fri, 15 Nov 2019 13:52:59 -0800 Subject: [PATCH 017/150] Clarify ubuntu --- .../windows-defender-antivirus/microsoft-defender-atp-linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index e582b3ace6..ae7104ff7f 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -39,7 +39,7 @@ This topic describes how to install, configure, update, and use Microsoft Defend - Red Hat Enterprise Linux 7 or higher - CentOS 7 or higher - - Ubuntu 16.04 LTS or higher + - Ubuntu 16.04 LTS or higher LTS - Debian 9 or higher - SUSE Linux Enterprise Server 12 or higher From 1401fa7938bd94b31128dc723bd7e0446c5ea82f Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Fri, 10 Jan 2020 14:28:11 -0800 Subject: [PATCH 018/150] Add flash device locked by others to HoloLens FAQs @scooley @yannisle Adding how to recover a HoloLens if locked out of a device. --- devices/hololens/hololens-FAQ.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/devices/hololens/hololens-FAQ.md b/devices/hololens/hololens-FAQ.md index a183165e4a..e11c2611e8 100644 --- a/devices/hololens/hololens-FAQ.md +++ b/devices/hololens/hololens-FAQ.md @@ -45,6 +45,7 @@ This FAQ addresses the following questions and issues: - [My HoloLens isn't running well, is unresponsive, or won't start](#my-hololens-isnt-running-well-is-unresponsive-or-wont-start) - [How do I delete all spaces?](#how-do-i-delete-all-spaces) - [I cannot find or use the keyboard to type in the HoloLens 2 Emulator](#i-cannot-find-or-use-the-keyboard-to-type-in-the-hololens-2-emulator) +- [I can't log in to a HoloLens because it was previously set up for someone else](#I-cant-log-in-to-a-HoloLens-because-it-was-previously-set-up-for-someone-else) ## My holograms don't look right or are moving around @@ -204,6 +205,14 @@ If your device isn't performing properly, see [Restart, reset, or recover HoloLe [Back to list](#list) +## I can't log in to a HoloLens because it was previously set up for someone else + +If your device was previously set up for someone else, either a client or former employee and you don't have their password to unlock the device there are two solutions. +- If your device is MDM managed by Intune then you can remotely [Wipe](/IntuneDocs/intune/remote-actions/devices-wipe/) the device and it'll reflash itself. Make sure to leave **Retain enrollment state and user account** unchecked. +- If you have the device with you then you can put the device into **Flashing Mode** and use Advanced Recovery Companion to [recover](https://review.docs.microsoft.com/hololens/hololens-recovery?branch=master#hololens-2) the device. + +[Back to list](#list) + ## How do I delete all spaces? *Coming soon* @@ -215,3 +224,4 @@ If your device isn't performing properly, see [Restart, reset, or recover HoloLe *Coming soon* [Back to list](#list) + From 17ecb7c7e54189325402f85a71623b813d916a6b Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Wed, 22 Jan 2020 14:04:43 +0500 Subject: [PATCH 019/150] Update recommended-network-definitions-for-wip.md --- .../recommended-network-definitions-for-wip.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/security/information-protection/windows-information-protection/recommended-network-definitions-for-wip.md b/windows/security/information-protection/windows-information-protection/recommended-network-definitions-for-wip.md index c3e7e88640..fee621245c 100644 --- a/windows/security/information-protection/windows-information-protection/recommended-network-definitions-for-wip.md +++ b/windows/security/information-protection/windows-information-protection/recommended-network-definitions-for-wip.md @@ -33,12 +33,14 @@ This table includes the recommended URLs to add to your Enterprise Cloud Resourc |If your organization uses... |Add these entries to your Enterprise Cloud Resources network setting
(Replace "contoso" with your domain name(s)| |-----------------------------|---------------------------------------------------------------------| -|Office 365 for Business |
  • contoso.sharepoint.com
  • contoso-my.sharepoint.com
  • contoso-files.sharepoint.com
  • tasks.office.com
  • protection.office.com
  • meet.lync.com
  • teams.microsoft.com
| +|Sharepoint Online |
  • contoso.sharepoint.com
  • contoso-my.sharepoint.com
  • contoso-files.sharepoint.com
| |Yammer |
  • www.yammer.com
  • yammer.com
  • persona.yammer.com
| |Outlook Web Access (OWA) |
  • outlook.office.com
  • outlook.office365.com
  • attachments.office.net
| |Microsoft Dynamics |contoso.crm.dynamics.com | |Visual Studio Online |contoso.visualstudio.com | |Power BI |contoso.powerbi.com | +|Microsoft Teams |teams.microsoft.com | +|Other Office 365 services |
  • tasks.office.com
  • protection.office.com
  • meet.lync.com
  • project.microsoft.com
| You can add other work-only apps to the Cloud Resource list, or you can create a packaged app rule for the .exe file to protect every file the app creates or modifies. Depending on how the app is accessed, you might want to add both. From a9e14d89123e3b02729dbb3c383dc91fc4487933 Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Mon, 27 Jan 2020 13:54:47 -0800 Subject: [PATCH 020/150] remove review. from url @scooley Made requested change --- devices/hololens/hololens-FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/hololens/hololens-FAQ.md b/devices/hololens/hololens-FAQ.md index e11c2611e8..c91612ffa0 100644 --- a/devices/hololens/hololens-FAQ.md +++ b/devices/hololens/hololens-FAQ.md @@ -209,7 +209,7 @@ If your device isn't performing properly, see [Restart, reset, or recover HoloLe If your device was previously set up for someone else, either a client or former employee and you don't have their password to unlock the device there are two solutions. - If your device is MDM managed by Intune then you can remotely [Wipe](/IntuneDocs/intune/remote-actions/devices-wipe/) the device and it'll reflash itself. Make sure to leave **Retain enrollment state and user account** unchecked. -- If you have the device with you then you can put the device into **Flashing Mode** and use Advanced Recovery Companion to [recover](https://review.docs.microsoft.com/hololens/hololens-recovery?branch=master#hololens-2) the device. +- If you have the device with you then you can put the device into **Flashing Mode** and use Advanced Recovery Companion to [recover](https://docs.microsoft.com/hololens/hololens-recovery?branch=master#hololens-2) the device. [Back to list](#list) From bc851c8572cfeab11ef8d338a786da6ad2d3138f Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Wed, 5 Feb 2020 15:21:36 -0800 Subject: [PATCH 021/150] Edit pass: dmclient-csp @greg-lindsay , @Dansimp The edit on this article is complete per work item 3851148. Let me know if my edits changed the technical meaning anywhere. Once you've approved, please sign off. Thanks! Kelly --- windows/client-management/mdm/dmclient-csp.md | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/windows/client-management/mdm/dmclient-csp.md b/windows/client-management/mdm/dmclient-csp.md index 4767766c8c..b821e3566f 100644 --- a/windows/client-management/mdm/dmclient-csp.md +++ b/windows/client-management/mdm/dmclient-csp.md @@ -1,6 +1,6 @@ --- title: DMClient CSP -description: Understand how the DMClient configuration service provider works. It is used to specify enterprise-specific mobile device management configuration settings. +description: Understand how the DMClient configuration service provider (CSP) is used to specify enterprise-specific mobile device management (MDM) configuration settings. ms.assetid: a5cf35d9-ced0-4087-a247-225f102f2544 ms.reviewer: manager: dansimp @@ -15,9 +15,9 @@ ms.date: 11/01/2017 # DMClient CSP -The DMClient configuration service provider is used to specify additional enterprise-specific mobile device management configuration settings for identifying the device in the enterprise domain, security mitigation for certificate renewal, and server-triggered enterprise unenrollment. +The DMClient configuration service provider (CSP) is used to specify additional enterprise-specific mobile device management (MDM) configuration settings for identifying the device in the enterprise domain, for security mitigation for certificate renewal, and for server-triggered enterprise unenrollment. -The following diagram shows the DMClient configuration service provider in tree format. +The following diagram shows the DMClient CSP in tree format. ![dmclient csp](images/provisioning-csp-dmclient-th2.png) @@ -25,7 +25,7 @@ The following diagram shows the DMClient configuration service provider in tree Root node for the CSP. **UpdateManagementServiceAddress** -For provisioning packages only. Specifies the list of servers (semicolon delimited). The first server in the semi-colon delimited list is the server that will be used to instantiate MDM sessions. The list can be a permutation or a subset of the existing server list. You cannot add new servers to the list using this node. +For provisioning packages only. Specifies the list of servers (semicolon delimited). The first server in the semicolon delimited list is the server that will be used to instantiate MDM sessions. The list can be a permutation or a subset of the existing server list. You cannot add new servers to the list using this node. **HWDevID** Added in Windows 10, version 1703. Returns the hardware device ID. @@ -45,16 +45,17 @@ For Intune, use **MS DM Server** for Windows desktop or **SCConfigMgr** for Wind Supported operations are Get and Add. **Provider/*ProviderID*/EntDeviceName** -Optional. Character string that contains the user-friendly device name used by the IT admin console. The value is set during the enrollment process by way of the DMClient configuration service provider. You can retrieve it later during an OMA DM session. +Optional. Character string that contains the user-friendly device name used by the IT admin console. The value is set during the enrollment process by way of the DMClient CSP. You can retrieve it later during an OMA DM session. Supported operations are Get and Add. **Provider/*ProviderID*/EntDMID** -Optional. Character string that contains the unique enterprise device ID. The value is set by the management server during the enrollment process by way of the DMClient configuration service provider. You can retrieve it later during an OMA DM session. +Optional. Character string that contains the unique enterprise device ID. The value is set by the management server during the enrollment process by way of the DMClient CSP. You can retrieve it later during an OMA DM session. Supported operations are Get and Add. -> **Note**   Although hardware device IDs are guaranteed to be unique, there is a concern that this is not ultimately enforceable during a DM session. The device ID could be changed through the w7 APPLICATION configuration service provider’s **USEHWDEVID** parm by another management server. So during enterprise bootstrap and enrollment, a new device ID is specified by the enterprise server. +> [!NOTE] +> Although hardware device IDs are guaranteed to be unique, there is a concern that this is not ultimately enforceable during a DM session. The device ID could be changed through the w7 APPLICATION CSP’s **USEHWDEVID** parm by another management server. So during enterprise bootstrap and enrollment, a new device ID is specified by the enterprise server. This node is required and must be set by the server before the client certificate renewal is triggered. @@ -62,7 +63,8 @@ This node is required and must be set by the server before the client certificat **Provider/*ProviderID*/ExchangeID** Optional. Character string that contains the unique Exchange device ID used by the Outlook account of the user the session is running against. This is useful for the enterprise management server to correlate and merge records for a device that is managed by exchange and natively managed by a dedicated management server. -> **Note**  In some cases for the desktop, this node will return "not found" until the user sets up their email. +> [!NOTE] +> In some cases for the desktop, this node will return "not found" until the user sets up their email. @@ -87,7 +89,7 @@ The following is a Get command example. Supported operation is Get. **Provider/*ProviderID*/SignedEntDMID** -Optional. Character string that contains the device ID. This node and the nodes **CertRenewTimeStamp** can be used by the mobile device management server to verify client identity in order to update the registration record after the device certificate is renewed. The device signs the **EntDMID** with the old client certificate during the certificate renewal process and saves the signature locally. +Optional. Character string that contains the device ID. This node and the nodes **CertRenewTimeStamp** can be used by the MDM server to verify client identity in order to update the registration record after the device certificate is renewed. The device signs the **EntDMID** with the old client certificate during the certificate renewal process and saves the signature locally. Supported operation is Get. @@ -99,11 +101,12 @@ Supported operation is Get. **Provider/*ProviderID*/ManagementServiceAddress** Required. The character string that contains the device management server address. It can be updated during an OMA DM session by the management server to allow the server to load balance to another server in situations where too many devices are connected to the server. -> **Note**  When the ManagementServerAddressList value is set, the device ignores the value in ManagementServiceAddress. +> [!NOTE] +> When the **ManagementServerAddressList** value is set, the device ignores the value. -The DMClient configuration service provider will save the address to the same location as the w7 and DMS configuration service providers to ensure the management client has a single place to retrieve the current server address. The initial value for this node is the same server address value as bootstrapped via the [w7 APPLICATION configuration service provider](w7-application-csp.md). +The DMClient CSP will save the address to the same location as the w7 and DMS CSPs to ensure the management client has a single place to retrieve the current server address. The initial value for this node is the same server address value as bootstrapped via the [w7 APPLICATION configuration service provider](w7-application-csp.md). Starting in Windows 10, version 1511, this node supports multiple server addresses in the format <URL1><URL2><URL3>. If there is only a single URL, then the <> are not required. This is supported for both desktop and mobile devices. @@ -143,8 +146,8 @@ Supported operations are Get, Replace, and Delete. **Provider/*ProviderID*/SyncApplicationVersion** Optional. Used by the management server to set the DM session version that the server and device should use. Default is 1.0. In Windows 10, the DM session protocol version of the client is 2.0. If the server is updated to support 2.0, then you should set this value to 2.0. In the next session, check to see if there is a client behavior change between 1.0 and 2.0. -> **Note**   -This node is only supported in Windows 10 and later. +> [!NOTE]   +> This node is only supported in Windows 10 and later. Once you set the value to 2.0, it will not go back to 1.0. @@ -160,9 +163,9 @@ When you query this node, a Windows 10 client will return 2.0 and a Windows 8. Supported operation is Get. **Provider/*ProviderID*/AADResourceID** -Optional. This is the ResourceID used when requesting the user token from the OMA DM session for Azure Active Directory enrollments (AAD Join or Add Accounts). The token is audience specific, which allows for different service principals (enrollment vs. device management). It can be an application ID or the endpoint that you are trying to access. +Optional. This is the ResourceID used when requesting the user token from the OMA DM session for Azure Active Directory (Azure AD) enrollments (Azure AD Join or Add Accounts). The token is audience specific, which allows for different service principals (enrollment vs. device management). It can be an application ID or the endpoint that you are trying to access. -For more information about Azure Active Directory enrollment, see [Azure Active Directory integration with MDM](azure-active-directory-integration-with-mdm.md). +For more information about Azure AD enrollment, see [Azure Active Directory integration with MDM](azure-active-directory-integration-with-mdm.md). **Provider/*ProviderID*/EnableOmaDmKeepAliveMessage** Added in Windows 10, version 1511. A boolean value that specifies whether the DM client should send out a request pending alert in case the device response to a DM request is too slow. @@ -203,7 +206,7 @@ Here is an example of DM message sent by the device when it is in pending state: ``` **Provider/*ProviderID*/AADDeviceID** -Added in Windows 10, version 1607. Returns the device ID for the Azure Active Directory device registration. +Added in Windows 10, version 1607. Returns the device ID for the Azure AD device registration. Supported operation is Get. @@ -225,7 +228,8 @@ Supported operations are Add, Get, Replace, and Delete. **Provider/*ProviderID*/ManagementServerAddressList** Added in Windows 10, version 1607. The list of management server URLs in the format <URL1><URL2><URL3>, etc... If there is only one, the angle brackets (<>) are not required. -> **Note**  The < and > should be escaped. +> [!NOTE] +> The < and > should be escaped. @@ -260,7 +264,7 @@ Optional. Number of days after last sucessful sync to unenroll. Supported operations are Add, Delete, Get, and Replace. Value type is integer. **Provider/*ProviderID*/AADSendDeviceToken** -Device. Added in Windows 10 version 1803. For AZure AD backed enrollments, this will cause the client to send a Device Token if the User Token can not be obtained. +Device. Added in Windows 10 version 1803. For Azure AD backed enrollments, this will cause the client to send a Device Token if the User Token can not be obtained. Supported operations are Add, Delete, Get, and Replace. Value type is bool. @@ -377,7 +381,8 @@ If there is no infinite schedule set, then a 24-hour schedule is created and sch **Invalid poll schedule: disable all poll schedules** -> **Note**   Disabling poll schedules results in UNDEFINED behavior and enrollment may fail if poll schedules are all set to zero. +> [!NOTE] +> Disabling poll schedules results in UNDEFINED behavior and enrollment may fail if poll schedules are all set to zero. @@ -557,7 +562,7 @@ Optional. Not configurable during WAP Provisioining XML. If removed, DM sessions Supported operations are Add and Delete. **Provider/*ProviderID*/Push/PFN** -Required. A string provided by the Windows 10 ecosystem for a Mobile Device Management solution. Used to register a device for Push Notifications. The server must use the same PFN as the devices it is managing. +Required. A string provided by the Windows 10 ecosystem for an MDM solution. Used to register a device for Push Notifications. The server must use the same PFN as the devices it is managing. Supported operations are Add, Get, and Replace. @@ -665,7 +670,7 @@ Required. Added in Windows 10, version 1709. This node contains a list of LocURI Supported operations are Add, Delete, Get, and Replace. Value type is string. **Provider/*ProviderID*/FirstSyncStatus/ExpectedMSIAppPackages** -Required. Added in Windows 10, version 1709. This node contains a list of LocURIs that refer to App Packages the management service provider expects to provision via EnterpriseDesktopAppManagement CSP, delimited by the character L"\xF000". The LocURI will be followed by a semicolon and a number, representing the amount of apps included in the App Package. We will not verify that number. For example, `./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID1/Status;4"\xF000" ./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID2/Status;2` This represents App Package ProductID1 containing 4 apps, and ProductID2 containing 2 apps. +Required. Added in Windows 10, version 1709. This node contains a list of LocURIs that refer to App Packages the management service provider expects to provision via EnterpriseDesktopAppManagement CSP, delimited by the character L"\xF000". The LocURI will be followed by a semicolon and a number, representing the amount of apps included in the App Package. We will not verify that number. For example, `./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID1/Status;4"\xF000" ./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID2/Status;2` This represents App Package ProductID1 containing four apps, and ProductID2 containing two apps. Supported operations are Add, Delete, Get, and Replace. Value type is string. @@ -677,7 +682,7 @@ Required. Added in Windows 10, version 1709. This node contains a list of LocURI ./Vendor/MSFT/EnterpriseModernAppManagement/AppManagement/AppStore/PackageFamilyName/PackageFullName2/Name;2 ``` -This represents App Package PackageFullName containing 4 apps, and PackageFullName2 containing 2 apps. +This represents App Package PackageFullName containing four apps, and PackageFullName2 containing two apps. Supported operations are Add, Delete, Get, and Replace. Value type is string. From 82a77fbbff61bfe7bea7d22ef1b2fd75a91f8b07 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Wed, 5 Feb 2020 17:26:19 -0800 Subject: [PATCH 022/150] Update dmclient-csp.md --- windows/client-management/mdm/dmclient-csp.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/client-management/mdm/dmclient-csp.md b/windows/client-management/mdm/dmclient-csp.md index b821e3566f..1ed4f22fd6 100644 --- a/windows/client-management/mdm/dmclient-csp.md +++ b/windows/client-management/mdm/dmclient-csp.md @@ -135,7 +135,7 @@ Optional. The character string that allows the user experience to include a cust Supported operations are Get, Replace, and Delete. **Provider/*ProviderID*/RequireMessageSigning** -Boolean type. Primarly used for SSL bridging mode where firewalls and proxies are deployed and where device client identity is required. When enabled, every SyncML message from the device will carry an additional HTTP header named MDM-Signature. This header contains BASE64-encoded Cryptographic Message Syntax using a Detached Signature of the complete SyncML message SHA-2 (inclusive of the SyncHdr and SyncBody). Signing is performed using the private key of the management session certificate that was enrolled as part of the enrollment process. The device public key and PKCS9 UTC signing time stamp are included as part of the authenticated attributes in the signature. +Boolean type. Primarily used for SSL bridging mode where firewalls and proxies are deployed and where device client identity is required. When enabled, every SyncML message from the device will carry an additional HTTP header named MDM-Signature. This header contains BASE64-encoded Cryptographic Message Syntax using a Detached Signature of the complete SyncML message SHA-2 (inclusive of the SyncHdr and SyncBody). Signing is performed using the private key of the management session certificate that was enrolled as part of the enrollment process. The device public key and PKCS9 UTC signing time stamp are included as part of the authenticated attributes in the signature. Default value is false, where the device management client does not include authentication information in the management session HTTP header. Optionally set to true, where the client authentication information is provided in the management session HTTP header. @@ -163,7 +163,7 @@ When you query this node, a Windows 10 client will return 2.0 and a Windows 8. Supported operation is Get. **Provider/*ProviderID*/AADResourceID** -Optional. This is the ResourceID used when requesting the user token from the OMA DM session for Azure Active Directory (Azure AD) enrollments (Azure AD Join or Add Accounts). The token is audience specific, which allows for different service principals (enrollment vs. device management). It can be an application ID or the endpoint that you are trying to access. +Optional. This is the ResourceID used when requesting the user token from the OMA DM session for Azure Active Directory (Azure AD) enrollments (Azure AD Join or Add Accounts). The token is audience-specific, which allows for different service principals (enrollment vs. device management). It can be an application ID or the endpoint that you are trying to access. For more information about Azure AD enrollment, see [Azure Active Directory integration with MDM](azure-active-directory-integration-with-mdm.md). @@ -226,7 +226,7 @@ Added in Windows 10, version 1607. Configures the identifier used to uniquely a Supported operations are Add, Get, Replace, and Delete. **Provider/*ProviderID*/ManagementServerAddressList** -Added in Windows 10, version 1607. The list of management server URLs in the format <URL1><URL2><URL3>, etc... If there is only one, the angle brackets (<>) are not required. +Added in Windows 10, version 1607. The list of management server URLs in the format <URL1><URL2><URL3>, and so on. If there is only one, the angle brackets (<>) are not required. > [!NOTE] > The < and > should be escaped. @@ -259,12 +259,12 @@ Optional. Added in Windows 10, version 1703. Specify the Discovery server URL o Supported operations are Add, Delete, Get, and Replace. Value type is string. **Provider/*ProviderID*/NumberOfDaysAfterLostContactToUnenroll** -Optional. Number of days after last sucessful sync to unenroll. +Optional. Number of days after last successful sync to unenroll. Supported operations are Add, Delete, Get, and Replace. Value type is integer. **Provider/*ProviderID*/AADSendDeviceToken** -Device. Added in Windows 10 version 1803. For Azure AD backed enrollments, this will cause the client to send a Device Token if the User Token can not be obtained. +Device. Added in Windows 10 version 1803. For Azure AD backed enrollments, this will cause the client to send a Device Token if the User Token cannot be obtained. Supported operations are Add, Delete, Get, and Replace. Value type is bool. @@ -557,7 +557,7 @@ Optional. Boolean value that allows the IT admin to require the device to start Supported operations are Add, Get, and Replace. **Provider/*ProviderID*/Push** -Optional. Not configurable during WAP Provisioining XML. If removed, DM sessions triggered by Push will no longer be supported. +Optional. Not configurable during WAP Provisioning XML. If removed, DM sessions triggered by Push will no longer be supported. Supported operations are Add and Delete. @@ -670,7 +670,7 @@ Required. Added in Windows 10, version 1709. This node contains a list of LocURI Supported operations are Add, Delete, Get, and Replace. Value type is string. **Provider/*ProviderID*/FirstSyncStatus/ExpectedMSIAppPackages** -Required. Added in Windows 10, version 1709. This node contains a list of LocURIs that refer to App Packages the management service provider expects to provision via EnterpriseDesktopAppManagement CSP, delimited by the character L"\xF000". The LocURI will be followed by a semicolon and a number, representing the amount of apps included in the App Package. We will not verify that number. For example, `./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID1/Status;4"\xF000" ./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID2/Status;2` This represents App Package ProductID1 containing four apps, and ProductID2 containing two apps. +Required. Added in Windows 10, version 1709. This node contains a list of LocURIs that refer to App Packages the management service provider expects to provision via EnterpriseDesktopAppManagement CSP, delimited by the character L"\xF000". The LocURI will be followed by a semicolon and a number, representing the number of apps included in the App Package. We will not verify that number. For example, `./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID1/Status;4"\xF000" ./User/Vendor/MSFT/EnterpriseDesktopAppManagement/MSI/ProductID2/Status;2` This represents App Package ProductID1 containing four apps, and ProductID2 containing two apps. Supported operations are Add, Delete, Get, and Replace. Value type is string. From e8f95f4f3531d9191299b40385cc3f69d2a448d3 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Thu, 6 Feb 2020 15:31:19 -0800 Subject: [PATCH 023/150] Edit pass: eap-configuration @greg-lindsay , @Dansimp The edit on this article is complete per work item 3851148. Let me know if my edits changed the technical meaning anywhere. Once you've approved, please sign off. Two comments: - Changing "internet" to "Internet" contra MS Writing style per team guidance that MARVEL follows this usage. - Lines 135, 267, and 288 seems to be referencing the "EAP configuration article." Is this a different article? If so, should we provide a link? If not, should we make that clearer? Thanks! Kelly --- .../mdm/eap-configuration.md | 97 ++++++++++--------- 1 file changed, 50 insertions(+), 47 deletions(-) diff --git a/windows/client-management/mdm/eap-configuration.md b/windows/client-management/mdm/eap-configuration.md index f687502610..8697bf45eb 100644 --- a/windows/client-management/mdm/eap-configuration.md +++ b/windows/client-management/mdm/eap-configuration.md @@ -1,6 +1,6 @@ --- title: EAP configuration -description: Learn how to create an Extensible Authentication Protocol (EAP) configuration XML for a VPN profile, plus info about EAP certificate filtering in Windows 10. +description: Learn how to create an Extensible Authentication Protocol (EAP) configuration XML for a VPN profile, including details about EAP certificate filtering in Windows 10. ms.assetid: DD3F2292-4B4C-4430-A57F-922FED2A8FAE ms.reviewer: manager: dansimp @@ -15,46 +15,46 @@ ms.date: 06/26/2017 # EAP configuration -The topic provides a step-by-step guide for creating an Extensible Authentication Protocol (EAP) configuration XML for the VPN profile and information about EAP certificate filtering in Windows 10. +This article provides a step-by-step guide for creating an Extensible Authentication Protocol (EAP) configuration XML for a VPN profile, including information about EAP certificate filtering in Windows 10. -## Create an Extensible Authentication Protocol (EAP) configuration XML for the VPN profile +## Create an EAP configuration XML for a VPN profile -Here is an easy way to get the EAP configuration from your desktop using the rasphone tool that is shipped in the box. +To get the EAP configuration from your desktop using the rasphone tool that is shipped in the box: 1. Run rasphone.exe. ![vpnv2 rasphone](images/vpnv2-csp-rasphone.png) -2. If you don't currently have any VPN connections and you see the following message, click **OK**. +1. If you don't currently have a VPN connection and you see the following message, select **OK**. ![vpnv2 eap configuration](images/vpnv2-csp-networkconnections.png) -3. Select **Workplace network** in the wizard. +1. In the wizard, select **Workplace network**. ![vpnv2 eap configuration](images/vpnv2-csp-setupnewconnection.png) -4. Enter any dummy information for the internet address and connection name. These can be fake since it does not impact the authentication parameters. +1. Enter an Internet address and connection name. These can be fake since it does not impact the authentication parameters. ![vpnv2 eap configuration](images/vpnv2-csp-setupnewconnection2.png) -5. Create a fake VPN connection. In the UI shown below, click **Properties**. +1. Create a fake VPN connection. In the UI shown here, select **Properties**. ![vpnv2 eap configuration](images/vpnv2-csp-choosenetworkconnection.png) -6. In the **Test Properties** dialog, click the **Security** tab. +1. In the **Test Properties** dialog, select the **Security** tab. ![vpnv2 eap configuration](images/vpnv2-csp-testproperties.png) -7. In the **Security** tab, select **Use Extensible Authentication Protocol (EAP)** radio button. +1. On the **Security** tab, select **Use Extensible Authentication Protocol (EAP)**. ![vpnv2 eap configuration](images/vpnv2-csp-testproperties2.png) -8. From the drop down menu, select the EAP method that you want to configure. Then click **Properties** to configure as needed. +1. From the drop-down menu, select the EAP method that you want to configure, and then select **Properties** to configure as needed. ![vpnv2 eap configuration](images/vpnv2-csp-testproperties3.png)![vpnv2 eap configuration](images/vpnv2-csp-testproperties4.png) -9. Switch over to PowerShell and use the following cmdlets to retrieve the EAP configuration XML. +1. Switch over to PowerShell and use the following cmdlets to retrieve the EAP configuration XML. ```powershell Get-VpnConnection -Name Test @@ -88,7 +88,7 @@ Here is an easy way to get the EAP configuration from your desktop using the ras $a.EapConfigXmlStream.InnerXml ``` - Here is an example output + Here is an example output. ```xml **./Device/Vendor/MSFT/BitLocker** Defines the root node for the BitLocker configuration service provider. - + **RequireStorageCardEncryption** + Allows the administrator to require storage card encryption on the device. This policy is valid only for a mobile SKU. - + + @@ -57,12 +60,13 @@ Allows the administrator to require storage card encryption on the device. This
Homecheck mark
+ Data type is integer. Sample value for this node to enable this policy: 1. Disabling this policy will not turn off the encryption on the storage card, but the user will no longer be prompted to turn it on. - + - 0 (default) – Storage cards do not need to be encrypted. - 1 – Require storage cards to be encrypted. - + Disabling this policy will not turn off the encryption on the system card, but the user will no longer be prompted to turn it on. If you want to disable this policy use the following SyncML: @@ -87,11 +91,13 @@ If you want to disable this policy use the following SyncML: ``` Data type is integer. Supported operations are Add, Get, Replace, and Delete. - + + **RequireDeviceEncryption** - + Allows the administrator to require encryption to be turned on by using BitLocker\Device Encryption. - + + @@ -112,7 +118,7 @@ Allows the administrator to require encryption to be turned on by using BitLocke
Homecheck mark
- + Data type is integer. Sample value for this node to enable this policy: 1. Supported operations are Add, Get, Replace, and Delete. @@ -126,12 +132,12 @@ Encryptable fixed data volumes are treated similarly to OS volumes. However, fix - It must not be a system partition. - It must not be backed by virtual storage. - It must not have a reference in the BCD store. - + The following list shows the supported values: - 0 (default) — Disable. If the policy setting is not set or is set to 0, the device's enforcement status is not checked. The policy does not enforce encryption and it does not decrypt encrypted volumes. - 1 – Enable. The device's enforcement status is checked. Setting this policy to 1 triggers encryption of all drives (silently or non-silently based on [AllowWarningForOtherDiskEncryption](#allowwarningforotherdiskencryption) policy). - + If you want to disable this policy, use the following SyncML: ```xml @@ -152,10 +158,13 @@ If you want to disable this policy, use the following SyncML: ``` - + + **EncryptionMethodByDriveType** - -Allows you to set the default encryption method for each of the different drive types: operating system drives, fixed data drives, and removable data drives. Hidden, system, and recovery partitions are skipped from encryption. This setting is a direct mapping to the Bitlocker Group Policy "Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later)". + +Allows you to set the default encryption method for each of the different drive types: operating system drives, fixed data drives, and removable data drives. Hidden, system, and recovery partitions are skipped from encryption. This setting is a direct mapping to the Bitlocker Group Policy "Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later)". + + @@ -176,6 +185,8 @@ Allows you to set the default encryption method for each of the different drive
Homecross mark
+ + ADMX Info:
  • GP English name: Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later)
  • @@ -183,7 +194,7 @@ ADMX Info:
  • GP path: Windows Components/Bitlocker Drive Encryption
  • GP ADMX file name: VolumeEncryption.admx
- + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -202,14 +213,14 @@ If you disable or do not configure this policy setting, BitLocker will use the d EncryptionMethodWithXtsOsDropDown_Name = Select the encryption method for operating system drives EncryptionMethodWithXtsFdvDropDown_Name = Select the encryption method for fixed data drives. EncryptionMethodWithXtsRdvDropDown_Name = Select the encryption method for removable data drives. - + The possible values for 'xx' are: - 3 = AES-CBC 128 - 4 = AES-CBC 256 - 6 = XTS-AES 128 - 7 = XTS-AES 256 - + > [!NOTE] > When you enable EncryptionMethodByDriveType, you must specify values for all three drives (operating system, fixed data, and removable data), otherwise it will fail (500 return status). For example, if you only set the encrytion method for the OS and removable drives, you will get a 500 return status. @@ -231,9 +242,13 @@ EncryptionMethodWithXtsRdvDropDown_Name = Select the encryption method for remov ``` Data type is string. Supported operations are Add, Get, Replace, and Delete. - + + **SystemDrivesRequireStartupAuthentication** + This setting is a direct mapping to the Bitlocker Group Policy "Require additional authentication at startup". + + @@ -254,6 +269,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Require add
Homecross mark
+ + ADMX Info:
  • GP English name: Require additional authentication at startup
  • @@ -261,7 +278,7 @@ ADMX Info:
  • GP path: Windows Components/Bitlocker Drive Encryption/Operating System Drives
  • GP ADMX file name: VolumeEncryption.admx
- + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -297,7 +314,7 @@ Data id:
  • ConfigureTPMPINKeyUsageDropDown_Name = (for computer with TPM) Configure TPM startup key and PIN.
  • ConfigureTPMUsageDropDown_Name = (for computer with TPM) Configure TPM startup.
  • - + The possible values for 'xx' are:
    • true = Explicitly allow
    • @@ -310,7 +327,7 @@ The possible values for 'yy' are:
    • 1 = Required
    • 0 = Disallowed
    - + Disabling the policy will let the system choose the default behaviors. If you want to disable this policy use the following SyncML: ```xml @@ -328,9 +345,13 @@ Disabling the policy will let the system choose the default behaviors. If you wa ``` Data type is string. Supported operations are Add, Get, Replace, and Delete. - + + **SystemDrivesMinimumPINLength** + This setting is a direct mapping to the Bitlocker Group Policy "Configure minimum PIN length for startup". + + @@ -351,6 +372,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Configure m
    Homecross mark
    + + ADMX Info:
    • GP English name:Configure minimum PIN length for startup
    • @@ -358,7 +381,7 @@ ADMX Info:
    • GP path: Windows Components/Bitlocker Drive Encryption/Operating System Drives
    • GP ADMX file name: VolumeEncryption.admx
    - + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -397,9 +420,14 @@ Disabling the policy will let the system choose the default behaviors. If you wa ``` Data type is string. Supported operations are Add, Get, Replace, and Delete. - -**SystemDrivesRecoveryMessage** -This setting is a direct mapping to the Bitlocker Group Policy "Configure pre-boot recovery message and URL" (PrebootRecoveryInfo_Name). + + +**SystemDrivesRecoveryMessage** + +This setting is a direct mapping to the Bitlocker Group Policy "Configure pre-boot recovery message and URL" +(PrebootRecoveryInfo_Name). + + @@ -420,6 +448,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Configure p
    Homecross mark
    + + ADMX Info:
    • GP English name: Configure pre-boot recovery message and URL
    • @@ -427,7 +457,7 @@ ADMX Info:
    • GP path: Windows Components/Bitlocker Drive Encryption/Operating System Drives
    • GP ADMX file name: VolumeEncryption.admx
    - + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -445,6 +475,7 @@ Sample value for this node to enable this policy is: ```xml ``` + The possible values for 'xx' are: - 0 = Empty @@ -453,7 +484,7 @@ The possible values for 'xx' are: - 3 = Custom recovery URL is set. - 'yy' = string of max length 900. - 'zz' = string of max length 500. - + > [!NOTE] > When you enable SystemDrivesRecoveryMessage, you must specify values for all three settings (pre-boot recovery screen, recovery message, and recovery URL), otherwise it will fail (500 return status). For example, if you only specify values for message and URL, you will get a 500 return status. @@ -478,9 +509,13 @@ Disabling the policy will let the system choose the default behaviors. If you w > Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. Data type is string. Supported operations are Add, Get, Replace, and Delete. - + + **SystemDrivesRecoveryOptions** + This setting is a direct mapping to the Bitlocker Group Policy "Choose how BitLocker-protected operating system drives can be recovered" (OSRecoveryUsage_Name). + + @@ -501,6 +536,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Choose how
    Homecross mark
    + + ADMX Info:
    • GP English name: Choose how BitLocker-protected operating system drives can be recovered
    • @@ -508,7 +545,7 @@ ADMX Info:
    • GP path: Windows Components/Bitlocker Drive Encryption/Operating System Drives
    • GP ADMX file name: VolumeEncryption.admx
    - + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -536,7 +573,7 @@ Sample value for this node to enable this policy is: ```xml ``` - + The possible values for 'xx' are: - true = Explicitly allow - false = Policy not set @@ -549,7 +586,7 @@ The possible values for 'yy' are: The possible values for 'zz' are: - 2 = Store recovery passwords only - 1 = Store recovery passwords and key packages - + Disabling the policy will let the system choose the default behaviors. If you want to disable this policy use the following SyncML: ```xml @@ -568,9 +605,13 @@ Disabling the policy will let the system choose the default behaviors. If you wa ``` Data type is string. Supported operations are Add, Get, Replace, and Delete. - + + **FixedDrivesRecoveryOptions** + This setting is a direct mapping to the Bitlocker Group Policy "Choose how BitLocker-protected fixed drives can be recovered" (). + + @@ -591,6 +632,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Choose how
    Homecross mark
    + + ADMX Info:
    • GP English name: Choose how BitLocker-protected fixed drives can be recovered
    • @@ -598,7 +641,7 @@ ADMX Info:
    • GP path: Windows Components/Bitlocker Drive Encryption/Fixed Drives
    • GP ADMX file name: VolumeEncryption.admx
    - + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -627,7 +670,7 @@ Sample value for this node to enable this policy is: ```xml ``` - + The possible values for 'xx' are:
    • true = Explicitly allow
    • @@ -647,7 +690,7 @@ The possible values for 'zz' are:
    • 2 = Store recovery passwords only
    • 1 = Store recovery passwords and key packages
    - + Disabling the policy will let the system choose the default behaviors. If you want to disable this policy use the following SyncML: ```xml @@ -666,9 +709,13 @@ Disabling the policy will let the system choose the default behaviors. If you wa ``` Data type is string. Supported operations are Add, Get, Replace, and Delete. - + + **FixedDrivesRequireEncryption** + This setting is a direct mapping to the Bitlocker Group Policy "Deny write access to fixed drives not protected by BitLocker" (FDVDenyWriteAccess_Name). + + @@ -689,6 +736,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Deny write
    Homecross mark
    + + ADMX Info:
    • GP English name: Deny write access to fixed drives not protected by BitLocker
    • @@ -696,7 +745,7 @@ ADMX Info:
    • GP path: Windows Components/Bitlocker Drive Encryption/Fixed Drives
    • GP ADMX file name: VolumeEncryption.admx
    - + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -728,9 +777,13 @@ If you disable or do not configure this setting, all fixed data drives on the co ``` Data type is string. Supported operations are Add, Get, Replace, and Delete. - + + **RemovableDrivesRequireEncryption** + This setting is a direct mapping to the Bitlocker Group Policy "Deny write access to removable drives not protected by BitLocker" (RDVDenyWriteAccess_Name). + + @@ -751,6 +804,8 @@ This setting is a direct mapping to the Bitlocker Group Policy "Deny write
    Homecross mark
    + + ADMX Info:
    • GP English name: Deny write access to removable drives not protected by BitLocker
    • @@ -758,7 +813,7 @@ ADMX Info:
    • GP path: Windows Components/Bitlocker Drive Encryption/Removeable Drives
    • GP ADMX file name: VolumeEncryption.admx
    - + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -777,13 +832,13 @@ Sample value for this node to enable this policy is: ```xml ``` - + The possible values for 'xx' are:
    • true = Explicitly allow
    • false = Policy not set
    - + Disabling the policy will let the system choose the default behaviors. If you want to disable this policy use the following SyncML: ```xml @@ -800,17 +855,18 @@ Disabling the policy will let the system choose the default behaviors. If you wa ``` - + + **AllowWarningForOtherDiskEncryption** - + Allows the admin to disable the warning prompt for other disk encryption on the user machines that are targeted when the RequireDeviceEncryption policy is also set to 1. - + > [!IMPORTANT] > Starting in Windows 10, version 1803, the value 0 can only be set for Azure Active Directory joined devices. When RequireDeviceEncryption is set to 1 and AllowWarningForOtherDiskEncryption is set to 0, Windows will attempt to silently enable [BitLocker](https://docs.microsoft.com/windows/device-security/bitlocker/bitlocker-overview). > [!Warning] > When you enable BitLocker on a device with third-party encryption, it may render the device unusable and require you to reinstall Windows. - + @@ -831,12 +887,13 @@ Allows the admin to disable the warning prompt for other disk encryption on the
    Homecross mark
    - + + The following list shows the supported values: - 0 – Disables the warning prompt. Starting in Windows 10, version 1803, the value 0 can only be set for Azure Active Directory joined devices. Windows will attempt to silently enable BitLocker for value 0. - 1 (default) – Warning prompt allowed. - + ```xml 110 @@ -861,22 +918,24 @@ The following list shows the supported values: >3. The user's personal OneDrive (MDM/MAM only). > >Encryption will wait until one of these three locations backs up successfully. - -**AllowStandardUserEncryption** + + +**AllowStandardUserEncryption** + Allows Admin to enforce "RequireDeviceEncryption" policy for scenarios where policy is pushed while current logged on user is non-admin/standard user Azure AD account. - + > [!NOTE] > This policy is only supported in Azure AD accounts. "AllowStandardUserEncryption" policy is tied to "AllowWarningForOtherDiskEncryption" policy being set to "0", i.e, silent encryption is enforced. If "AllowWarningForOtherDiskEncryption" is not set, or is set to "1", "RequireDeviceEncryption" policy will not try to encrypt drive(s) if a standard user is the current logged on user in the system. - + The expected values for this policy are: - 1 = "RequireDeviceEncryption" policy will try to enable encryption on all fixed drives even if a current logged in user is standard user. - 0 = This is the default, when the policy is not set. If current logged on user is a standard user, "RequireDeviceEncryption" policy will not try to enable encryption on any drive. - + If you want to disable this policy use the following SyncML: ```xml @@ -893,9 +952,13 @@ If you want to disable this policy use the following SyncML: ``` - + + **ConfigureRecoveryPasswordRotation** + This setting initiates a client-driven recovery password refresh after an OS drive recovery (either by using bootmgr or WinRE) and recovery password unlock on a Fixed data drive. This setting will refresh the specific recovery password that was used, and other unused passwords on the volume will remain unchanged. If the initialization of the refresh fails, the device will retry the refresh during the next reboot. When password refresh is initiated, the client will generate a new recovery password. The client will use the existing API in Azure AD to upload the new recovery key and retry on failure. After the recovery password has been successfully backed up to Azure AD, the recovery key that was used locally will be removed. This setting refreshes only the used key and retains other unused keys. + + @@ -916,16 +979,20 @@ This setting initiates a client-driven recovery password refresh after an OS dri
    Homecross mark
    + Value type is int. Supported operations are Add, Delete, Get, and Replace. - + Supported values are: - 0 – Refresh off (default) - 1 – Refresh on for Azure AD-joined devices - 2 – Refresh on for both Azure AD-joined and hybrid-joined devices - + + + **RotateRecoveryPasswords** + This setting refreshes all recovery passwords for OS and fixed drives (removable drives are not included so they can be shared between users). All recovery passwords for all drives will be refreshed and only one password per volume is retained. In case of errors, an error code will be returned so that server can take appropriate action to remediate. - + The client will generate a new recovery password. The client will use the existing API in Azure AD to upload the new recovery key and retry on failure. Policy type is Execute. When “Execute Policy” is pushed, the client sets the status as Pending and initiates an asynchronous rotation operation. After refresh is complete, pass or fail status is updated. The client will not retry, but if needed, the server can re-issue the execute request. @@ -937,6 +1004,7 @@ Recovery password refresh will only occur for devices that are joined to Azure A Each server-side recovery key rotation is represented by a request ID. The server can query the following nodes to make sure it reads status/result for same rotation request. - RotateRecoveryPasswordsRequestID: Returns request ID of last request processed. - RotateRecoveryPasswordsRotationStatus: Returns status of last request processed. + @@ -957,14 +1025,18 @@ Each server-side recovery key rotation is represented by a request ID. The serve
    Homecross mark
    + Value type is string. Supported operation is Execute. Request ID is expected as a parameter. **Status** Interior node. Supported operation is Get. - -**Status/DeviceEncryptionStatus** + + +**Status/DeviceEncryptionStatus** + This node reports compliance state of device encryption on the system. - + + @@ -985,22 +1057,26 @@ This node reports compliance state of device encryption on the system.
    Homecross mark
    - + + Supported values: - 0 - Indicates that the device is compliant. - Any other value represents a non-compliant device. - + Value type is int. Supported operation is Get. - + + **Status/RotateRecoveryPasswordsStatus** + This node reports the status of RotateRecoveryPasswords request. - + Status code can be one of the following: - 2 – Not started - 1 - Pending - 0 - Pass - Any other code - Failure HRESULT + @@ -1021,11 +1097,16 @@ Status code can be one of the following:
    Homecross mark
    + Value type is int. Supported operation is Get. - + + **Status/RotateRecoveryPasswordsRequestID** + This node reports the RequestID corresponding to RotateRecoveryPasswordsStatus. This node needs to be queried in synchronization with RotateRecoveryPasswordsStatus to ensure the status is correctly matched to the request ID. + + @@ -1046,6 +1127,7 @@ This node needs to be queried in synchronization with RotateRecoveryPasswordsSta
    Homecross mark
    + Value type is string. Supported operation is Get. ### SyncML example @@ -1210,4 +1292,5 @@ The following example is provided to show proper format and should not be taken -``` \ No newline at end of file +``` + From 92a7ed8fd870ae6251f3d938d8b58865d0c5ff31 Mon Sep 17 00:00:00 2001 From: ImranHabib <47118050+joinimran@users.noreply.github.com> Date: Mon, 10 Feb 2020 09:05:43 +0500 Subject: [PATCH 026/150] Minor changes to adjust the Richtext Minor changes to adjust the Richtext --- windows/client-management/mdm/bitlocker-csp.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/windows/client-management/mdm/bitlocker-csp.md b/windows/client-management/mdm/bitlocker-csp.md index 746ef380c5..34121e6cc5 100644 --- a/windows/client-management/mdm/bitlocker-csp.md +++ b/windows/client-management/mdm/bitlocker-csp.md @@ -195,6 +195,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -279,6 +280,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -382,6 +384,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -458,6 +461,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -546,6 +550,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -642,6 +647,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -746,6 +752,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). @@ -814,6 +821,7 @@ ADMX Info:
  • GP ADMX file name: VolumeEncryption.admx
  • + > [!TIP] > For a step-by-step guide to enable ADMX-backed policies, see [Enable ADMX-backed policies in MDM](enable-admx-backed-policies-in-mdm.md). For additional information, see [Understanding ADMX-backed policies](understanding-admx-backed-policies.md). From 0f19b2686c14037121c1d3309e26f789f6c90850 Mon Sep 17 00:00:00 2001 From: ImranHabib <47118050+joinimran@users.noreply.github.com> Date: Mon, 10 Feb 2020 18:38:40 +0500 Subject: [PATCH 027/150] Changes to adjust the Richtext view difference. Changes to adjust the Richtext view difference. --- windows/client-management/mdm/bitlocker-csp.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/windows/client-management/mdm/bitlocker-csp.md b/windows/client-management/mdm/bitlocker-csp.md index 34121e6cc5..9244d5d9db 100644 --- a/windows/client-management/mdm/bitlocker-csp.md +++ b/windows/client-management/mdm/bitlocker-csp.md @@ -997,10 +997,14 @@ Supported values are: + **RotateRecoveryPasswords** + + This setting refreshes all recovery passwords for OS and fixed drives (removable drives are not included so they can be shared between users). All recovery passwords for all drives will be refreshed and only one password per volume is retained. In case of errors, an error code will be returned so that server can take appropriate action to remediate. + The client will generate a new recovery password. The client will use the existing API in Azure AD to upload the new recovery key and retry on failure. Policy type is Execute. When “Execute Policy” is pushed, the client sets the status as Pending and initiates an asynchronous rotation operation. After refresh is complete, pass or fail status is updated. The client will not retry, but if needed, the server can re-issue the execute request. @@ -1074,10 +1078,13 @@ Supported values: Value type is int. Supported operation is Get. + **Status/RotateRecoveryPasswordsStatus** + This node reports the status of RotateRecoveryPasswords request. + Status code can be one of the following: - 2 – Not started @@ -1109,6 +1116,7 @@ Status code can be one of the following: Value type is int. Supported operation is Get. + **Status/RotateRecoveryPasswordsRequestID** This node reports the RequestID corresponding to RotateRecoveryPasswordsStatus. From 946ea85ab91d92a51b24c8d6c77b2e41c2fc405a Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Mon, 10 Feb 2020 09:38:31 -0800 Subject: [PATCH 028/150] Adding Feb release notes for HoloLens @yannisle @scooley Feb release notes. --- devices/hololens/hololens-release-notes.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/devices/hololens/hololens-release-notes.md b/devices/hololens/hololens-release-notes.md index aaf200a4b0..f49cc25d31 100644 --- a/devices/hololens/hololens-release-notes.md +++ b/devices/hololens/hololens-release-notes.md @@ -22,6 +22,13 @@ appliesto: > [!Note] > HoloLens Emulator Release Notes can be found [here](https://docs.microsoft.com/windows/mixed-reality/hololens-emulator-archive). +### February Update - build 18362.1052 + +- Temporarily disabled the HolographicSpace.UserPresence API for Unity applications to avoid an issue which causes some apps to pause when the visor is flipped up, even if the setting to run in the background is enabled. +- Fixed a random HUP crash cased by hand tracking, in which user will notice an UI freeze then back to shell after several seconds. +- We made an improvement in hand tracking so that while poking using index finger, the upper part of that finger will be less likely to curl unexpectedly. +- Improved reliability of head tracking, spatial mapping, and other runtimes. + ### January Update - build 18362.1043 - Stability improvements for exclusive apps when working with the HoloLens 2 emulator. From 3a5fc30b0824cf0a58c736a74032eb63f7d217d3 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Mon, 10 Feb 2020 15:12:33 -0800 Subject: [PATCH 029/150] Added 20H1 Bluetooth policy --- .../policy-configuration-service-provider.md | 5 ++ .../mdm/policy-csp-bluetooth.md | 79 ++++++++++++++++++- 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/windows/client-management/mdm/policy-configuration-service-provider.md b/windows/client-management/mdm/policy-configuration-service-provider.md index 9d72af8a49..7ec3bd938b 100644 --- a/windows/client-management/mdm/policy-configuration-service-provider.md +++ b/windows/client-management/mdm/policy-configuration-service-provider.md @@ -15,6 +15,8 @@ ms.date: 07/18/2019 # Policy CSP +> [!WARNING] +> Some information relates to prereleased products, which may be substantially modified before it's commercially released. Microsoft makes no warranties, expressed or implied, concerning the information provided here. The Policy configuration service provider enables the enterprise to configure policies on Windows 10. Use this configuration service provider to configure any company policies. @@ -612,6 +614,9 @@ The following diagram shows the Policy configuration service provider in tree fo
    Bluetooth/ServicesAllowedList
    +
    + Bluetooth/SetMinimumEncryptionKeySize +
    ### Browser policies diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index 225de9c9ca..1684e92639 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -7,14 +7,15 @@ ms.prod: w10 ms.technology: windows author: manikadhiman ms.localizationpriority: medium -ms.date: 09/27/2019 +ms.date: 02/10/2020 ms.reviewer: manager: dansimp --- # Policy CSP - Bluetooth - +> [!WARNING] +> Some information relates to prereleased products, which may be substantially modified before it's commercially released. Microsoft makes no warranties, expressed or implied, concerning the information provided here.
    @@ -40,6 +41,9 @@ manager: dansimp
    Bluetooth/ServicesAllowedList
    +
    + Bluetooth/SetMinimumEncryptionKeySize +
    @@ -390,6 +394,76 @@ The default value is an empty string. For more information, see [ServicesAllowed + +
    + + +**Bluetooth/SetMinimumEncryptionKeySize** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Windows EditionSupported?
    Homecross mark
    Procheck mark7
    Businesscheck mark7
    Enterprisecheck mark7
    Educationcheck mark7
    Mobile
    Mobile Enterprise
    + + +
    + + +[Scope](./policy-configuration-service-provider.md#policy-scope): + +> [!div class = "checklist"] +> * Device + +
    + + + +Added in the next major release of Windows 10. +There are multiple levels of encryption strength when pairing Bluetooth devices. This policy helps prevent weaker devices cryptographically being used in high security environments. + + +The following list shows the supported values: +- 0 (default) - All Bluetooth traffic is allowed. +- 1-N - A number representing the bytes that must be used in the encryption process. + + + + + + + +
    Footnotes: @@ -400,6 +474,7 @@ Footnotes: - 4 - Added in Windows 10, version 1803. - 5 - Added in Windows 10, version 1809. - 6 - Added in Windows 10, version 1903. +- 7 - Added in the next major release of Windows 10. From 128324095188333892d3f37dccd1b1a6f52858c7 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Mon, 10 Feb 2020 15:39:32 -0800 Subject: [PATCH 030/150] Fixed http warnings --- windows/client-management/troubleshoot-stop-errors.md | 2 +- windows/client-management/troubleshoot-windows-freeze.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/client-management/troubleshoot-stop-errors.md b/windows/client-management/troubleshoot-stop-errors.md index 719976a254..3fe73d34ec 100644 --- a/windows/client-management/troubleshoot-stop-errors.md +++ b/windows/client-management/troubleshoot-stop-errors.md @@ -59,7 +59,7 @@ To troubleshoot Stop error messages, follow these general steps: 3. Run the [Machine Memory Dump Collector](https://home.diagnostics.support.microsoft.com/selfhelp?knowledgebasearticlefilter=2027760&wa=wsignin1.0) Windows diagnostic package. This diagnostic tool is used to collect machine memory dump files and check for known solutions. -4. Run [Microsoft Safety Scanner](http://www.microsoft.com/security/scanner/en-us/default.aspx) or any other virus detection program that includes checks of the Master Boot Record for infections. +4. Run [Microsoft Safety Scanner](https://www.microsoft.com/security/scanner/en-us/default.aspx) or any other virus detection program that includes checks of the Master Boot Record for infections. 5. Make sure that there is sufficient free space on the hard disk. The exact requirement varies, but we recommend 10–15 percent free disk space. diff --git a/windows/client-management/troubleshoot-windows-freeze.md b/windows/client-management/troubleshoot-windows-freeze.md index 664dc7700e..c9691539ef 100644 --- a/windows/client-management/troubleshoot-windows-freeze.md +++ b/windows/client-management/troubleshoot-windows-freeze.md @@ -251,7 +251,7 @@ If the physical computer is still running in a frozen state, follow these steps Pool Monitor shows you the number of allocations and outstanding bytes of allocation by type of pool and the tag that is passed into calls of ExAllocatePoolWithTag. -Learn [how to use Pool Monitor](https://support.microsoft.com/help/177415) and how to [use the data to troubleshoot pool leaks](http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx). +Learn [how to use Pool Monitor](https://support.microsoft.com/help/177415) and how to [use the data to troubleshoot pool leaks](https://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx). ### Use memory dump to collect data for the virtual machine that's running in a frozen state @@ -284,4 +284,4 @@ On Windows Server 2008, you may not have enough free disk space to generate a co Additionally, on Windows Server 2008 Service Pack (SP2), there's a second option if the system drive doesn't have sufficient space. Namely, you can use the DedicatedDumpFile registry entry. To learn how to use the registry entry, see [New behavior in Windows Vista and Windows Server 2008](https://support.microsoft.com/help/969028). -For more information, see [How to use the DedicatedDumpFile registry value to overcome space limitations on the system drive](http://blogs.msdn.com/b/ntdebugging/archive/2010/04/02/how-to-use-the-dedicateddumpfile-registry-value-to-overcome-space-limitations-on-the-system-drive-when-capturing-a-system-memory-dump.aspx). +For more information, see [How to use the DedicatedDumpFile registry value to overcome space limitations on the system drive](https://blogs.msdn.com/b/ntdebugging/archive/2010/04/02/how-to-use-the-dedicateddumpfile-registry-value-to-overcome-space-limitations-on-the-system-drive-when-capturing-a-system-memory-dump.aspx). From 1b55043257fd4193c1e5d224ebf73d5627addc86 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Mon, 10 Feb 2020 16:15:11 -0800 Subject: [PATCH 031/150] minor update --- windows/client-management/mdm/policy-csp-bluetooth.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index 1684e92639..b8c197552d 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -426,14 +426,6 @@ The default value is an empty string. For more information, see [ServicesAllowed Education check mark7 - - Mobile - - - - Mobile Enterprise - - From a619cb6112c4beb11da16aba1a156f1ba650753e Mon Sep 17 00:00:00 2001 From: andreiztm Date: Tue, 11 Feb 2020 13:35:28 +0200 Subject: [PATCH 032/150] Add important note about known issue --- windows/deployment/windows-autopilot/existing-devices.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/deployment/windows-autopilot/existing-devices.md b/windows/deployment/windows-autopilot/existing-devices.md index 81cc5bf9a7..afd18141f0 100644 --- a/windows/deployment/windows-autopilot/existing-devices.md +++ b/windows/deployment/windows-autopilot/existing-devices.md @@ -206,6 +206,9 @@ See the following examples. >[!IMPORTANT] >The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which calls the System Preparation Tool (syeprep). This action will fail if the target machine is joined to a domain. + + >[!IMPORTANT] + >The System Preparation Tool (syeprep) will be executed with the /Generalize parameter which on Windows 10 1903 & Windows 10 1909 versions will delete the AutoPilot profile file and the machine will boot into OOBE phase instead of AutoPilot. Please see Michael Niehaus's blog with instructions [A challenge with Windows Autopilot for existing devices and Windows 10 1903](https://oofhours.com/2019/09/19/a-challenge-with-windows-autopilot-for-existing-devices-and-windows-10-1903/) on the solution to prevent this. 5. Click **Next** and then click **Next** again to accept the default settings on the Install Configuration Manager page. 6. On the State Migration page, enter the following details: From 13ca80891567b7b460c2dd486031f8a82e8c6f2d Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Tue, 11 Feb 2020 08:45:56 -0800 Subject: [PATCH 033/150] minor update --- windows/client-management/mdm/policy-csp-bluetooth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index b8c197552d..ccd311c9f6 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -7,7 +7,7 @@ ms.prod: w10 ms.technology: windows author: manikadhiman ms.localizationpriority: medium -ms.date: 02/10/2020 +ms.date: 02/11/2020 ms.reviewer: manager: dansimp --- From 7e703a77537165f85188d33e3f2aa649c10a061a Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Tue, 11 Feb 2020 09:04:10 -0800 Subject: [PATCH 034/150] testing --- windows/client-management/mdm/policy-csp-bluetooth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index ccd311c9f6..be4ffce043 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -7,7 +7,7 @@ ms.prod: w10 ms.technology: windows author: manikadhiman ms.localizationpriority: medium -ms.date: 02/11/2020 +ms.date: 02/12/2020 ms.reviewer: manager: dansimp --- From 1e394cff0eda86338ec81783ef8c297f327b4ae2 Mon Sep 17 00:00:00 2001 From: andreiztm Date: Tue, 11 Feb 2020 19:53:04 +0200 Subject: [PATCH 035/150] Update existing-devices.md --- windows/deployment/windows-autopilot/existing-devices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/windows-autopilot/existing-devices.md b/windows/deployment/windows-autopilot/existing-devices.md index afd18141f0..391a89b1ce 100644 --- a/windows/deployment/windows-autopilot/existing-devices.md +++ b/windows/deployment/windows-autopilot/existing-devices.md @@ -205,10 +205,10 @@ See the following examples. - Click **Next**, and then on the Configure Network page choose **Join a workgroup** and specify a name (ex: workgroup) next to **Workgroup**. >[!IMPORTANT] - >The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which calls the System Preparation Tool (syeprep). This action will fail if the target machine is joined to a domain. + >The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which calls the System Preparation Tool (sysprep). This action will fail if the target machine is joined to a domain. >[!IMPORTANT] - >The System Preparation Tool (syeprep) will be executed with the /Generalize parameter which on Windows 10 1903 & Windows 10 1909 versions will delete the AutoPilot profile file and the machine will boot into OOBE phase instead of AutoPilot. Please see Michael Niehaus's blog with instructions [A challenge with Windows Autopilot for existing devices and Windows 10 1903](https://oofhours.com/2019/09/19/a-challenge-with-windows-autopilot-for-existing-devices-and-windows-10-1903/) on the solution to prevent this. + >The System Preparation Tool (sysprep) will run with the /Generalize parameter which on Windows 10 1903 & Windows 10 1909 versions will delete the AutoPilot profile file and the machine will boot into OOBE phase instead of AutoPilot. Please see Michael Niehaus's blog with instructions [A challenge with Windows Autopilot for existing devices and Windows 10 1903](https://oofhours.com/2019/09/19/a-challenge-with-windows-autopilot-for-existing-devices-and-windows-10-1903/) on the solution to prevent this. 5. Click **Next** and then click **Next** again to accept the default settings on the Install Configuration Manager page. 6. On the State Migration page, enter the following details: From 9e9aa43eee2ddf6afa5986f5c4347a2a7d620747 Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Tue, 11 Feb 2020 16:17:15 -0800 Subject: [PATCH 036/150] Feb update notes. build num updated --- devices/hololens/hololens-release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/hololens/hololens-release-notes.md b/devices/hololens/hololens-release-notes.md index f49cc25d31..74117ca98e 100644 --- a/devices/hololens/hololens-release-notes.md +++ b/devices/hololens/hololens-release-notes.md @@ -22,7 +22,7 @@ appliesto: > [!Note] > HoloLens Emulator Release Notes can be found [here](https://docs.microsoft.com/windows/mixed-reality/hololens-emulator-archive). -### February Update - build 18362.1052 +### February Update - build 18362.1053 - Temporarily disabled the HolographicSpace.UserPresence API for Unity applications to avoid an issue which causes some apps to pause when the visor is flipped up, even if the setting to run in the background is enabled. - Fixed a random HUP crash cased by hand tracking, in which user will notice an UI freeze then back to shell after several seconds. From 8e4f85ca48e8f12dd34210799e60879868757ed3 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Tue, 11 Feb 2020 16:20:53 -0800 Subject: [PATCH 037/150] Added a note --- windows/client-management/mdm/policy-csp-bluetooth.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index be4ffce043..8e384d21f3 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -443,11 +443,15 @@ The default value is an empty string. For more information, see [ServicesAllowed Added in the next major release of Windows 10. There are multiple levels of encryption strength when pairing Bluetooth devices. This policy helps prevent weaker devices cryptographically being used in high security environments. + The following list shows the supported values: - 0 (default) - All Bluetooth traffic is allowed. - 1-N - A number representing the bytes that must be used in the encryption process. + + >[!Note] + >If you wish to enforce Windows to use Bluetooth encryption at all times, but do not care about the precise encryption key strength, use a value of 1. From fe4edd0b33c44cd925b17cd6b6ac052c2c0ea4b1 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Tue, 11 Feb 2020 17:02:43 -0800 Subject: [PATCH 038/150] More updates --- windows/client-management/mdm/policy-csp-bluetooth.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index 8e384d21f3..2160f0b07a 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -448,10 +448,8 @@ There are multiple levels of encryption strength when pairing Bluetooth devices. The following list shows the supported values: - 0 (default) - All Bluetooth traffic is allowed. -- 1-N - A number representing the bytes that must be used in the encryption process. +- N - A number from 1 through 16 representing the bytes that must be used in the encryption process. At this time, 16 is the largest allowed value for N and 16 bytes is the largest key size that Bluetooth supports so far. If you wish to enforce Windows to use Bluetooth encryption at all times, but do not care about the precise encryption key strength, use a value of 1. - >[!Note] - >If you wish to enforce Windows to use Bluetooth encryption at all times, but do not care about the precise encryption key strength, use a value of 1. From 16ea53ec106378ef094b470f63ca820c8593e528 Mon Sep 17 00:00:00 2001 From: ImranHabib <47118050+joinimran@users.noreply.github.com> Date: Thu, 13 Feb 2020 11:23:48 +0500 Subject: [PATCH 039/150] Few fixes for Markdown Made a few changes to adjust the rich text difference. --- .../client-management/mdm/bitlocker-csp.md | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/windows/client-management/mdm/bitlocker-csp.md b/windows/client-management/mdm/bitlocker-csp.md index 9244d5d9db..6ba943ffca 100644 --- a/windows/client-management/mdm/bitlocker-csp.md +++ b/windows/client-management/mdm/bitlocker-csp.md @@ -911,7 +911,6 @@ The following list shows the supported values: int - 0 @@ -961,11 +960,16 @@ If you want to disable this policy use the following SyncML: ``` + + **ConfigureRecoveryPasswordRotation** + This setting initiates a client-driven recovery password refresh after an OS drive recovery (either by using bootmgr or WinRE) and recovery password unlock on a Fixed data drive. This setting will refresh the specific recovery password that was used, and other unused passwords on the volume will remain unchanged. If the initialization of the refresh fails, the device will retry the refresh during the next reboot. When password refresh is initiated, the client will generate a new recovery password. The client will use the existing API in Azure AD to upload the new recovery key and retry on failure. After the recovery password has been successfully backed up to Azure AD, the recovery key that was used locally will be removed. This setting refreshes only the used key and retains other unused keys. + + @@ -988,14 +992,19 @@ This setting initiates a client-driven recovery password refresh after an OS dri
    + Value type is int. Supported operations are Add, Delete, Get, and Replace. + + Supported values are: - 0 – Refresh off (default) - 1 – Refresh on for Azure AD-joined devices - 2 – Refresh on for both Azure AD-joined and hybrid-joined devices + + **RotateRecoveryPasswords** @@ -1038,11 +1047,14 @@ Each server-side recovery key rotation is represented by a request ID. The serve + Value type is string. Supported operation is Execute. Request ID is expected as a parameter. **Status** Interior node. Supported operation is Get. + + **Status/DeviceEncryptionStatus** @@ -1070,13 +1082,17 @@ This node reports compliance state of device encryption on the system. + Supported values: - 0 - Indicates that the device is compliant. - Any other value represents a non-compliant device. + Value type is int. Supported operation is Get. + + **Status/RotateRecoveryPasswordsStatus** @@ -1113,11 +1129,15 @@ Status code can be one of the following: + Value type is int. Supported operation is Get. + + **Status/RotateRecoveryPasswordsRequestID** + This node reports the RequestID corresponding to RotateRecoveryPasswordsStatus. This node needs to be queried in synchronization with RotateRecoveryPasswordsStatus to ensure the status is correctly matched to the request ID. @@ -1143,7 +1163,9 @@ This node needs to be queried in synchronization with RotateRecoveryPasswordsSta cross mark + + Value type is string. Supported operation is Get. ### SyncML example From e9e4f7511aae902f1afd606013b2f45b5d4dc372 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Thu, 13 Feb 2020 11:48:47 -0800 Subject: [PATCH 040/150] updated topic for the secure score removal --- .../configuration-score.md | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configuration-score.md b/windows/security/threat-protection/microsoft-defender-atp/configuration-score.md index a040722887..5b876f90b8 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/configuration-score.md +++ b/windows/security/threat-protection/microsoft-defender-atp/configuration-score.md @@ -1,6 +1,6 @@ --- title: Overview of Configuration score in Microsoft Defender Security Center -description: Expand your visibility into the overall security configuration posture of your organization +description: Your configuration score shows the collective security configuration state of your machines across application, operating system, network, accounts, and security controls keywords: configuration score, mdatp configuration score, secure score, security controls, improvement opportunities, security configuration score over time, security posture, baseline search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -8,45 +8,50 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security -ms.author: dolmont -author: DulceMontemayor +ms.author: ellevin +author: levinec ms.localizationpriority: medium manager: dansimp audience: ITPro ms.collection: M365-security-compliance ms.topic: conceptual -ms.date: 04/11/2019 --- # Configuration score + **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) >[!NOTE] -> Secure score is now part of Threat & Vulnerability Management as Configuration score. The secure score page will be available for a few weeks. +> Secure score is now part of Threat & Vulnerability Management as Configuration score. -The Microsoft Defender Advanced Threat Protection Configuration score gives you visibility and control over the security posture of your organization based on security best practices. High configuration score means your endpoints are more resilient from cybersecurity threat attacks. +Your Configuration score is visible in the Threat & Vulnerability Management dashboard of the Microsoft Defender Security Center. It reflects the collective security configuration state of your machines across the following categories: -Your configuration score widget shows the collective security configuration state of your machines across the following categories: - Application - Operating system - Network - Accounts - Security controls -## How it works ->[!NOTE] -> Configuration score currently supports configurations set via Group Policy. Due to the current partial Intune support, configurations which might have been set through Intune might show up as misconfigured. Contact your IT Administrator to verify the actual configuration status in case your organization is using Intune for secure configuration management. +A higher configuration score means your endpoints are more resilient from cybersecurity threat attacks. + +## How it works + +>[!NOTE] +> Configuration score currently supports configurations set via Group Policy. Due to the current partial Intune support, configurations which might have been set through Intune might show up as misconfigured. Contact your IT Administrator to verify the actual configuration status in case your organization is using Intune for secure configuration management. + +The data in the configuration score card is the product of meticulous and ongoing vulnerability discovery process aggregated with configuration discovery assessments that continuously: -The data in the configuration score widget is the product of meticulous and ongoing vulnerability discovery process aggregated with configuration discovery assessments that continuously: - Compare collected configurations to the collected benchmarks to discover misconfigured assets - Map configurations to vulnerabilities that can be remediated or partially remediated (risk reduction) by remediating the misconfiguration - Collect and maintain best practice configuration benchmarks (vendors, security feeds, internal research teams) - Collect and monitor changes of security control configuration state from all assets -From the widget, you'd be able to see which security aspect requires attention. You can click the configuration score categories and it will take you to the **Security recommendations** page to see more details and understand the context of the issue. From there, you can act on them based on security benchmarks. +From the widget, you'd be able to see which security aspect requires attention. You can click the configuration score categories and it will take you to the **Security recommendations** page to see more details and understand the context of the issue. From there, you can act on them based on security benchmarks. ## Improve your configuration score + The goal is to remediate the issues in the security recommendations list to improve your configuration score. You can filter the view based on: + - **Related component** — **Accounts**, **Application**, **Network**, **OS**, or **Security controls** - **Remediation type** — **Configuration change** or **Software update** @@ -64,6 +69,7 @@ See how you can [improve your security configuration](https://docs.microsoft.com >2. Key-in the security update KB number that you need to download, then click **Search**. ## Related topics + - [Supported operating systems and platforms](tvm-supported-os.md) - [Risk-based Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) - [Threat & Vulnerability Management dashboard overview](tvm-dashboard-insights.md) @@ -78,4 +84,3 @@ See how you can [improve your security configuration](https://docs.microsoft.com - [Software APIs](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/software) - [Vulnerability APIs](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/vulnerability) - [Recommendation APIs](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/vulnerability) - From 8fd1dd36df45c27284fd6fdf5635757b7aefe66c Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Thu, 13 Feb 2020 11:52:48 -0800 Subject: [PATCH 041/150] config score redirect --- .openpublishing.redirection.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 5ad808dbe7..8012e7c7c5 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1727,6 +1727,11 @@ "redirect_document_id": true }, { +"source_path": "windows/security/threat-protection/windows-defender-atp/microsoft-defender-atp/overview-secure-score.md", +"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configuration-score", +"redirect_document_id": true +}, +{ "source_path": "windows/security/threat-protection/windows-defender-atp/partner-applications.md", "redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/partner-applications", "redirect_document_id": true @@ -15705,6 +15710,6 @@ "source_path": "windows/deployment/upgrade/manage-windows-upgrades-with-upgrade-readiness.md", "redirect_url": "https://docs.microsoft.com/configmgr/desktop-analytics/overview", "redirect_document_id": false -}, +} ] } From ee69bf26040a6a1aaea270fd7b7af71310968f88 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Thu, 13 Feb 2020 11:54:10 -0800 Subject: [PATCH 042/150] delete file --- .../overview-secure-score.md | 93 ------------------- 1 file changed, 93 deletions(-) delete mode 100644 windows/security/threat-protection/microsoft-defender-atp/overview-secure-score.md diff --git a/windows/security/threat-protection/microsoft-defender-atp/overview-secure-score.md b/windows/security/threat-protection/microsoft-defender-atp/overview-secure-score.md deleted file mode 100644 index f08e397a67..0000000000 --- a/windows/security/threat-protection/microsoft-defender-atp/overview-secure-score.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Overview of Secure score in Microsoft Defender Security Center -description: Expand your visibility into the overall security posture of your organization -keywords: secure score, security controls, improvement opportunities, security score over time, score, posture, baseline -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Overview of Secure score in Microsoft Defender Security Center -**Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) - ->[!NOTE] -> Secure score is now part of [Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) as [Configuration score](configuration-score.md). The secure score page will be available for a few weeks. - -The Secure score dashboard expands your visibility into the overall security posture of your organization. From this dashboard, you'll be able to quickly assess the security posture of your organization, see machines that require attention, as well as recommendations for actions to further reduce the attack surface in your organization - all in one place. From there you can take action based on the recommended configuration baselines. - ->[!IMPORTANT] -> This feature is available for machines on Windows 10, version 1703 or later. - - -The **Secure score dashboard** displays a snapshot of: -- Microsoft secure score -- Secure score over time -- Top recommendations -- Improvement opportunities - - -![Secure score dashboard](images/new-secure-score-dashboard.png) - -## Microsoft secure score -The Microsoft secure score tile is reflective of the sum of all the security controls that are configured according to the recommended Windows baseline and Office 365 controls. It allows you to drill down into each portal for further analysis. You can also improve this score by taking the steps in configuring each of the security controls in the optimal settings. - -![Image of Microsoft secure score tile](images/mss.png) - -Each Microsoft security control contributes 100 points to the score. The total number is reflective of the score potential and calculated by multiplying the number of supported Microsoft security controls (security controls pillars) by the maximum points that each pillar contributes (maximum of 100 points for each pillar). - -The Office 365 Secure Score looks at your settings and activities and compares them to a baseline established by Microsoft. For more information, see [Introducing the Office 365 Secure Score](https://support.office.com/article/introducing-the-office-365-secure-score-c9e7160f-2c34-4bd0-a548-5ddcc862eaef#howtoaccess). - -In the example image, the total points for the security controls and Office 365 add up to 602 points. - -You can set the baselines for calculating the security control scores on the Secure score dashboard through the **Settings**. For more information, see [Enable Secure score security controls](enable-secure-score.md). - -## Secure score over time -You can track the progression of your organizational security posture over time using this tile. It displays the overall score in a historical trend line enabling you to see how taking the recommended actions increase your overall security posture. - -![Image of the security score over time tile](images/new-ssot.png) - -You can mouse over specific date points to see the total score for that security control is on a specific date. - - -## Top recommendations -Reflects specific actions you can take to significantly increase the security stance of your organization and how many points will be added to the secure score if you take the recommended action. - -![Top recommendations tile](images/top-recommendations.png) - -## Improvement opportunities -Improve your score by taking the recommended improvement actions listed on this tile. The goal is to reduce the gap between the perfect score and the current score for each control. - -Clicking on the affected machines link at the top of the table takes you to the Machines list. The list is filtered to reflect the list of machines where improvements can be made. - - - -![Improvement opportunities](images/io.png) - - -Within the tile, you can click on each control to see the recommended optimizations. - -Clicking the link under the **Misconfigured machines** column opens up the **Machines list** with filters applied to show only the list of machines where the recommendation is applicable. You can export the list in Excel to create a target collection and apply relevant policies using a management solution of your choice. - -## Related topic -- [Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) -- [Threat & Vulnerability Management dashboard overview](tvm-dashboard-insights.md) -- [Exposure score](tvm-exposure-score.md) -- [Configuration score](configuration-score.md) -- [Security recommendations](tvm-security-recommendation.md) -- [Remediation](tvm-remediation.md) -- [Software inventory](tvm-software-inventory.md) -- [Weaknesses](tvm-weaknesses.md) -- [Scenarios](threat-and-vuln-mgt-scenarios.md) -- [Threat analytics](threat-analytics.md) - From eb415b9e6147214e979beb9a0c4db4e41a0d87f4 Mon Sep 17 00:00:00 2001 From: andreiztm Date: Fri, 14 Feb 2020 23:08:31 +0200 Subject: [PATCH 043/150] Update windows/deployment/windows-autopilot/existing-devices.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- windows/deployment/windows-autopilot/existing-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopilot/existing-devices.md b/windows/deployment/windows-autopilot/existing-devices.md index 391a89b1ce..74d1bc7a56 100644 --- a/windows/deployment/windows-autopilot/existing-devices.md +++ b/windows/deployment/windows-autopilot/existing-devices.md @@ -204,7 +204,7 @@ See the following examples. - Enable the account and specify the local administrator password: Optional. - Click **Next**, and then on the Configure Network page choose **Join a workgroup** and specify a name (ex: workgroup) next to **Workgroup**. - >[!IMPORTANT] + > [!IMPORTANT] >The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which calls the System Preparation Tool (sysprep). This action will fail if the target machine is joined to a domain. >[!IMPORTANT] From 54104985be40fd70af2602259ff1574bee2dc2bd Mon Sep 17 00:00:00 2001 From: andreiztm Date: Fri, 14 Feb 2020 23:08:38 +0200 Subject: [PATCH 044/150] Update windows/deployment/windows-autopilot/existing-devices.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- windows/deployment/windows-autopilot/existing-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopilot/existing-devices.md b/windows/deployment/windows-autopilot/existing-devices.md index 74d1bc7a56..6a4f86a8fa 100644 --- a/windows/deployment/windows-autopilot/existing-devices.md +++ b/windows/deployment/windows-autopilot/existing-devices.md @@ -205,7 +205,7 @@ See the following examples. - Click **Next**, and then on the Configure Network page choose **Join a workgroup** and specify a name (ex: workgroup) next to **Workgroup**. > [!IMPORTANT] - >The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which calls the System Preparation Tool (sysprep). This action will fail if the target machine is joined to a domain. + > The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which uses the System Preparation Tool (sysprep). This action will fail if the target machine is joined to a domain. >[!IMPORTANT] >The System Preparation Tool (sysprep) will run with the /Generalize parameter which on Windows 10 1903 & Windows 10 1909 versions will delete the AutoPilot profile file and the machine will boot into OOBE phase instead of AutoPilot. Please see Michael Niehaus's blog with instructions [A challenge with Windows Autopilot for existing devices and Windows 10 1903](https://oofhours.com/2019/09/19/a-challenge-with-windows-autopilot-for-existing-devices-and-windows-10-1903/) on the solution to prevent this. From 08b05372b4fcd5997d31655054a39b3028d5a546 Mon Sep 17 00:00:00 2001 From: andreiztm Date: Fri, 14 Feb 2020 23:08:47 +0200 Subject: [PATCH 045/150] Update windows/deployment/windows-autopilot/existing-devices.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- windows/deployment/windows-autopilot/existing-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopilot/existing-devices.md b/windows/deployment/windows-autopilot/existing-devices.md index 6a4f86a8fa..8a7020e6c9 100644 --- a/windows/deployment/windows-autopilot/existing-devices.md +++ b/windows/deployment/windows-autopilot/existing-devices.md @@ -208,7 +208,7 @@ See the following examples. > The Autopilot for existing devices task sequence will run the **Prepare Windows for capture** action which uses the System Preparation Tool (sysprep). This action will fail if the target machine is joined to a domain. >[!IMPORTANT] - >The System Preparation Tool (sysprep) will run with the /Generalize parameter which on Windows 10 1903 & Windows 10 1909 versions will delete the AutoPilot profile file and the machine will boot into OOBE phase instead of AutoPilot. Please see Michael Niehaus's blog with instructions [A challenge with Windows Autopilot for existing devices and Windows 10 1903](https://oofhours.com/2019/09/19/a-challenge-with-windows-autopilot-for-existing-devices-and-windows-10-1903/) on the solution to prevent this. + > The System Preparation Tool (sysprep) will run with the /Generalize parameter which, on Windows 10 versions 1903 and 1909, will delete the Autopilot profile file and the machine will boot into OOBE phase instead of Autopilot phase. To fix this issue, please see [Windows Autopilot - known issues](https://docs.microsoft.com/windows/deployment/windows-autopilot/known-issues). 5. Click **Next** and then click **Next** again to accept the default settings on the Install Configuration Manager page. 6. On the State Migration page, enter the following details: From c45c45ebe51dd9d51c82dd6a0cce22234d8a649e Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 09:54:39 +0530 Subject: [PATCH 046/150] First set of pages for Linux Copied from Mac --- ...oft-defender-atp-linux-install-manually.md | 185 ++++++ ...defender-atp-linux-install-with-ansible.md | 259 ++++++++ ...atp-linux-install-with-other-configtool.md | 79 +++ ...-defender-atp-linux-install-with-puppet.md | 253 +++++++ ...icrosoft-defender-atp-linux-preferences.md | 623 ++++++++++++++++++ .../microsoft-defender-atp-linux-privacy.md | 277 ++++++++ .../microsoft-defender-atp-linux-pua.md | 66 ++ .../microsoft-defender-atp-linux-resources.md | 118 ++++ .../microsoft-defender-atp-linux-updates.md | 219 ++++++ .../microsoft-defender-atp-linux.md | 113 ++++ 10 files changed, 2192 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md new file mode 100644 index 0000000000..bed05f108c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -0,0 +1,185 @@ +--- +title: Installing Microsoft Defender ATP for Mac manually +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Mac manually, from the command line. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Manual deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +This topic describes how to deploy Microsoft Defender ATP for Mac manually. A successful deployment requires the completion of all of the following steps: +- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Application installation](#application-installation) +- [Client configuration](#client-configuration) + +## Prerequisites and system requirements + +Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +## Download installation and onboarding packages + +Download the installation and onboarding packages from Windows Defender Security Center: + +1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. +3. In Section 2 of the page, select **Download installation package**. Save it as wdav.pkg to a local directory. +4. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. + + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) + +5. From a command prompt, verify that you have the two files. + Extract the contents of the .zip files: + + ```bash + $ ls -l + total 721152 + -rw-r--r-- 1 test staff 6185 Mar 15 10:45 WindowsDefenderATPOnboardingPackage.zip + -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + inflating: WindowsDefenderATPOnboarding.py + ``` + +## Application installation + +To complete this process, you must have admin privileges on the machine. + +1. Navigate to the downloaded wdav.pkg in Finder and open it. + + ![App install screenshot](images/MDATP_28_AppInstall.png) + +2. Select **Continue**, agree with the License terms, and enter the password when prompted. + + ![App install screenshot](images/MDATP_29_AppInstallLogin.png) + + > [!IMPORTANT] + > You will be prompted to allow a driver from Microsoft to be installed (either "System Exception Blocked" or "Installation is on hold" or both. The driver must be allowed to be installed. + + ![App install screenshot](images/MDATP_30_SystemExtension.png) + +3. Select **Open Security Preferences** or **Open System Preferences > Security & Privacy**. Select **Allow**: + + ![Security and privacy window screenshot](images/MDATP_31_SecurityPrivacySettings.png) + +The installation proceeds. + +> [!NOTE] +> If you don't select **Allow**, the installation will proceed after 5 minutes. Defender ATP will be loaded, but real-time protection will be disabled. + +> [!NOTE] +> macOS may request to reboot the machine upon the first installation of Microsoft Defender. Real-Time Protection will not be available until the machine is rebooted. + +### Fixing disabled Real-Time Protection + +If you did not enable Microsoft's driver during installation, then the application displays a banner prompting you to enable it: + + ![RTP disabled screenshot](images/MDATP_32_Main_App_Fix.png) + +You can also run ```mdatp --health```. It reports if Real-Time Protection is enabled but not available: + +```bash +$ mdatp --health +... +realTimeProtectionAvailable : false +realTimeProtectionEnabled : true +... +``` + +> [!NOTE] +> You have a 30 minute window to enable Real-Time Protection from the warning banner, immediately following installation. + +The warning banner contains a **Fix** button, which allows you to quickly enable Real-Time Protection, without having to open a command prompt. Select the **Fix** button. It prompts the **Security & Privacy** system window, where you have to **Allow** system software from developers "Microsoft Corporation". + +If you don't see a prompt, it means that 30 or more minutes have already passed, and Real-Time Protection has still not been enabled: + +![Security and privacy window after prompt expired screenshot](images/MDATP_33_SecurityPrivacySettings_NoPrompt.png) + +In this case, you need to perform the following steps to enable Real-Time Protection instead. + +1. In Terminal, attempt to install the driver. (The operation will fail) + ```bash + $ sudo kextutil /Library/Extensions/wdavkext.kext + Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } + Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } + Diagnostics for /Library/Extensions/wdavkext.kext: + ``` + +2. Open **System Preferences...** > **Security & Privacy** from the menu. (Close it first, if it's opened.) + +3. **Allow** system software from developers "Microsoft Corporation" + +4. In Terminal, install the driver again. This time the operation will succeed: + +```bash +$ sudo kextutil /Library/Extensions/wdavkext.kext +``` + +The banner should disappear from the Defender application, and ```mdatp --health``` should now report that Real-Time Protection is both enabled and available: + +```bash +$ mdatp --health +... +realTimeProtectionAvailable : true +realTimeProtectionEnabled : true +... +``` + +## Client configuration + +1. Copy wdav.pkg and WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Mac. + + The client machine is not associated with orgId. Note that the *orgId* attribute is blank. + + ```bash + $ mdatp --health orgId + ``` + +2. Run the Python script to install the configuration file: + + ```bash + $ /usr/bin/python WindowsDefenderATPOnboarding.py + Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudos password) + ``` + +3. Verify that the machine is now associated with your organization and reports a valid *orgId*: + + ```bash + $ mdatp --health orgId + E6875323-A6C0-4C60-87AD-114BBE7439B8 + ``` + +After installation, you'll see the Microsoft Defender icon in the macOS status bar in the top-right corner. + + ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) + +## How to Allow Full Disk Access + +> [!CAUTION] +> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. + +To grant consent, open System Preferences -> Security & Privacy -> Privacy -> Full Disk Access. Click the lock icon to make changes (bottom of the dialog box). Select Microsoft Defender ATP. + +## Logging installation issues + +See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. + +## Uninstallation + +See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md new file mode 100644 index 0000000000..84088ccd42 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md @@ -0,0 +1,259 @@ +--- +title: Installing Microsoft Defender ATP for Mac with JAMF +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Mac, using JAMF. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# JAMF-based deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +This topic describes how to deploy Microsoft Defender ATP for Mac through JAMF. A successful deployment requires the completion of all of the following steps: +- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Create JAMF policies](#create-jamf-policies) +- [Client device setup](#client-device-setup) +- [Deployment](#deployment) +- [Check onboarding status](#check-onboarding-status) + +## Prerequisites and system requirements + +Before you get started, please see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +In addition, for JAMF deployment, you need to be familiar with JAMF administration tasks, have a JAMF tenant, and know how to deploy packages. This includes having a properly configured distribution point. JAMF has many ways to complete the same task. These instructions provide an example for most common processes. Your organization might use a different workflow. + +## Download installation and onboarding packages + +Download the installation and onboarding packages from Windows Defender Security Center: + +1. In Windows Defender Security Center, go to **Settings > device Management > Onboarding**. +2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS or Android** and deployment method to **Mobile Device Management / Microsoft Intune**. +3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. +4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. + + ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) + +5. From the command prompt, verify that you have the two files. Extract the contents of the .zip files like so: + + ```bash + $ ls -l + total 721160 + -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip + -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators + inflating: intune/kext.xml + inflating: intune/WindowsDefenderATPOnboarding.xml + inflating: jamf/WindowsDefenderATPOnboarding.plist + ``` + +## Create JAMF policies + +You need to create a configuration profile and a policy to start deploying Microsoft Defender ATP for Mac to client devices. + +### Configuration Profile + +The configuration profile contains a custom settings payload that includes: + +- Microsoft Defender ATP for Mac onboarding information +- Approved Kernel Extensions payload, to enable running the Microsoft kernel driver + +To set the onboarding information, add a property list file with the name, _jamf/WindowsDefenderATPOnboarding.plist_, as a custom setting. You can do this by navigating to **Computers**>**Configuration Profiles**, selecting **New**, then choosing **Custom Settings**>**Configure**. From there, you can upload the property list. + + >[!IMPORTANT] + > You must set the Preference Domain as "com.microsoft.wdav.atp" + +![Configuration profile screenshot](images/MDATP_16_PreferenceDomain.png) + +### Approved Kernel Extension + +To approve the kernel extension: + +1. In **Computers > Configuration Profiles** select **Options > Approved Kernel Extensions**. +2. Use **UBF8T346G9** for Team Id. + +![Approved kernel extensions screenshot](images/MDATP_17_approvedKernelExtensions.png) + +### Privacy Preferences Policy Control + +> [!CAUTION] +> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. +> +> If you previously configured Microsoft Defender ATP through JAMF, we recommend applying the following configuration. + +Add the following JAMF policy to grant Full Disk Access to Microsoft Defender ATP. + +1. Select **Options > Privacy Preferences Policy Control**. +2. Use any identifier and identifier type = Bundle. +3. Set Code Requirement to `identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9`. +4. Set app or service to SystemPolicyAllFiles and access to Allow. + +![Privacy Preferences Policy Control](images/MDATP_35_JAMF_PrivacyPreferences.png) + +#### Configuration Profile's Scope + +Configure the appropriate scope to specify the devices that will receive the configuration profile. + +Open **Computers** > **Configuration Profiles**, and select **Scope > Targets**. From there, select the devices you want to target. + +![Configuration profile scope screenshot](images/MDATP_18_ConfigurationProfilesScope.png) + +Save the **Configuration Profile**. + +Use the **Logs** tab to monitor deployment status for each enrolled device. + +### Package + +1. Create a package in **Settings > Computer Management > Packages**. + + ![Computer management packages screenshot](images/MDATP_19_MicrosoftDefenderWDAVPKG.png) + +2. Upload the package to the Distribution Point. +3. In the **filename** field, enter the name of the package. For example, _wdav.pkg_. + +### Policy + +Your policy should contain a single package for Microsoft Defender. + +![Microsoft Defender packages screenshot](images/MDATP_20_MicrosoftDefenderPackages.png) + +Configure the appropriate scope to specify the computers that will receive this policy. + +After you save the Configuration Profile, you can use the Logs tab to monitor the deployment status for each enrolled device. + +## Client device setup + +You'll need no special provisioning for a macOS computer, beyond the standard JAMF Enrollment. + +> [!NOTE] +> After a computer is enrolled, it will show up in the Computers inventory (All Computers). + +1. Open **Device Profiles**, from the **General** tab, and make sure that **User Approved MDM** is set to **Yes**. If it's currently set to No, the user needs to open **System Preferences > Profiles** and select **Approve** on the MDM Profile. + +![MDM approve button screenshot](images/MDATP_21_MDMProfile1.png) +![MDM screenshot](images/MDATP_22_MDMProfileApproved.png) + +After a moment, the device's User Approved MDM status will change to **Yes**. + +![MDM status screenshot](images/MDATP_23_MDMStatus.png) + +You may now enroll additional devices. You may also enroll them later, after you have finished provisioning system configuration and application packages. + +## Deployment + +Enrolled client devices periodically poll the JAMF Server, and install new configuration profiles and policies as soon as they are detected. + +### Status on the server + +You can monitor deployment status in the **Logs** tab: + +- **Pending** means that the deployment is scheduled but has not yet happened +- **Completed** means that the deployment succeeded and is no longer scheduled + +![Status on server screenshot](images/MDATP_24_StatusOnServer.png) + +### Status on client device + +After the Configuration Profile is deployed, you'll see the profile for the device in **System Preferences** > **Profiles >**. + +![Status on client screenshot](images/MDATP_25_StatusOnClient.png) + +Once the policy is applied, you'll see the Microsoft Defender ATP icon in the macOS status bar in the top-right corner. + +![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) + +You can monitor policy installation on a device by following the JAMF log file: + +```bash + $ tail -f /var/log/jamf.log + Thu Feb 21 11:11:41 mavel-mojave jamf[7960]: No patch policies were found. + Thu Feb 21 11:16:41 mavel-mojave jamf[8051]: Checking for policies triggered by "recurring check-in" for user "testuser"... + Thu Feb 21 11:16:43 mavel-mojave jamf[8051]: Executing Policy WDAV + Thu Feb 21 11:17:02 mavel-mojave jamf[8051]: Installing Microsoft Defender... + Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Successfully installed Microsoft Defender. + Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Checking for patches... + Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: No patch policies were found. +``` + +You can also check the onboarding status: + +```bash +$ mdatp --health +... +licensed : true +orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" +... +``` + +- **licensed**: This confirms that the device has an ATP license. + +- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. + +## Check onboarding status + +You can check that devices have been correctly onboarded by creating a script. For example, the following script checks enrolled devices for onboarding status: + +```bash +$ mdatp --health healthy +``` + +The above command prints "1" if the product is onboarded and functioning as expected. + +If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: +- 1 if the device is not yet onboarded +- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running + +## Logging installation issues + +See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. + +## Uninstallation + +This method is based on the script described in [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling). + +### Script + +Create a script in **Settings > Computer Management > Scripts**. + +This script removes Microsoft Defender ATP from the /Applications directory: + +```bash + #!/bin/bash + + echo "Is WDAV installed?" + ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null + + echo "Uninstalling WDAV..." + rm -rf '/Applications/Microsoft Defender ATP.app' + + echo "Is WDAV still installed?" + ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null + + echo "Done!" +``` + +![Microsoft Defender uninstall screenshot](images/MDATP_26_Uninstall.png) + +### Policy + +Your policy should contain a single script: + +![Microsoft Defender uninstall script screenshot](images/MDATP_27_UninstallScript.png) + +Configure the appropriate scope in the **Scope** tab to specify the machines that will receive this policy. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md new file mode 100644 index 0000000000..91a5f56395 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md @@ -0,0 +1,79 @@ +--- +title: Installing Microsoft Defender ATP for Mac with different MDM product +description: Describes how to install Microsoft Defender ATP for Mac on other management solutions. +keywords: microsoft, defender, atp, mac, installation, deploy, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: mavel +author: maximvelichko +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Deployment with a different Mobile Device Management (MDM) system + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +## Prerequisites and system requirements + +Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +## Approach + +> [!CAUTION] +> Currently, Microsoft oficially supports only Intune and JAMF for the deployment and management of Microsoft Defender ATP for Mac. Microsoft makes no warranties, express or implied, with respect to the information provided below. + +If your organization uses a Mobile Device Management (MDM) solution that is not officially supported, this does not mean you are unable to deploy or run Microsoft Defender ATP for Mac. + +Microsoft Defender ATP for Mac does not depend on any vendor-specific features. It can be used with any MDM solution that supports the following features: + +- Deploy a macOS .pkg to managed machines. +- Deploy macOS system configuration profiles to managed machines. +- Run an arbitrary admin-configured tool/script on managed machines. + +Most modern MDM solutions include these features, however, they may call them differently. + +You can deploy Defender without the last requirement from the preceding list, however: + +- You will not be able to collect status in a centralized way +- If you decide to uninstall Defender, you will need to logon to the client machine locally as an administrator + +## Deployment + +Most MDM solutions use the same model for managing macOS machines, with similar terminology. Use [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) as a template. + +### Package + +Configure deployment of a [required application package](microsoft-defender-atp-mac-install-with-jamf.md#package), +with the installation package (wdav.pkg) downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). + +In order to deploy the package to your enterprise, use the instructions associated with your MDM solution. + +### License settings + +Set up [a system configuration profile](microsoft-defender-atp-mac-install-with-jamf.md#configuration-profile). +Your MDM solution may call it something like "Custom Settings Profile", as Microsoft Defender ATP for Mac is not part of macOS. + +Use the property list, jamf/WindowsDefenderATPOnboarding.plist, which can be extracted from an onboarding package downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). +Your system may support an arbitrary property list in XML format. You can upload the jamf/WindowsDefenderATPOnboarding.plist file as-is in that case. +Alternatively, it may require you to convert the property list to a different format first. + +Typically, your custom profile has an id, name, or domain attribute. You must use exactly "com.microsoft.wdav.atp" for this value. +MDM uses it to deploy the settings file to **/Library/Managed Preferences/com.microsoft.wdav.atp.plist** on a client machine, and Defender uses this file for loading the onboarding information. + +### Kernel extension policy + +Set up a KEXT or kernel extension policy. Use team identifier **UBF8T346G9** to whitelist kernel extensions provided by Microsoft. + +## Check installation status + +Run [mdatp](microsoft-defender-atp-mac-install-with-jamf.md#check-onboarding-status) on a client machine to check the onboarding status. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md new file mode 100644 index 0000000000..7a0f0c27d6 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -0,0 +1,253 @@ +--- +title: Installing Microsoft Defender ATP for Mac with Microsoft Intune +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Mac, using Microsoft Intune. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Microsoft Intune-based deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +This topic describes how to deploy Microsoft Defender ATP for Mac through Intune. A successful deployment requires the completion of all of the following steps: +- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Client device setup](#client-device-setup) +- [Create System Configuration profiles](#create-system-configuration-profiles) +- [Publish application](#publish-application) + +## Prerequisites and system requirements + +Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. + +## Download installation and onboarding packages + +Download the installation and onboarding packages from Microsoft Defender Security Center: + +1. In Microsoft Defender Security Center, go to **Settings** > **Device Management** > **Onboarding**. +2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS, or Android** and the deployment method to **Mobile Device Management / Microsoft Intune**. +3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. +4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. +5. Download **IntuneAppUtil** from [https://docs.microsoft.com/intune/lob-apps-macos](https://docs.microsoft.com/intune/lob-apps-macos). + + ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) + +6. From a command prompt, verify that you have the three files. + Extract the contents of the .zip files: + + ```bash + $ ls -l + total 721688 + -rw-r--r-- 1 test staff 269280 Mar 15 11:25 IntuneAppUtil + -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip + -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators + inflating: intune/kext.xml + inflating: intune/WindowsDefenderATPOnboarding.xml + inflating: jamf/WindowsDefenderATPOnboarding.plist + ``` + +7. Make IntuneAppUtil an executable: + + ```bash + $ chmod +x IntuneAppUtil + ``` + +8. Create the wdav.pkg.intunemac package from wdav.pkg: + + ```bash + $ ./IntuneAppUtil -c wdav.pkg -o . -i "com.microsoft.wdav" -n "1.0.0" + Microsoft Intune Application Utility for Mac OS X + Version: 1.0.0.0 + Copyright 2018 Microsoft Corporation + + Creating intunemac file for /Users/test/Downloads/wdav.pkg + Composing the intunemac file output + Output written to ./wdav.pkg.intunemac. + + IntuneAppUtil successfully processed "wdav.pkg", + to deploy refer to the product documentation. + ``` + +## Client device setup + +You need no special provisioning for a Mac device beyond a standard [Company Portal installation](https://docs.microsoft.com/intune-user-help/enroll-your-device-in-intune-macos-cp). + +1. You are asked to confirm device management. + +![Confirm device management screenshot](images/MDATP_3_ConfirmDeviceMgmt.png) + +Select **Open System Preferences**, locate **Management Profile** on the list, and select **Approve...**. Your Management Profile would be displayed as **Verified**: + +![Management profile screenshot](images/MDATP_4_ManagementProfile.png) + +2. Select **Continue** and complete the enrollment. + +You may now enroll more devices. You can also enroll them later, after you have finished provisioning system configuration and application packages. + +3. In Intune, open **Manage** > **Devices** > **All devices**. Here you can see your device among those listed: + +![Add Devices screenshot](images/MDATP_5_allDevices.png) + +## Create System Configuration profiles + +1. In Intune, open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. +2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select **Configure**. +3. Open the configuration profile and upload intune/kext.xml. This file was created in one of the preceding sections. +4. Select **OK**. + + ![System configuration profiles screenshot](images/MDATP_6_SystemConfigurationProfiles.png) + +5. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. +6. Repeat steps 1 through 5 for more profiles. +7. Create another profile, give it a name, and upload the intune/WindowsDefenderATPOnboarding.xml file. +8. Create tcc.xml file with content below. Create another profile, give it any name and upload this file to it. + + > [!CAUTION] + > macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. + > + > The following configuration profile grants Full Disk Access to Microsoft Defender ATP. If you previously configured Microsoft Defender ATP through Intune, we recommend you update the deployment with this configuration profile. + + ```xml + + + + + PayloadDescription + Allows Microsoft Defender to access all files on Catalina+ + PayloadDisplayName + TCC - Microsoft Defender + PayloadIdentifier + com.microsoft.wdav.tcc + PayloadOrganization + Microsoft Corp. + PayloadRemovalDisallowed + + PayloadScope + system + PayloadType + Configuration + PayloadUUID + C234DF2E-DFF6-11E9-B279-001C4299FB44 + PayloadVersion + 1 + PayloadContent + + + PayloadDescription + Allows Microsoft Defender to access all files on Catalina+ + PayloadDisplayName + TCC - Microsoft Defender + PayloadIdentifier + com.microsoft.wdav.tcc.C233A5E6-DFF6-11E9-BDAD-001C4299FB44 + PayloadOrganization + Microsoft Corp. + PayloadType + com.apple.TCC.configuration-profile-policy + PayloadUUID + C233A5E6-DFF6-11E9-BDAD-001C4299FB44 + PayloadVersion + 1 + Services + + SystemPolicyAllFiles + + + Allowed + + CodeRequirement + identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9 + Comment + Allow SystemPolicyAllFiles control for Microsoft Defender ATP + Identifier + com.microsoft.wdav + IdentifierType + bundleID + + + + + + + + ``` + +9. Select **Manage > Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. + +Once the Intune changes are propagated to the enrolled devices, you can see them listed under **Monitor** > **Device status**: + +![System configuration profiles screenshot](images/MDATP_7_DeviceStatusBlade.png) + +## Publish application + +1. In Intune, open the **Manage > Client apps** blade. Select **Apps > Add**. +2. Select **App type=Other/Line-of-business app**. +3. Select **file=wdav.pkg.intunemac**. Select **OK** to upload. +4. Select **Configure** and add the required information. +5. Use **macOS Sierra 10.12** as the minimum OS and set *Ignore app version* to **Yes**. Other settings can be any arbitrary value. + + > [!CAUTION] + > Failure to set *Ignore app version* to **Yes** impacts the ability of the application to receive updates through Microsoft AutoUpdate. See [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) for additional information about how the product is updated. + + ![Device status blade screenshot](images/MDATP_8_IntuneAppInfo.png) + +6. Select **OK** and **Add**. + + ![Device status blade screenshot](images/MDATP_9_IntunePkgInfo.png) + +7. It may take a few moments to upload the package. After it's done, select the package from the list and go to **Assignments** and **Add group**. + + ![Client apps screenshot](images/MDATP_10_ClientApps.png) + +8. Change **Assignment type** to **Required**. +9. Select **Included Groups**. Select **Make this app required for all devices=Yes**. Click **Select group to include** and add a group that contains the users you want to target. Select **OK** and **Save**. + + ![Intune assignments info screenshot](images/MDATP_11_Assignments.png) + +10. After some time the application will be published to all enrolled devices. You can see it listed in **Monitor** > **Device**, under **Device install status**: + + ![Intune device status screenshot](images/MDATP_12_DeviceInstall.png) + +## Verify client device state + +1. After the configuration profiles are deployed to your devices, open **System Preferences** > **Profiles** on your Mac device. + + ![System Preferences screenshot](images/MDATP_13_SystemPreferences.png) + ![System Preferences Profiles screenshot](images/MDATP_14_SystemPreferencesProfiles.png) + +2. Verify that the following configuration profiles are present and installed. The **Management Profile** should be the Intune system profile. _Wdav-config_ and _wdav-kext_ are system configuration profiles that were added in Intune: + ![Profiles screenshot](images/MDATP_15_ManagementProfileConfig.png) + +3. You should also see the Microsoft Defender icon in the top-right corner: + + ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) + +## Troubleshooting + +Issue: No license found + +Solution: Follow the steps above to create a device profile using WindowsDefenderATPOnboarding.xml + +## Logging installation issues + +For more information on how to find the automatically generated log that is created by the installer when an error occurs, see [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) . + +## Uninstallation + +See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md new file mode 100644 index 0000000000..80ec6a0f67 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -0,0 +1,623 @@ +--- +title: Set preferences for Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes how to configure Microsoft Defender ATP for Mac in enterprises. +keywords: microsoft, defender, atp, mac, management, preferences, enterprise, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Set preferences for Microsoft Defender ATP for Mac + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +>[!IMPORTANT] +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Mac in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-mac-resources.md#configuring-from-the-command-line) page. + +In enterprise environments, Microsoft Defender ATP for Mac can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. + +This topic describes the structure of this profile (including a recommended profile that you can use to get started) and instructions for how to deploy the profile. + +## Configuration profile structure + +The configuration profile is a .plist file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. + +>[!CAUTION] +>The layout of the configuration profile depends on the management console that you are using. The following sections contain examples of configuration profiles for JAMF and Intune. + +The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. + +### Antivirus engine preferences + +The *antivirusEngine* section of the configuration profile is used to manage the preferences of the antivirus component of the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | antivirusEngine | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +#### Enable / disable real-time protection + +Whether real-time protection (scan files as they are accessed) is enabled or not. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | enableRealTimeProtection | +| **Data type** | Boolean | +| **Possible values** | true (default)
    false | + +#### Enable / disable passive mode + +Whether the antivirus engine runs in passive mode or not. In passive mode: +- Real-time protection is turned off +- On-demand scanning is turned on +- Automatic threat remediation is turned off +- Security intelligence updates are turned on +- Status menu icon is hidden + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | passiveMode | +| **Data type** | Boolean | +| **Possible values** | false (default)
    true | +| **Comments** | Available in Microsoft Defender ATP version 100.67.60 or higher. | + +#### Scan exclusions + +Entities that have been excluded from the scan. Exclusions can be specified by full paths, extensions, or file names. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | exclusions | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +**Type of exclusion** + +Specifies the type of content excluded from the scan. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | $type | +| **Data type** | String | +| **Possible values** | excludedPath
    excludedFileExtension
    excludedFileName | + +**Path to excluded content** + +Used to exclude content from the scan by full file path. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | path | +| **Data type** | String | +| **Possible values** | valid paths | +| **Comments** | Applicable only if *$type* is *excludedPath* | + +**Path type (file / directory)** + +Indicates if the *path* property refers to a file or directory. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | isDirectory | +| **Data type** | Boolean | +| **Possible values** | false (default)
    true | +| **Comments** | Applicable only if *$type* is *excludedPath* | + +**File extension excluded from the scan** + +Used to exclude content from the scan by file extension. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | extension | +| **Data type** | String | +| **Possible values** | valid file extensions | +| **Comments** | Applicable only if *$type* is *excludedFileExtension* | + +**Name of excluded content** + +Used to exclude content from the scan by file name. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | name | +| **Data type** | String | +| **Possible values** | any string | +| **Comments** | Applicable only if *$type* is *excludedFileName* | + +#### Allowed threats + +List of threats (identified by their name) that are not blocked by the product and are instead allowed to run. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | allowedThreats | +| **Data type** | Array of strings | + +#### Threat type settings + +The *threatTypeSettings* preference in the antivirus engine is used to control how certain threat types are handled by the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | threatTypeSettings | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +**Threat type** + +Type of the threat for which the behavior is configured. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | key | +| **Data type** | String | +| **Possible values** | potentially_unwanted_application
    archive_bomb | + +**Action to take** + +Action to take when coming across a threat of the type specified in the preceding section. Can be: + +- **Audit**: your device is not protected against this type of threat, but an entry about the threat is logged. +- **Block**: your device is protected against this type of threat and you are notified in the user interface and the security console. +- **Off**: your device is not protected against this type of threat and nothing is logged. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | value | +| **Data type** | String | +| **Possible values** | audit (default)
    block
    off | + +### Cloud delivered protection preferences + +The *cloudService* entry in the configuration profile is used to configure the cloud driven protection feature of the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | cloudService | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +#### Enable / disable cloud delivered protection + +Whether cloud delivered protection is enabled on the device or not. To improve the security of your services, we recommend keeping this feature turned on. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | enabled | +| **Data type** | Boolean | +| **Possible values** | true (default)
    false | + +#### Diagnostic collection level + +Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, detect, diagnose and fix problems, and also make product improvements. This setting determines the level of diagnostics sent by the product to Microsoft. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | diagnosticLevel | +| **Data type** | String | +| **Possible values** | optional (default)
    required | + +#### Enable / disable automatic sample submissions + +Determines whether suspicious samples (that are likely to contain threats) are sent to Microsoft. You are prompted if the submitted file is likely to contain personal information. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | automaticSampleSubmission | +| **Data type** | Boolean | +| **Possible values** | true (default)
    false | + +### User interface preferences + +The *userInterface* section of the configuration profile is used to manage the preferences of the user interface of the product. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | userInterface | +| **Data type** | Dictionary (nested preference) | +| **Comments** | See the following sections for a description of the dictionary contents. | + +#### Show / hide status menu icon + +Whether the status menu icon (shown in the top-right corner of the screen) is hidden or not. + +||| +|:---|:---| +| **Domain** | com.microsoft.wdav | +| **Key** | hideStatusMenuIcon | +| **Data type** | Boolean | +| **Possible values** | false (default)
    true | + +## Recommended configuration profile + +To get started, we recommend the following configuration profile for your enterprise to take advantage of all protection features that Microsoft Defender ATP provides. + +The following configuration profile will: +- Enable real-time protection (RTP) +- Specify how the following threat types are handled: + - **Potentially unwanted applications (PUA)** are blocked + - **Archive bombs** (file with a high compression rate) are audited to the product logs +- Enable cloud delivered protection +- Enable automatic sample submission + +### JAMF profile + +```XML + + + + + antivirusEngine + + enableRealTimeProtection + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + automaticSampleSubmission + + + + +``` + +### Intune profile + +```XML + + + + + PayloadUUID + C4E6A782-0C8D-44AB-A025-EB893987A295 + PayloadType + Configuration + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.wdav + PayloadDisplayName + Microsoft Defender ATP settings + PayloadDescription + Microsoft Defender ATP configuration settings + PayloadVersion + 1 + PayloadEnabled + + PayloadRemovalDisallowed + + PayloadScope + System + PayloadContent + + + PayloadUUID + 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 + PayloadType + com.microsoft.wdav + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.wdav + PayloadDisplayName + Microsoft Defender ATP configuration settings + PayloadDescription + + PayloadVersion + 1 + PayloadEnabled + + antivirusEngine + + enableRealTimeProtection + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + automaticSampleSubmission + + + + + + +``` + +## Full configuration profile example + +The following configuration profile contains entries for all settings described in this document and can be used for more advanced scenarios where you want more control over the product. + +### JAMF profile + +```XML + + + + + antivirusEngine + + enableRealTimeProtection + + passiveMode + + exclusions + + + $type + excludedPath + isDirectory + + path + /var/log/system.log + + + $type + excludedPath + isDirectory + + path + /home + + + $type + excludedFileExtension + extension + pdf + + + allowedThreats + + EICAR-Test-File (not a virus) + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + diagnosticLevel + optional + automaticSampleSubmission + + + userInterface + + hideStatusMenuIcon + + + + +``` + +### Intune profile + +```XML + + + + + PayloadUUID + C4E6A782-0C8D-44AB-A025-EB893987A295 + PayloadType + Configuration + PayloadOrganization + Microsoft + PayloadIdentifier + C4E6A782-0C8D-44AB-A025-EB893987A295 + PayloadDisplayName + Microsoft Defender ATP settings + PayloadDescription + Microsoft Defender ATP configuration settings + PayloadVersion + 1 + PayloadEnabled + + PayloadRemovalDisallowed + + PayloadScope + System + PayloadContent + + + PayloadUUID + 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 + PayloadType + com.microsoft.wdav + PayloadOrganization + Microsoft + PayloadIdentifier + 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 + PayloadDisplayName + Microsoft Defender ATP configuration settings + PayloadDescription + + PayloadVersion + 1 + PayloadEnabled + + antivirusEngine + + enableRealTimeProtection + + passiveMode + + exclusions + + + $type + excludedPath + isDirectory + + path + /var/log/system.log + + + $type + excludedPath + isDirectory + + path + /home + + + $type + excludedFileExtension + extension + pdf + + + allowedThreats + + EICAR-Test-File (not a virus) + + threatTypeSettings + + + key + potentially_unwanted_application + value + block + + + key + archive_bomb + value + audit + + + + cloudService + + enabled + + diagnosticLevel + optional + automaticSampleSubmission + + + userInterface + + hideStatusMenuIcon + + + + + + +``` + +## Configuration profile deployment + +Once you've built the configuration profile for your enterprise, you can deploy it through the management console that your enterprise is using. The following sections provide instructions on how to deploy this profile using JAMF and Intune. + +### JAMF deployment + +From the JAMF console, open **Computers** > **Configuration Profiles**, navigate to the configuration profile you'd like to use, then select **Custom Settings**. Create an entry with *com.microsoft.wdav* as the preference domain and upload the .plist produced earlier. + +>[!CAUTION] +>You must enter the correct preference domain (*com.microsoft.wdav*), otherwise the preferences will not be recognized by the product. + +### Intune deployment + +1. Open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. + +2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select Configure. + +3. Save the .plist produced earlier as **com.microsoft.wdav.xml**. + +4. Enter **com.microsoft.wdav** as the **custom configuration profile name**. + +5. Open the configuration profile and upload **com.microsoft.wdav.xml**. This file was created in step 3. + +6. Select **OK**. + +7. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. + +>[!CAUTION] +>You must enter the correct custom configuration profile name, otherwise these preferences will not be recognized by the product. + +## Resources + +- [Configuration Profile Reference (Apple developer documentation)](https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md new file mode 100644 index 0000000000..0c56970e6f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md @@ -0,0 +1,277 @@ +--- +title: Privacy for Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Mac. +keywords: microsoft, defender, atp, mac, privacy, diagnostic +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Privacy for Microsoft Defender ATP for Mac + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Mac. + +This topic describes the privacy controls available within the product, how to manage these controls with policy settings and more details on the data events that are collected. + +## Overview of privacy controls in Microsoft Defender ATP for Mac + +This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Mac. + +### Diagnostic data + +Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, detect, diagnose and fix problems, and also make product improvements. + +Some diagnostic data is required, while some diagnostic data is optional. We give you the ability to choose whether to send us required or optional diagnostic data through the use of privacy controls, such as policy settings for organizations. + +There are two levels of diagnostic data for Microsoft Defender ATP client software that you can choose from: + +* **Required**: The minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and performing as expected on the device it’s installed on. + +* **Optional**: Additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and remediate issues. + +By default, both optional and required diagnostic data are sent to Microsoft. + +### Cloud delivered protection data + +Cloud delivered protection is used to provide increased and faster protection with access to the latest protection data in the cloud. + +Enabling the cloud-delivered protection service is optional, however it is highly recommended because it provides important protection against malware on your endpoints and across your network. + +### Sample data + +Sample data is used to improve the protection capabilities of the product, by sending Microsoft suspicious samples so they can be analyzed. Enabling automatic sample submission is optional. + +When this feature is enabled and the sample that is collected is likely to contain personal information, the user is prompted for consent. + +## Manage privacy controls with policy settings + +If you're an IT administrator, you might want to configure these controls at the enterprise level. + +The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). + +As with any new policy settings, you should carefully test them out in a limited, controlled environment to ensure the settings that you configure have the desired effect before you implement the policy settings more widely in your organization. + +## Diagnostic data events + +This section describes what is considered required diagnostic data and what is considered optional diagnostic data, along with a description of the events and fields that are collected. + +### Data fields that are common for all events +There is some information about events that is common to all events, regardless of category or data subtype. + +The following fields are considered common for all events: + +| Field | Description | +| ----------------------- | ----------- | +| platform | The broad classification of the platform on which the app is running. Allows Microsoft to identify on which platforms an issue may be occurring so that it can correctly be prioritized. | +| machine_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | +| sense_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | +| org_id | Unique identifier associated with the enterprise that the device belongs to. Allows Microsoft to identify whether issues are impacting a select set of enterprises and how many enterprises are impacted. | +| hostname | Local machine name (without DNS suffix). Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | +| product_guid | Unique identifier of the product. Allows Microsoft to differentiate issues impacting different flavors of the product. | +| app_version | Version of the Microsoft Defender ATP for Mac application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| +| sig_version | Version of security intelligence database. Allows Microsoft to identify which versions of the security intelligence are showing an issue so that it can correctly be prioritized. | +| supported_compressions | List of compression algorithms supported by the application, for example `['gzip']`. Allows Microsoft to understand what types of compressions can be used when it communicates with the application. | +| release_ring | Ring that the device is associated with (for example Insider Fast, Insider Slow, Production). Allows Microsoft to identify on which release ring an issue may be occurring so that it can correctly be prioritized. | + + +### Required diagnostic data + +**Required diagnostic data** is the minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and perform as expected on the device it’s installed on. + +Required diagnostic data helps to identify problems with Microsoft Defender ATP that may be related to a device or software configuration. For example, it can help determine if a Microsoft Defender ATP feature crashes more frequently on a particular operating system version, with newly introduced features, or when certain Microsoft Defender ATP features are disabled. Required diagnostic data helps Microsoft detect, diagnose, and fix these problems more quickly so the impact to users or organizations is reduced. + +#### Software setup and inventory data events + +**Microsoft Defender ATP installation / uninstallation** + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| correlation_id | Unique identifier associated with the installation. | +| version | Version of the package. | +| severity | Severity of the message (for example Informational). | +| code | Code that describes the operation. | +| text | Additional information associated with the product installation. | + +**Microsoft Defender ATP configuration** + +The following fields are collected: + +| Field | Description | +| --------------------------------------------------- | ----------- | +| antivirus_engine.enable_real_time_protection | Whether real-time protection is enabled on the device or not. | +| antivirus_engine.passive_mode | Whether passive mode is enabled on the device or not. | +| cloud_service.enabled | Whether cloud delivered protection is enabled on the device or not. | +| cloud_service.timeout | Time out when the application communicates with the Microsoft Defender ATP cloud. | +| cloud_service.heartbeat_interval | Interval between consecutive heartbeats sent by the product to the cloud. | +| cloud_service.service_uri | URI used to communicate with the cloud. | +| cloud_service.diagnostic_level | Diagnostic level of the device (required, optional). | +| cloud_service.automatic_sample_submission | Whether automatic sample submission is turned on or not. | +| edr.early_preview | Whether the machine should run EDR early preview features. | +| edr.group_id | Group identifier used by the detection and response component. | +| edr.tags | User-defined tags. | +| features.\[optional feature name\] | List of preview features, along with whether they are enabled or not. | + +#### Product and service performance data events + +**Kernel extension statistics** + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| version | Version of Microsoft Defender ATP for Mac. | +| instance_id | Unique identifier generated on kernel extension startup. | +| trace_level | Trace level of the kernel extension. | +| ipc.connects | Number of connection requests received by the kernel extension. | +| ipc.rejects | Number of connection requests rejected by the kernel extension. | +| ipc.connected | Whether there is any active connection to the kernel extension. | + +#### Support data + +**Diagnostic logs** + +Diagnostic logs are collected only with the consent of the user as part of the feedback submission feature. The following files are collected as part of the support logs: + +- All files under */Library/Logs/Microsoft/mdatp/* +- Subset of files under */Library/Application Support/Microsoft/Defender/* that are created and used by Microsoft Defender ATP for Mac +- Subset of files under */Library/Managed Preferences* that are used by Microsoft Defender ATP for Mac +- /Library/Logs/Microsoft/autoupdate.log +- $HOME/Library/Preferences/com.microsoft.autoupdate2.plist + +### Optional diagnostic data + +**Optional diagnostic data** is additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and fix issues. + +If you choose to send us optional diagnostic data, required diagnostic data is also included. + +Examples of optional diagnostic data include data Microsoft collects about product configuration (for example number of exclusions set on the device) and product performance (aggregate measures about the performance of components of the product). + +#### Software setup and inventory data events + +**Microsoft Defender ATP configuration** + +The following fields are collected: + +| Field | Description | +| -------------------------------------------------- | ----------- | +| connection_retry_timeout | Connection retry time out when communication with the cloud. | +| file_hash_cache_maximum | Size of the product cache. | +| crash_upload_daily_limit | Limit of crash logs uploaded daily. | +| antivirus_engine.exclusions[].is_directory | Whether the exclusion from scanning is a directory or not. | +| antivirus_engine.exclusions[].path | Path that was excluded from scanning. | +| antivirus_engine.exclusions[].extension | Extension excluded from scanning. | +| antivirus_engine.exclusions[].name | Name of the file excluded from scanning. | +| antivirus_engine.scan_cache_maximum | Size of the product cache. | +| antivirus_engine.maximum_scan_threads | Maximum number of threads used for scanning. | +| antivirus_engine.threat_restoration_exclusion_time | Time out before a file restored from the quarantine can be detected again. | +| filesystem_scanner.full_scan_directory | Full scan directory. | +| filesystem_scanner.quick_scan_directories | List of directories used in quick scan. | +| edr.latency_mode | Latency mode used by the detection and response component. | +| edr.proxy_address | Proxy address used by the detection and response component. | + +**Microsoft Auto-Update configuration** + +The following fields are collected: + +| Field | Description | +| --------------------------- | ----------- | +| how_to_check | Determines how product updates are checked (for example automatic or manual). | +| channel_name | Update channel associated with the device. | +| manifest_server | Server used for downloading updates. | +| update_cache | Location of the cache used to store updates. | + +### Product and service usage + +#### Diagnostic log upload started report + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| sha256 | SHA256 identifier of the support log. | +| size | Size of the support log. | +| original_path | Path to the support log (always under */Library/Application Support/Microsoft/Defender/wdavdiag/*). | +| format | Format of the support log. | + +#### Diagnostic log upload completed report + +The following fields are collected: + +| Field | Description | +| ---------------- | ----------- | +| request_id | Correlation ID for the support log upload request. | +| sha256 | SHA256 identifier of the support log. | +| blob_sas_uri | URI used by the application to upload the support log. | + +#### Product and service performance data events + +**Unexpected application exit (crash)** + +Unexpected application exits and the state of the application when that happens. + +**Kernel extension statistics** + +The following fields are collected: + +| Field | Description | +| ------------------------------ | ----------- | +| pkt_ack_timeout | The following properties are aggregated numerical values, representing count of events that happened since kernel extension startup. | +| pkt_ack_conn_timeout | | +| ipc.ack_pkts | | +| ipc.nack_pkts | | +| ipc.send.ack_no_conn | | +| ipc.send.nack_no_conn | | +| ipc.send.ack_no_qsq | | +| ipc.send.nack_no_qsq | | +| ipc.ack.no_space | | +| ipc.ack.timeout | | +| ipc.ack.ackd_fast | | +| ipc.ack.ackd | | +| ipc.recv.bad_pkt_len | | +| ipc.recv.bad_reply_len | | +| ipc.recv.no_waiter | | +| ipc.recv.copy_failed | | +| ipc.kauth.vnode.mask | | +| ipc.kauth.vnode.read | | +| ipc.kauth.vnode.write | | +| ipc.kauth.vnode.exec | | +| ipc.kauth.vnode.del | | +| ipc.kauth.vnode.read_attr | | +| ipc.kauth.vnode.write_attr | | +| ipc.kauth.vnode.read_ex_attr | | +| ipc.kauth.vnode.write_ex_attr | | +| ipc.kauth.vnode.read_sec | | +| ipc.kauth.vnode.write_sec | | +| ipc.kauth.vnode.take_own | | +| ipc.kauth.vnode.denied | | +| ipc.kauth.file_op.mask | | +| ipc.kauth_file_op.open | | +| ipc.kauth.file_op.close | | +| ipc.kauth.file_op.close_modified | | +| ipc.kauth.file_op.move | | +| ipc.kauth.file_op.link | | +| ipc.kauth.file_op.exec | | +| ipc.kauth.file_op.remove | | +| ipc.kauth.file_op.fork | | +| ipc.kauth.file_op.create | | + +## Resources + +- [Privacy at Microsoft](https://privacy.microsoft.com/) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md new file mode 100644 index 0000000000..2696590c99 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md @@ -0,0 +1,66 @@ +--- +title: Detect and block potentially unwanted applications +ms.reviewer: +description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Mac. +keywords: microsoft, defender, atp, mac, pua, pus +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Detect and block potentially unwanted applications + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Mac can detect and block PUA files on endpoints in your network. + +These applications are not considered viruses, malware, or other types of threats, but might perform actions on endpoints that adversely affect their performance or use. PUA can also refer to applications that are considered to have poor reputation. + +These applications can increase the risk of your network being infected with malware, cause malware infections to be harder to identify, and can waste IT resources in cleaning up the applications. + +## How it works + +Microsoft Defender ATP for Mac can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. + +When a PUA is detected on an endpoint, Microsoft Defender ATP for Mac presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". + +## Configure PUA protection + +PUA protection in Microsoft Defender ATP for Mac can be configured in one of the following ways: + +- **Off**: PUA protection is disabled. +- **Audit**: PUA files are reported in the product logs, but not in Microsoft Defender Security Center. No notification is presented to the user and no action is taken by the product. +- **Block**: PUA files are reported in the product logs and in Microsoft Defender Security Center. The user is presented with a notification and action is taken by the product. + +>[!WARNING] +>By default, PUA protection is configured in **Audit** mode. + +You can configure how PUA files are handled from the command line or from the management console. + +### Use the command-line tool to configure PUA protection: + +In Terminal, execute the following command to configure PUA protection: + +```bash +$ mdatp --threat --type-handling potentially_unwanted_application [off|audit|block] +``` + +### Use the management console to configure PUA protection: + +In your enterprise, you can configure PUA protection from a management console, such as JAMF or Intune, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-mac-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) topic. + +## Related topics + +- [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md new file mode 100644 index 0000000000..2f67653ec0 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md @@ -0,0 +1,118 @@ +--- +title: Microsoft Defender ATP for Mac Resources +ms.reviewer: +description: Describes resources for Microsoft Defender ATP for Mac, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Resources + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +## Collecting diagnostic information + +If you can reproduce a problem, please increase the logging level, run the system for some time, and restore the logging level to the default. + +1. Increase logging level: + + ```bash + $ mdatp --log-level verbose + Creating connection to daemon + Connection established + Operation succeeded + ``` + +2. Reproduce the problem + +3. Run `sudo mdatp --diagnostic --create` to backup Microsoft Defender ATP's logs. The files will be stored inside of a .zip archive. This command will also print out the file path to the backup after the operation succeeds. + + ```bash + $ sudo mdatp --diagnostic --create + Creating connection to daemon + Connection established + ``` + +4. Restore logging level: + + ```bash + $ mdatp --log-level info + Creating connection to daemon + Connection established + Operation succeeded + ``` + +## Logging installation issues + +If an error occurs during installation, the installer will only report a general failure. + +The detailed log will be saved to /Library/Logs/Microsoft/mdatp/install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. + +## Uninstalling + +There are several ways to uninstall Microsoft Defender ATP for Mac. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. + +### Interactive uninstallation + +- Open **Finder > Applications**. Right click on **Microsoft Defender ATP > Move to Trash**. + +### From the command line + +- ```sudo rm -rf '/Applications/Microsoft Defender ATP'``` + +## Configuring from the command line + +Important tasks, such as controlling product settings and triggering on-demand scans, can be done from the command line: + +|Group |Scenario |Command | +|-------------|-------------------------------------------|-----------------------------------------------------------------------| +|Configuration|Turn on/off real-time protection |`mdatp --config realTimeProtectionEnabled [true/false]` | +|Configuration|Turn on/off cloud protection |`mdatp --config cloudEnabled [true/false]` | +|Configuration|Turn on/off product diagnostics |`mdatp --config cloudDiagnosticEnabled [true/false]` | +|Configuration|Turn on/off automatic sample submission |`mdatp --config cloudAutomaticSampleSubmission [true/false]` | +|Configuration|Turn on PUA protection |`mdatp --threat --type-handling potentially_unwanted_application block`| +|Configuration|Turn off PUA protection |`mdatp --threat --type-handling potentially_unwanted_application off` | +|Configuration|Turn on audit mode for PUA protection |`mdatp --threat --type-handling potentially_unwanted_application audit`| +|Diagnostics |Change the log level |`mdatp --log-level [error/warning/info/verbose]` | +|Diagnostics |Generate diagnostic logs |`mdatp --diagnostic --create` | +|Health |Check the product's health |`mdatp --health` | +|Protection |Scan a path |`mdatp --scan --path [path]` | +|Protection |Do a quick scan |`mdatp --scan --quick` | +|Protection |Do a full scan |`mdatp --scan --full` | +|Protection |Cancel an ongoing on-demand scan |`mdatp --scan --cancel` | +|Protection |Request a security intelligence update |`mdatp --definition-update` | + +## Microsoft Defender ATP portal information + +In the Microsoft Defender ATP portal, you'll see two categories of information: + +- Antivirus alerts, including: + - Severity + - Scan type + - Device information (hostname, machine identifier, tenant identifier, app version, and OS type) + - File information (name, path, size, and hash) + - Threat information (name, type, and state) +- Device information, including: + - Machine identifier + - Tenant identifier + - App version + - Hostname + - OS type + - OS version + - Computer model + - Processor architecture + - Whether the device is a virtual machine diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md new file mode 100644 index 0000000000..50267f26bb --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md @@ -0,0 +1,219 @@ +--- +title: Deploy updates for Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes how to control updates for Microsoft Defender ATP for Mac in enterprise environments. +keywords: microsoft, defender, atp, mac, updates, deploy +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Deploy updates for Microsoft Defender ATP for Mac + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) + +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. + +To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. By default, MAU automatically checks for updates daily, but you can change that to weekly, monthly, or manually. + +![MAU screenshot](images/MDATP_34_MAU.png) + +If you decide to deploy updates by using your software distribution tools, you should configure MAU to manually check for software updates. You can deploy preferences to configure how and when MAU checks for updates for the Macs in your organization. + +## Use msupdate + +MAU includes a command-line tool, called *msupdate*, that is designed for IT administrators so that they have more precise control over when updates are applied. Instructions for how to use this tool can be found in [Update Office for Mac by using msupdate](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate). + +In MAU, the application identifier for Microsoft Defender ATP for Mac is *WDAV00*. To download and install the latest updates for Microsoft Defender ATP for Mac, execute the following command from a Terminal window: + +``` +./msupdate --install --apps wdav00 +``` + +## Set preferences for Microsoft AutoUpdate + +This section describes the most common preferences that can be used to configure MAU. These settings can be deployed as a configuration profile through the management console that your enterprise is using. An example of a configuration profile is shown in the following sections. + +### Set the channel name + +The channel determines the type and frequency of updates that are offered through MAU. Devices in `InsiderFast` (corresponding to the Insider Fast channel) can try out new features before devices in `External` (corresponding to the Insider Slow channel) and `Production`. + +The `Production` channel contains the most stable version of the product. + +>[!TIP] +>In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to `InsiderFast` or `External`. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | ChannelName | +| **Data type** | String | +| **Possible values** | InsiderFast
    External
    Production | + +### Set update check frequency + +Change how often MAU searches for updates. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | UpdateCheckFrequency | +| **Data type** | Integer | +| **Default value** | 720 (minutes) | +| **Comment** | This value is set in minutes. | + +### Change how MAU interacts with updates + +Change how MAU searches for updates. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | HowToCheck | +| **Data type** | String | +| **Possible values** | Manual
    AutomaticCheck
    AutomaticDownload | +| **Comment** | Note that AutomaticDownload will do a download and install silently if possible. | + +### Change whether the "Check for Updates" button is enabled + +Change whether local users will be able to click the "Check for Updates" option in the Microsoft AutoUpdate user interface. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | EnableCheckForUpdatesButton | +| **Data type** | Boolean | +| **Possible values** | True (default)
    False | + +### Disable Insider checkbox + +Set to true to make the "Join the Office Insider Program..." checkbox unavailable / greyed out to users. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | DisableInsiderCheckbox | +| **Data type** | Boolean | +| **Possible values** | False (default)
    True | + +### Limit the telemetry that is sent from MAU + +Set to false to send minimal heartbeat data, no application usage, and no environment details. + +||| +|:---|:---| +| **Domain** | com.microsoft.autoupdate2 | +| **Key** | SendAllTelemetryEnabled | +| **Data type** | Boolean | +| **Possible values** | True (default)
    False | + +## Example configuration profile + +The following configuration profile is used to: +- Place the device in the Insider Fast channel +- Automatically download and install updates +- Enable the "Check for updates" button in the user interface +- Allow users on the device to enroll into the Insider channels + +### JAMF + +```XML + + + + + ChannelName + InsiderFast + HowToCheck + AutomaticDownload + EnableCheckForUpdatesButton + + DisableInsiderCheckbox + + SendAllTelemetryEnabled + + + +``` + +### Intune + +```XML + + + + + PayloadUUID + B762FF60-6ACB-4A72-9E72-459D00C936F3 + PayloadType + Configuration + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.autoupdate2 + PayloadDisplayName + Microsoft AutoUpdate settings + PayloadDescription + Microsoft AutoUpdate configuration settings + PayloadVersion + 1 + PayloadEnabled + + PayloadRemovalDisallowed + + PayloadScope + System + PayloadContent + + + PayloadUUID + 5A6F350A-CC2C-440B-A074-68E3F34EBAE9 + PayloadType + com.microsoft.autoupdate2 + PayloadOrganization + Microsoft + PayloadIdentifier + com.microsoft.autoupdate2 + PayloadDisplayName + Microsoft AutoUpdate configuration settings + PayloadDescription + + PayloadVersion + 1 + PayloadEnabled + + ChannelName + InsiderFast + HowToCheck + AutomaticDownload + EnableCheckForUpdatesButton + + DisableInsiderCheckbox + + SendAllTelemetryEnabled + + + + + +``` + +To configure MAU, you can deploy this configuration profile from the management tool that your enterprise is using: +- From JAMF, upload this configuration profile and set the Preference Domain to *com.microsoft.autoupdate2*. +- From Intune, upload this configuration profile and set the custom configuration profile name to *com.microsoft.autoupdate2*. + +## Resources + +- [msupdate reference](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md new file mode 100644 index 0000000000..f87f5332c7 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -0,0 +1,113 @@ +--- +title: Microsoft Defender ATP for Mac +ms.reviewer: +description: Describes how to install and use Microsoft Defender ATP for Mac. +keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Microsoft Defender Advanced Threat Protection for Mac + +This topic describes how to install, configure, update, and use Microsoft Defender ATP for Mac. + +> [!CAUTION] +> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Mac is likely to lead to performance problems and unpredictable side effects. + +## What’s new in the latest release + +[What's new](microsoft-defender-atp-mac-whatsnew.md) + +If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. + +## How to install Microsoft Defender ATP for Mac + +### Prerequisites + +- Access to the Microsoft Defender Security Center portal +- Beginner-level experience in macOS and BASH scripting +- Administrative privileges on the device (in case of manual deployment) + +### System requirements + +> [!CAUTION] +> The three most recent major releases of macOS are supported. Beta versions of macOS are not supported. + +- Supported macOS versions: 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra) +- Disk space: 650 MB + +After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. + +The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. + +| Service location | DNS record | +| ---------------------------------------- | ----------------------- | +| Common URLs for all locations | x.cp.wd.microsoft.com
    cdn.x.cp.wd.microsoft.com
    eu-cdn.x.cp.wd.microsoft.com
    wu-cdn.x.cp.wd.microsoft.com
    *.blob.core.windows.net
    officecdn-microsoft-com.akamaized.net | +| European Union | europe.x.cp.wd.microsoft.com | +| United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | +| United States | unitedstates.x.cp.wd.microsoft.com | + +Microsoft Defender ATP can discover a proxy server by using the following discovery methods: +- Web Proxy Auto-discovery Protocol (WPAD) +- Manual static proxy configuration + +If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. + +To test that a connection is not blocked, open [https://x.cp.wd.microsoft.com/api/report](https://x.cp.wd.microsoft.com/api/report) and [https://cdn.x.cp.wd.microsoft.com/ping](https://cdn.x.cp.wd.microsoft.com/ping) in a browser. + +If you prefer the command line, you can also check the connection by running the following command in Terminal: + +```bash +$ curl -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'https://cdn.x.cp.wd.microsoft.com/ping' +``` + +The output from this command should be similar to the following: + +> `OK https://x.cp.wd.microsoft.com/api/report` +> +> `OK https://cdn.x.cp.wd.microsoft.com/ping` + +> [!CAUTION] +> We recommend that you keep [System Integrity Protection](https://support.apple.com/en-us/HT204899) (SIP) enabled on client machines. SIP is a built-in macOS security feature that prevents low-level tampering with the OS, and is enabled by default. + +### Installation instructions + +There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Mac. + +In general you need to take the following steps: + +- Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal +- Deploy Microsoft Defender ATP for Mac using one of the following deployment methods: + - Via third-party management tools: + - [Microsoft Intune-based deployment](microsoft-defender-atp-mac-install-with-intune.md) + - [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) + - [Other MDM products](microsoft-defender-atp-mac-install-with-other-mdm.md) + - Via the command-line tool: + - [Manual deployment](microsoft-defender-atp-mac-install-manually.md) + +## How to update Microsoft Defender ATP for Mac + +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. + +To read more on how to configure MAU in enterprise environments, refer to [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) + +## How to configure Microsoft Defender ATP for Mac + +Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). + +## Resources + +- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-mac-resources.md) page. + +- [Privacy for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-privacy.md) From aeb4b750e7b0ea04502ddc301441de398bc32313 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 10:53:14 +0530 Subject: [PATCH 047/150] Updated overview section for Linux Updated overview section for Linux --- .../microsoft-defender-atp-linux.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index f87f5332c7..2a1e938b11 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -1,8 +1,8 @@ --- -title: Microsoft Defender ATP for Mac +title: Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to install and use Microsoft Defender ATP for Mac. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to install and use Microsoft Defender ATP for Linux. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,34 +18,33 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Microsoft Defender Advanced Threat Protection for Mac +# Microsoft Defender Advanced Threat Protection for Linux -This topic describes how to install, configure, update, and use Microsoft Defender ATP for Mac. +This topic describes how to install, configure, update, and use Microsoft Defender ATP for Linux. > [!CAUTION] -> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Mac is likely to lead to performance problems and unpredictable side effects. +> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. + +> [!NOTE] +>How would users give us feedback? +> **TODO:** Should we add atp --feedback "Feedback" that will send the feedback to us / OCV. I am keeping the original line for reference. +> +> If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. -## What’s new in the latest release - -[What's new](microsoft-defender-atp-mac-whatsnew.md) - -If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. - -## How to install Microsoft Defender ATP for Mac +## How to install Microsoft Defender ATP for Linux ### Prerequisites - Access to the Microsoft Defender Security Center portal -- Beginner-level experience in macOS and BASH scripting +- Beginner-level experience in Linux and BASH scripting - Administrative privileges on the device (in case of manual deployment) ### System requirements -> [!CAUTION] -> The three most recent major releases of macOS are supported. Beta versions of macOS are not supported. - -- Supported macOS versions: 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra) -- Disk space: 650 MB +- Supported Linux distributions and versions: RHEL 7, Oracle 7, CentOS 7, Ubuntu 16 and 18, Debian 9 +- Disk space: 650 MB. +> [!NOTE] +>**TODO**: Verify this After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. @@ -58,6 +57,9 @@ The following table lists the services and their associated URLs that your netwo | United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | | United States | unitedstates.x.cp.wd.microsoft.com | +>[!NOTE] +> **TODO:** Verify the proxy paragraph + Microsoft Defender ATP can discover a proxy server by using the following discovery methods: - Web Proxy Auto-discovery Protocol (WPAD) - Manual static proxy configuration @@ -78,36 +80,34 @@ The output from this command should be similar to the following: > > `OK https://cdn.x.cp.wd.microsoft.com/ping` -> [!CAUTION] -> We recommend that you keep [System Integrity Protection](https://support.apple.com/en-us/HT204899) (SIP) enabled on client machines. SIP is a built-in macOS security feature that prevents low-level tampering with the OS, and is enabled by default. - ### Installation instructions -There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Mac. +There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. In general you need to take the following steps: - Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal -- Deploy Microsoft Defender ATP for Mac using one of the following deployment methods: +- Deploy Microsoft Defender ATP for Linux using one of the following deployment methods: - Via third-party management tools: - - [Microsoft Intune-based deployment](microsoft-defender-atp-mac-install-with-intune.md) - - [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) - - [Other MDM products](microsoft-defender-atp-mac-install-with-other-mdm.md) + - [Deploy using Puppet configuration management tool](microsoft-defender-atp-linux-install-with-puppet.md) + - [Deploy using Ansbile configuration management tool](microsoft-defender-atp-linux-install-with-ansible.md) + - [Other configuration management tools](microsoft-defender-atp-linux-install-with-other-configtool.md) - Via the command-line tool: - - [Manual deployment](microsoft-defender-atp-mac-install-manually.md) + - [Manual deployment](microsoft-defender-atp-linux-install-manually.md) -## How to update Microsoft Defender ATP for Mac +## How to update Microsoft Defender ATP for Linux -Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. +>[!NOTE] +> **TODO:** Upgrade story is not very clear right now! -To read more on how to configure MAU in enterprise environments, refer to [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) -## How to configure Microsoft Defender ATP for Mac +## How to configure Microsoft Defender ATP for Linux -Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). +Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). ## Resources -- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-mac-resources.md) page. +- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-linux-resources.md) page. -- [Privacy for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-privacy.md) +- [Privacy for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-privacy.md) From 39d96ebb0e39376166f36e07bdaad102a6cc157d Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 13:41:01 +0530 Subject: [PATCH 048/150] Updated manual install steps for Linux Updated manual install steps for Linux --- ...oft-defender-atp-linux-install-manually.md | 141 +++++------------- 1 file changed, 41 insertions(+), 100 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index bed05f108c..490b35ec75 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -1,8 +1,8 @@ --- -title: Installing Microsoft Defender ATP for Mac manually +title: Installing Microsoft Defender ATP for Linux manually ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Mac manually, from the command line. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to install Microsoft Defender ATP for Linux manually, from the command line. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -22,36 +22,43 @@ ms.topic: conceptual **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Mac manually. A successful deployment requires the completion of all of the following steps: -- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +This topic describes how to deploy Microsoft Defender ATP for Linux manually. A successful deployment requires the completion of all of the following steps: + +- [Configure Microsoft's Linux Software Repository](#configure-microsoft's-linux-software-repository) +- [Download onboarding packages](#download-onboarding-package) - [Application installation](#application-installation) - [Client configuration](#client-configuration) ## Prerequisites and system requirements -Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. +Before you get started, see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -## Download installation and onboarding packages +## Configure Microsoft's Linux Software Repository -Download the installation and onboarding packages from Windows Defender Security Center: +Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. + +> [!NOTE] +> **TODO:** Use a forward link for above instead of URL + +## Download onboarding package + +Download the onboarding package from Windows Defender Security Center: 1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. 2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download installation package**. Save it as wdav.pkg to a local directory. -4. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) -5. From a command prompt, verify that you have the two files. - Extract the contents of the .zip files: +4. From a command prompt, verify that you have the file. + Extract the contents of the .zip file: ```bash $ ls -l - total 721152 - -rw-r--r-- 1 test staff 6185 Mar 15 10:45 WindowsDefenderATPOnboardingPackage.zip - -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + total 8 + -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip inflating: WindowsDefenderATPOnboarding.py @@ -61,89 +68,24 @@ Download the installation and onboarding packages from Windows Defender Security To complete this process, you must have admin privileges on the machine. -1. Navigate to the downloaded wdav.pkg in Finder and open it. +1. Install Microsoft Defender ATP for Linux - ![App install screenshot](images/MDATP_28_AppInstall.png) + - ### Enterprise Linux (RHEL and variants) -2. Select **Continue**, agree with the License terms, and enter the password when prompted. - - ![App install screenshot](images/MDATP_29_AppInstallLogin.png) - - > [!IMPORTANT] - > You will be prompted to allow a driver from Microsoft to be installed (either "System Exception Blocked" or "Installation is on hold" or both. The driver must be allowed to be installed. - - ![App install screenshot](images/MDATP_30_SystemExtension.png) - -3. Select **Open Security Preferences** or **Open System Preferences > Security & Privacy**. Select **Allow**: - - ![Security and privacy window screenshot](images/MDATP_31_SecurityPrivacySettings.png) - -The installation proceeds. - -> [!NOTE] -> If you don't select **Allow**, the installation will proceed after 5 minutes. Defender ATP will be loaded, but real-time protection will be disabled. - -> [!NOTE] -> macOS may request to reboot the machine upon the first installation of Microsoft Defender. Real-Time Protection will not be available until the machine is rebooted. - -### Fixing disabled Real-Time Protection - -If you did not enable Microsoft's driver during installation, then the application displays a banner prompting you to enable it: - - ![RTP disabled screenshot](images/MDATP_32_Main_App_Fix.png) - -You can also run ```mdatp --health```. It reports if Real-Time Protection is enabled but not available: - -```bash -$ mdatp --health -... -realTimeProtectionAvailable : false -realTimeProtectionEnabled : true -... -``` - -> [!NOTE] -> You have a 30 minute window to enable Real-Time Protection from the warning banner, immediately following installation. - -The warning banner contains a **Fix** button, which allows you to quickly enable Real-Time Protection, without having to open a command prompt. Select the **Fix** button. It prompts the **Security & Privacy** system window, where you have to **Allow** system software from developers "Microsoft Corporation". - -If you don't see a prompt, it means that 30 or more minutes have already passed, and Real-Time Protection has still not been enabled: - -![Security and privacy window after prompt expired screenshot](images/MDATP_33_SecurityPrivacySettings_NoPrompt.png) - -In this case, you need to perform the following steps to enable Real-Time Protection instead. - -1. In Terminal, attempt to install the driver. (The operation will fail) ```bash - $ sudo kextutil /Library/Extensions/wdavkext.kext - Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } - Kext rejected due to system policy: { URL = "file:///Library/StagedExtensions/Library/Extensions/wdavkext.kext/", ID = "com.microsoft.wdavkext" } - Diagnostics for /Library/Extensions/wdavkext.kext: + sudo yum install mdatp ``` -2. Open **System Preferences...** > **Security & Privacy** from the menu. (Close it first, if it's opened.) + - ### Ubuntu and Debian systems -3. **Allow** system software from developers "Microsoft Corporation" + ```bash + sudo apt-get install mdatp + ``` -4. In Terminal, install the driver again. This time the operation will succeed: - -```bash -$ sudo kextutil /Library/Extensions/wdavkext.kext -``` - -The banner should disappear from the Defender application, and ```mdatp --health``` should now report that Real-Time Protection is both enabled and available: - -```bash -$ mdatp --health -... -realTimeProtectionAvailable : true -realTimeProtectionEnabled : true -... -``` ## Client configuration -1. Copy wdav.pkg and WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Mac. +1. Copy WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Linux. The client machine is not associated with orgId. Note that the *orgId* attribute is blank. @@ -155,8 +97,10 @@ realTimeProtectionEnabled : true ```bash $ /usr/bin/python WindowsDefenderATPOnboarding.py - Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudos password) + Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudo password) ``` +> [!NOTE] +> **TODO:** update the path associated with Generating ... 3. Verify that the machine is now associated with your organization and reports a valid *orgId*: @@ -165,21 +109,18 @@ realTimeProtectionEnabled : true E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -After installation, you'll see the Microsoft Defender icon in the macOS status bar in the top-right corner. +After installation, you'll see the status by running the following command: - ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) +```bash +mdatp --health +``` -## How to Allow Full Disk Access - -> [!CAUTION] -> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. - -To grant consent, open System Preferences -> Security & Privacy -> Privacy -> Full Disk Access. Click the lock icon to make changes (bottom of the dialog box). Select Microsoft Defender ATP. +**TODO:** Add step to verify ## Logging installation issues -See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. +See [Uninstalling](microsoft-defender-atp-linux-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Linux from client devices. From b5eb6711756dc495bfe9f3eb01f4025967ba4c55 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 16:56:13 +0530 Subject: [PATCH 049/150] Update preferences section Update preferences section and minor corrections to manual installation document --- ...oft-defender-atp-linux-install-manually.md | 15 +- ...icrosoft-defender-atp-linux-preferences.md | 447 ++++-------------- 2 files changed, 88 insertions(+), 374 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index 490b35ec75..30fbaa6c7a 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -40,7 +40,8 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. > [!NOTE] -> **TODO:** Use a forward link for above instead of URL +> * **TODO:** Use a forward link for above instead of URL +> * I am assuming that ring 0 customers will download the onboarding package from ATP portal ## Download onboarding package @@ -97,10 +98,10 @@ To complete this process, you must have admin privileges on the machine. ```bash $ /usr/bin/python WindowsDefenderATPOnboarding.py - Generating /Library/Application Support/Microsoft/Defender/com.microsoft.wdav.atp.plist ... (You may be required to enter sudo password) + Generating /etc/opt/microsoft/mdatp/mdatp_onboard.json ... (You may be required to enter sudo password) ``` > [!NOTE] -> **TODO:** update the path associated with Generating ... +> **TODO:** verify the path associated with above command. 3. Verify that the machine is now associated with your organization and reports a valid *orgId*: @@ -109,13 +110,15 @@ To complete this process, you must have admin privileges on the machine. E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -After installation, you'll see the status by running the following command: +After installation, you can see the status by running the following command: ```bash -mdatp --health +$ mdatp --health healthy +1 ``` -**TODO:** Add step to verify +> [!NOTE] +> **TODO:** Should we add eicar detection step? ## Logging installation issues diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index 80ec6a0f67..9894750faa 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -1,8 +1,8 @@ --- -title: Set preferences for Microsoft Defender ATP for Mac +title: Set preferences for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to configure Microsoft Defender ATP for Mac in enterprises. -keywords: microsoft, defender, atp, mac, management, preferences, enterprise, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to configure Microsoft Defender ATP for Linux in enterprises. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,28 +18,31 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Set preferences for Microsoft Defender ATP for Mac +# Set preferences for Microsoft Defender ATP for Linux **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) >[!IMPORTANT] ->This topic contains instructions for how to set preferences for Microsoft Defender ATP for Mac in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-mac-resources.md#configuring-from-the-command-line) page. +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-linux-resources.md#configuring-from-the-command-line) page. -In enterprise environments, Microsoft Defender ATP for Mac can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. +In enterprise environments, Microsoft Defender ATP for Linux can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. This topic describes the structure of this profile (including a recommended profile that you can use to get started) and instructions for how to deploy the profile. ## Configuration profile structure -The configuration profile is a .plist file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. - ->[!CAUTION] ->The layout of the configuration profile depends on the management console that you are using. The following sections contain examples of configuration profiles for JAMF and Intune. +The configuration profile is a .json file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. +>[!NOTE] +> **TODO:** +> * Should Domain be removed from all the entries below? +> * Should we add path to wdavcfg? +> * Verify each of below? + ### Antivirus engine preferences The *antivirusEngine* section of the configuration profile is used to manage the preferences of the antivirus component of the product. @@ -240,33 +243,12 @@ Determines whether suspicious samples (that are likely to contain threats) are s | **Data type** | Boolean | | **Possible values** | true (default)
    false | -### User interface preferences - -The *userInterface* section of the configuration profile is used to manage the preferences of the user interface of the product. - -||| -|:---|:---| -| **Domain** | com.microsoft.wdav | -| **Key** | userInterface | -| **Data type** | Dictionary (nested preference) | -| **Comments** | See the following sections for a description of the dictionary contents. | - -#### Show / hide status menu icon - -Whether the status menu icon (shown in the top-right corner of the screen) is hidden or not. - -||| -|:---|:---| -| **Domain** | com.microsoft.wdav | -| **Key** | hideStatusMenuIcon | -| **Data type** | Boolean | -| **Possible values** | false (default)
    true | - ## Recommended configuration profile To get started, we recommend the following configuration profile for your enterprise to take advantage of all protection features that Microsoft Defender ATP provides. The following configuration profile will: + - Enable real-time protection (RTP) - Specify how the following threat types are handled: - **Potentially unwanted applications (PUA)** are blocked @@ -274,350 +256,79 @@ The following configuration profile will: - Enable cloud delivered protection - Enable automatic sample submission -### JAMF profile +### Sample profile -```XML - - - - - antivirusEngine - - enableRealTimeProtection - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - automaticSampleSubmission - - - - -``` - -### Intune profile - -```XML - - - - - PayloadUUID - C4E6A782-0C8D-44AB-A025-EB893987A295 - PayloadType - Configuration - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.wdav - PayloadDisplayName - Microsoft Defender ATP settings - PayloadDescription - Microsoft Defender ATP configuration settings - PayloadVersion - 1 - PayloadEnabled - - PayloadRemovalDisallowed - - PayloadScope - System - PayloadContent - - - PayloadUUID - 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 - PayloadType - com.microsoft.wdav - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.wdav - PayloadDisplayName - Microsoft Defender ATP configuration settings - PayloadDescription - - PayloadVersion - 1 - PayloadEnabled - - antivirusEngine - - enableRealTimeProtection - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - automaticSampleSubmission - - - - - - +```JSON +{ + "antivirusEngine":{ + "enableRealTimeProtection":true, + "threatTypeSettings":[ + { + "key":"potentially_unwanted_application", + "value":"block" + }, + { + "key":"archive_bomb", + "value":"audit" + } + ] + }, + "cloudService":{ + "automaticSampleSubmission":true, + "enabled":true, + }, +} ``` ## Full configuration profile example The following configuration profile contains entries for all settings described in this document and can be used for more advanced scenarios where you want more control over the product. -### JAMF profile +### Full profile -```XML - - - - - antivirusEngine - - enableRealTimeProtection - - passiveMode - - exclusions - - - $type - excludedPath - isDirectory - - path - /var/log/system.log - - - $type - excludedPath - isDirectory - - path - /home - - - $type - excludedFileExtension - extension - pdf - - - allowedThreats - - EICAR-Test-File (not a virus) - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - diagnosticLevel - optional - automaticSampleSubmission - - - userInterface - - hideStatusMenuIcon - - - - -``` - -### Intune profile - -```XML - - - - - PayloadUUID - C4E6A782-0C8D-44AB-A025-EB893987A295 - PayloadType - Configuration - PayloadOrganization - Microsoft - PayloadIdentifier - C4E6A782-0C8D-44AB-A025-EB893987A295 - PayloadDisplayName - Microsoft Defender ATP settings - PayloadDescription - Microsoft Defender ATP configuration settings - PayloadVersion - 1 - PayloadEnabled - - PayloadRemovalDisallowed - - PayloadScope - System - PayloadContent - - - PayloadUUID - 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 - PayloadType - com.microsoft.wdav - PayloadOrganization - Microsoft - PayloadIdentifier - 99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295 - PayloadDisplayName - Microsoft Defender ATP configuration settings - PayloadDescription - - PayloadVersion - 1 - PayloadEnabled - - antivirusEngine - - enableRealTimeProtection - - passiveMode - - exclusions - - - $type - excludedPath - isDirectory - - path - /var/log/system.log - - - $type - excludedPath - isDirectory - - path - /home - - - $type - excludedFileExtension - extension - pdf - - - allowedThreats - - EICAR-Test-File (not a virus) - - threatTypeSettings - - - key - potentially_unwanted_application - value - block - - - key - archive_bomb - value - audit - - - - cloudService - - enabled - - diagnosticLevel - optional - automaticSampleSubmission - - - userInterface - - hideStatusMenuIcon - - - - - - +```JSON +{ + "antivirusEngine":{ + "enableRealTimeProtection":true, + "passiveMode":false, + "exclusions":[ + { + "$type":"excludedPath", + "isDirectory":false, + "path":"/var/log/system.log" + }, + { + "$type":"excludedPath", + "isDirectory":true, + "path":"/home" + }, + { + "$type":"excludedFileExtension", + "extension":"pdf" + } + ], + "allowedThreats":[ + "EICAR-Test-File (not a virus)" + ], + "threatTypeSettings":[ + { + "key":"potentially_unwanted_application", + "value":"block" + }, + { + "key":"archive_bomb", + "value":"audit" + } + ] + }, + "cloudService":{ + "enabled":true, + "diagnosticLevel":"optional", + "automaticSampleSubmission":true, + }, +} ``` ## Configuration profile deployment -Once you've built the configuration profile for your enterprise, you can deploy it through the management console that your enterprise is using. The following sections provide instructions on how to deploy this profile using JAMF and Intune. - -### JAMF deployment - -From the JAMF console, open **Computers** > **Configuration Profiles**, navigate to the configuration profile you'd like to use, then select **Custom Settings**. Create an entry with *com.microsoft.wdav* as the preference domain and upload the .plist produced earlier. - ->[!CAUTION] ->You must enter the correct preference domain (*com.microsoft.wdav*), otherwise the preferences will not be recognized by the product. - -### Intune deployment - -1. Open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. - -2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select Configure. - -3. Save the .plist produced earlier as **com.microsoft.wdav.xml**. - -4. Enter **com.microsoft.wdav** as the **custom configuration profile name**. - -5. Open the configuration profile and upload **com.microsoft.wdav.xml**. This file was created in step 3. - -6. Select **OK**. - -7. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. - ->[!CAUTION] ->You must enter the correct custom configuration profile name, otherwise these preferences will not be recognized by the product. - -## Resources - -- [Configuration Profile Reference (Apple developer documentation)](https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf) +Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. From b1281b6095ade765bb4314598eaf00511a0f62d0 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 17:18:01 +0530 Subject: [PATCH 050/150] Updated the privacy document for Linux Updated the privacy document for Linux --- .../microsoft-defender-atp-linux-privacy.md | 52 +++++++++---------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md index 0c56970e6f..0e2884b388 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md @@ -1,8 +1,8 @@ --- -title: Privacy for Microsoft Defender ATP for Mac +title: Privacy for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Mac. -keywords: microsoft, defender, atp, mac, privacy, diagnostic +description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Linux. +keywords: microsoft, defender, atp, linux, privacy, diagnostic search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,19 +18,19 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Privacy for Microsoft Defender ATP for Mac +# Privacy for Microsoft Defender ATP for Linux **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Mac. +Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Linux. This topic describes the privacy controls available within the product, how to manage these controls with policy settings and more details on the data events that are collected. -## Overview of privacy controls in Microsoft Defender ATP for Mac +## Overview of privacy controls in Microsoft Defender ATP for Linux -This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Mac. +This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Linux. ### Diagnostic data @@ -62,7 +62,7 @@ When this feature is enabled and the sample that is collected is likely to conta If you're an IT administrator, you might want to configure these controls at the enterprise level. -The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md). +The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). As with any new policy settings, you should carefully test them out in a limited, controlled environment to ensure the settings that you configure have the desired effect before you implement the policy settings more widely in your organization. @@ -83,7 +83,7 @@ The following fields are considered common for all events: | org_id | Unique identifier associated with the enterprise that the device belongs to. Allows Microsoft to identify whether issues are impacting a select set of enterprises and how many enterprises are impacted. | | hostname | Local machine name (without DNS suffix). Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | | product_guid | Unique identifier of the product. Allows Microsoft to differentiate issues impacting different flavors of the product. | -| app_version | Version of the Microsoft Defender ATP for Mac application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| +| app_version | Version of the Microsoft Defender ATP for Linux application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| | sig_version | Version of security intelligence database. Allows Microsoft to identify which versions of the security intelligence are showing an issue so that it can correctly be prioritized. | | supported_compressions | List of compression algorithms supported by the application, for example `['gzip']`. Allows Microsoft to understand what types of compressions can be used when it communicates with the application. | | release_ring | Ring that the device is associated with (for example Insider Fast, Insider Slow, Production). Allows Microsoft to identify on which release ring an issue may be occurring so that it can correctly be prioritized. | @@ -97,6 +97,9 @@ Required diagnostic data helps to identify problems with Microsoft Defender ATP #### Software setup and inventory data events +> [!NOTE] +> **TODO:** Please review if all the following fields are valid for linux as well + **Microsoft Defender ATP installation / uninstallation** The following fields are collected: @@ -130,13 +133,16 @@ The following fields are collected: #### Product and service performance data events +> [!NOTE] +> **TODO:** Please review if all the following fields are valid for linux as well + **Kernel extension statistics** The following fields are collected: | Field | Description | | ---------------- | ----------- | -| version | Version of Microsoft Defender ATP for Mac. | +| version | Version of Microsoft Defender ATP for Linux. | | instance_id | Unique identifier generated on kernel extension startup. | | trace_level | Trace level of the kernel extension. | | ipc.connects | Number of connection requests received by the kernel extension. | @@ -149,11 +155,9 @@ The following fields are collected: Diagnostic logs are collected only with the consent of the user as part of the feedback submission feature. The following files are collected as part of the support logs: -- All files under */Library/Logs/Microsoft/mdatp/* -- Subset of files under */Library/Application Support/Microsoft/Defender/* that are created and used by Microsoft Defender ATP for Mac -- Subset of files under */Library/Managed Preferences* that are used by Microsoft Defender ATP for Mac -- /Library/Logs/Microsoft/autoupdate.log -- $HOME/Library/Preferences/com.microsoft.autoupdate2.plist +- All files under */var/log/microsoft/mdatp/* +- Subset of files under */var/opt/microsoft/mdatp/* that are created and used by Microsoft Defender ATP for Linux +- Subset of files under */etc/opt/microsoft/mdatp/* that are used by Microsoft Defender ATP for Linux ### Optional diagnostic data @@ -186,17 +190,6 @@ The following fields are collected: | edr.latency_mode | Latency mode used by the detection and response component. | | edr.proxy_address | Proxy address used by the detection and response component. | -**Microsoft Auto-Update configuration** - -The following fields are collected: - -| Field | Description | -| --------------------------- | ----------- | -| how_to_check | Determines how product updates are checked (for example automatic or manual). | -| channel_name | Update channel associated with the device. | -| manifest_server | Server used for downloading updates. | -| update_cache | Location of the cache used to store updates. | - ### Product and service usage #### Diagnostic log upload started report @@ -207,7 +200,7 @@ The following fields are collected: | ---------------- | ----------- | | sha256 | SHA256 identifier of the support log. | | size | Size of the support log. | -| original_path | Path to the support log (always under */Library/Application Support/Microsoft/Defender/wdavdiag/*). | +| original_path | Path to the support log (always under */var/opt/microsoft/mdatp/wdavdiag/*). | | format | Format of the support log. | #### Diagnostic log upload completed report @@ -228,6 +221,9 @@ Unexpected application exits and the state of the application when that happens. **Kernel extension statistics** +> [!NOTE] +> **TODO:** Is this valid for Linux as well? + The following fields are collected: | Field | Description | From 420575c653ddca8765a27ce2ba6466d7cb3842b6 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 21 Oct 2019 19:21:53 +0530 Subject: [PATCH 051/150] Draft of deployment via puppet Draft of deployment via puppet (incomplete). Corrected spelling for redhat --- ...oft-defender-atp-linux-install-manually.md | 2 +- ...-defender-atp-linux-install-with-puppet.md | 243 ++++-------------- ...icrosoft-defender-atp-linux-preferences.md | 2 +- .../microsoft-defender-atp-linux.md | 2 +- 4 files changed, 51 insertions(+), 198 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index 30fbaa6c7a..7116f0b7ef 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -2,7 +2,7 @@ title: Installing Microsoft Defender ATP for Linux manually ms.reviewer: description: Describes how to install Microsoft Defender ATP for Linux manually, from the command line. -keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 7a0f0c27d6..5cd69d9301 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -1,8 +1,8 @@ --- -title: Installing Microsoft Defender ATP for Mac with Microsoft Intune +title: Installing Microsoft Defender ATP for Linux with Puppet ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Mac, using Microsoft Intune. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes how to install Microsoft Defender ATP for Linux, using Puppet. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,236 +18,89 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Microsoft Intune-based deployment +# Puppet based deployment **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Mac through Intune. A successful deployment requires the completion of all of the following steps: +This topic describes how to deploy Microsoft Defender ATP for Linux through Puppet. A successful deployment requires the completion of all of the following steps: - [Download installation and onboarding packages](#download-installation-and-onboarding-packages) +- [Create Puppet policies](#create-jamf-policies) - [Client device setup](#client-device-setup) -- [Create System Configuration profiles](#create-system-configuration-profiles) -- [Publish application](#publish-application) +- [Deployment](#deployment) +- [Check onboarding status](#check-onboarding-status) ## Prerequisites and system requirements -Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. +Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -## Download installation and onboarding packages +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt*, *lsb-release* to help deploy the package. Your organization might use a different workflow. -Download the installation and onboarding packages from Microsoft Defender Security Center: +## Download onboarding package -1. In Microsoft Defender Security Center, go to **Settings** > **Device Management** > **Onboarding**. -2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS, or Android** and the deployment method to **Mobile Device Management / Microsoft Intune**. -3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. -4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. -5. Download **IntuneAppUtil** from [https://docs.microsoft.com/intune/lob-apps-macos](https://docs.microsoft.com/intune/lob-apps-macos). +Download the onboarding package from Windows Defender Security Center: - ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) +1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. +3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. -6. From a command prompt, verify that you have the three files. - Extract the contents of the .zip files: + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) +4. From a command prompt, verify that you have the file. + Extract the contents of the .zip file: + ```bash $ ls -l - total 721688 - -rw-r--r-- 1 test staff 269280 Mar 15 11:25 IntuneAppUtil - -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip - -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg + total 8 + -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip - warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators - inflating: intune/kext.xml - inflating: intune/WindowsDefenderATPOnboarding.xml - inflating: jamf/WindowsDefenderATPOnboarding.plist + inflating: WindowsDefenderATPOnboarding.py ``` -7. Make IntuneAppUtil an executable: +## Create Puppet manifests - ```bash - $ chmod +x IntuneAppUtil - ``` +You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. -8. Create the wdav.pkg.intunemac package from wdav.pkg: +## Deployment - ```bash - $ ./IntuneAppUtil -c wdav.pkg -o . -i "com.microsoft.wdav" -n "1.0.0" - Microsoft Intune Application Utility for Mac OS X - Version: 1.0.0.0 - Copyright 2018 Microsoft Corporation +Enrolled agent devices periodically poll the Puppet Server, and install new configuration profiles and policies as soon as they are detected. - Creating intunemac file for /Users/test/Downloads/wdav.pkg - Composing the intunemac file output - Output written to ./wdav.pkg.intunemac. +## Monitoring puppet deployment - IntuneAppUtil successfully processed "wdav.pkg", - to deploy refer to the product documentation. - ``` -## Client device setup +You can also check the onboarding status: -You need no special provisioning for a Mac device beyond a standard [Company Portal installation](https://docs.microsoft.com/intune-user-help/enroll-your-device-in-intune-macos-cp). +```bash +$ mdatp --health +... +licensed : true +orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" +... +``` -1. You are asked to confirm device management. +- **licensed**: This confirms that the device has an ATP license. -![Confirm device management screenshot](images/MDATP_3_ConfirmDeviceMgmt.png) +- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. -Select **Open System Preferences**, locate **Management Profile** on the list, and select **Approve...**. Your Management Profile would be displayed as **Verified**: +## Check onboarding status -![Management profile screenshot](images/MDATP_4_ManagementProfile.png) +You can check that devices have been correctly onboarded by creating a script. For example, the following script checks enrolled devices for onboarding status: -2. Select **Continue** and complete the enrollment. +```bash +$ mdatp --health healthy +``` -You may now enroll more devices. You can also enroll them later, after you have finished provisioning system configuration and application packages. +The above command prints "1" if the product is onboarded and functioning as expected. -3. In Intune, open **Manage** > **Devices** > **All devices**. Here you can see your device among those listed: - -![Add Devices screenshot](images/MDATP_5_allDevices.png) - -## Create System Configuration profiles - -1. In Intune, open **Manage** > **Device configuration**. Select **Manage** > **Profiles** > **Create Profile**. -2. Choose a name for the profile. Change **Platform=macOS** to **Profile type=Custom**. Select **Configure**. -3. Open the configuration profile and upload intune/kext.xml. This file was created in one of the preceding sections. -4. Select **OK**. - - ![System configuration profiles screenshot](images/MDATP_6_SystemConfigurationProfiles.png) - -5. Select **Manage** > **Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. -6. Repeat steps 1 through 5 for more profiles. -7. Create another profile, give it a name, and upload the intune/WindowsDefenderATPOnboarding.xml file. -8. Create tcc.xml file with content below. Create another profile, give it any name and upload this file to it. - - > [!CAUTION] - > macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. - > - > The following configuration profile grants Full Disk Access to Microsoft Defender ATP. If you previously configured Microsoft Defender ATP through Intune, we recommend you update the deployment with this configuration profile. - - ```xml - - - - - PayloadDescription - Allows Microsoft Defender to access all files on Catalina+ - PayloadDisplayName - TCC - Microsoft Defender - PayloadIdentifier - com.microsoft.wdav.tcc - PayloadOrganization - Microsoft Corp. - PayloadRemovalDisallowed - - PayloadScope - system - PayloadType - Configuration - PayloadUUID - C234DF2E-DFF6-11E9-B279-001C4299FB44 - PayloadVersion - 1 - PayloadContent - - - PayloadDescription - Allows Microsoft Defender to access all files on Catalina+ - PayloadDisplayName - TCC - Microsoft Defender - PayloadIdentifier - com.microsoft.wdav.tcc.C233A5E6-DFF6-11E9-BDAD-001C4299FB44 - PayloadOrganization - Microsoft Corp. - PayloadType - com.apple.TCC.configuration-profile-policy - PayloadUUID - C233A5E6-DFF6-11E9-BDAD-001C4299FB44 - PayloadVersion - 1 - Services - - SystemPolicyAllFiles - - - Allowed - - CodeRequirement - identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9 - Comment - Allow SystemPolicyAllFiles control for Microsoft Defender ATP - Identifier - com.microsoft.wdav - IdentifierType - bundleID - - - - - - - - ``` - -9. Select **Manage > Assignments**. In the **Include** tab, select **Assign to All Users & All devices**. - -Once the Intune changes are propagated to the enrolled devices, you can see them listed under **Monitor** > **Device status**: - -![System configuration profiles screenshot](images/MDATP_7_DeviceStatusBlade.png) - -## Publish application - -1. In Intune, open the **Manage > Client apps** blade. Select **Apps > Add**. -2. Select **App type=Other/Line-of-business app**. -3. Select **file=wdav.pkg.intunemac**. Select **OK** to upload. -4. Select **Configure** and add the required information. -5. Use **macOS Sierra 10.12** as the minimum OS and set *Ignore app version* to **Yes**. Other settings can be any arbitrary value. - - > [!CAUTION] - > Failure to set *Ignore app version* to **Yes** impacts the ability of the application to receive updates through Microsoft AutoUpdate. See [Deploy updates for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-updates.md) for additional information about how the product is updated. - - ![Device status blade screenshot](images/MDATP_8_IntuneAppInfo.png) - -6. Select **OK** and **Add**. - - ![Device status blade screenshot](images/MDATP_9_IntunePkgInfo.png) - -7. It may take a few moments to upload the package. After it's done, select the package from the list and go to **Assignments** and **Add group**. - - ![Client apps screenshot](images/MDATP_10_ClientApps.png) - -8. Change **Assignment type** to **Required**. -9. Select **Included Groups**. Select **Make this app required for all devices=Yes**. Click **Select group to include** and add a group that contains the users you want to target. Select **OK** and **Save**. - - ![Intune assignments info screenshot](images/MDATP_11_Assignments.png) - -10. After some time the application will be published to all enrolled devices. You can see it listed in **Monitor** > **Device**, under **Device install status**: - - ![Intune device status screenshot](images/MDATP_12_DeviceInstall.png) - -## Verify client device state - -1. After the configuration profiles are deployed to your devices, open **System Preferences** > **Profiles** on your Mac device. - - ![System Preferences screenshot](images/MDATP_13_SystemPreferences.png) - ![System Preferences Profiles screenshot](images/MDATP_14_SystemPreferencesProfiles.png) - -2. Verify that the following configuration profiles are present and installed. The **Management Profile** should be the Intune system profile. _Wdav-config_ and _wdav-kext_ are system configuration profiles that were added in Intune: - ![Profiles screenshot](images/MDATP_15_ManagementProfileConfig.png) - -3. You should also see the Microsoft Defender icon in the top-right corner: - - ![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) - -## Troubleshooting - -Issue: No license found - -Solution: Follow the steps above to create a device profile using WindowsDefenderATPOnboarding.xml +If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: +- 1 if the device is not yet onboarded +- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running ## Logging installation issues -For more information on how to find the automatically generated log that is created by the installer when an error occurs, see [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) . +See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -See [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Mac from client devices. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index 9894750faa..c203ebd24c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -2,7 +2,7 @@ title: Set preferences for Microsoft Defender ATP for Linux ms.reviewer: description: Describes how to configure Microsoft Defender ATP for Linux in enterprises. -keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index 2a1e938b11..83c84689a0 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -2,7 +2,7 @@ title: Microsoft Defender ATP for Linux ms.reviewer: description: Describes how to install and use Microsoft Defender ATP for Linux. -keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, edhat, ubuntu, debian, sles, suse, centos +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 From 525a8c89fc7858dc1b3760e0a24d6d1b43b3a443 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 17:20:54 +0530 Subject: [PATCH 052/150] Updated documentation for deployment via puppet --- .../ATP_Portal_Onboarding_win_intune.png | Bin 0 -> 95659 bytes ...-defender-atp-linux-install-with-puppet.md | 90 ++++++++++++++++-- 2 files changed, 80 insertions(+), 10 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png diff --git a/windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png b/windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c28532260e833cb94a120070caa32c471ecc90 GIT binary patch literal 95659 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.json ``` -## Create Puppet manifests +## Create Puppet manifest -You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. +You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your puppet server. + +Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. + +```bash +$ pwd +/etc/puppetlabs/code/environments/production/modules + +$ tree install_mdatp +install_mdatp +├── files +│   └── mdatp_onboard.json +└── manifests + └── init.pp +``` + +Contents of *install_mdatp/manifests/init.pp* + +```puppet +class install_mdatp { + + if ($osfamily == 'Debian') { + apt::source { 'microsoftpackages' : + location => 'https://packages.microsoft.com/ubuntu/18.04/prod', # change the version based on your OS + release => 'stable', + repos => 'main', + key => { + 'id' => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF', + 'server' => 'https://packages.microsoft.com/keys/microsoft.asc', + }, + } + } + else { + yumrepo { 'microsoftpackages' : + baseurl => 'https://packages.microsoft.com/rhel/7/prod', # change the version based on your OS + enabled => 1, + gpgcheck => 1, + gpgkey => 'https://packages.microsoft.com/keys/microsoft.asc' + } + } + + package { 'mdatp': + ensure => 'installed', + } + + file { ['/etc', '/etc/opt', '/etc/opt/microsoft', '/etc/opt/microsoft/mdatp']: + ensure => directory, + } + file { '/etc/opt/microsoft/mdatp/mdatp_onboard.json': + mode => "0644", + source => 'puppet:///modules/install_mdatp/mdatp_onboard.json', + } +} +``` ## Deployment +Include the above manifest in your site.pp file. + +```bash +$ cat /etc/puppetlabs/code/environments/production/manifests/site.pp +node "default" { + include install_mdatp +} +``` + Enrolled agent devices periodically poll the Puppet Server, and install new configuration profiles and policies as soon as they are detected. ## Monitoring puppet deployment - -You can also check the onboarding status: +On the agent machine, you can also check the onboarding status by running: ```bash $ mdatp --health @@ -95,6 +155,7 @@ $ mdatp --health healthy The above command prints "1" if the product is onboarded and functioning as expected. If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: + - 1 if the device is not yet onboarded - 3 if the connection to the daemon cannot be established—for example, if the daemon is not running @@ -104,3 +165,12 @@ See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logg ## Uninstallation +Create a module *remove_mdatp* similar to *install_mdatp* with following contents in *init.pp* file + +```bash +class remove_mdatp { + package { 'mdatp': + ensure => 'purged', + } +} +``` From 3eab5136d871238e4a1d074caa87b11f583cfb77 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 17:24:01 +0530 Subject: [PATCH 053/150] Removed ansible and other configtool files Not ready for ring0 --- ...defender-atp-linux-install-with-ansible.md | 259 ------------------ ...atp-linux-install-with-other-configtool.md | 79 ------ 2 files changed, 338 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md deleted file mode 100644 index 84088ccd42..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-ansible.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -title: Installing Microsoft Defender ATP for Mac with JAMF -ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Mac, using JAMF. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dansimp -author: dansimp -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# JAMF-based deployment - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) - -This topic describes how to deploy Microsoft Defender ATP for Mac through JAMF. A successful deployment requires the completion of all of the following steps: -- [Download installation and onboarding packages](#download-installation-and-onboarding-packages) -- [Create JAMF policies](#create-jamf-policies) -- [Client device setup](#client-device-setup) -- [Deployment](#deployment) -- [Check onboarding status](#check-onboarding-status) - -## Prerequisites and system requirements - -Before you get started, please see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. - -In addition, for JAMF deployment, you need to be familiar with JAMF administration tasks, have a JAMF tenant, and know how to deploy packages. This includes having a properly configured distribution point. JAMF has many ways to complete the same task. These instructions provide an example for most common processes. Your organization might use a different workflow. - -## Download installation and onboarding packages - -Download the installation and onboarding packages from Windows Defender Security Center: - -1. In Windows Defender Security Center, go to **Settings > device Management > Onboarding**. -2. In Section 1 of the page, set the operating system to **Linux, macOS, iOS or Android** and deployment method to **Mobile Device Management / Microsoft Intune**. -3. In Section 2 of the page, select **Download installation package**. Save it as _wdav.pkg_ to a local directory. -4. In Section 2 of the page, select **Download onboarding package**. Save it as _WindowsDefenderATPOnboardingPackage.zip_ to the same directory. - - ![Windows Defender Security Center screenshot](images/MDATP_2_DownloadPackages.png) - -5. From the command prompt, verify that you have the two files. Extract the contents of the .zip files like so: - - ```bash - $ ls -l - total 721160 - -rw-r--r-- 1 test staff 11821 Mar 15 09:23 WindowsDefenderATPOnboardingPackage.zip - -rw-r--r-- 1 test staff 354531845 Mar 13 08:57 wdav.pkg - $ unzip WindowsDefenderATPOnboardingPackage.zip - Archive: WindowsDefenderATPOnboardingPackage.zip - warning: WindowsDefenderATPOnboardingPackage.zip appears to use backslashes as path separators - inflating: intune/kext.xml - inflating: intune/WindowsDefenderATPOnboarding.xml - inflating: jamf/WindowsDefenderATPOnboarding.plist - ``` - -## Create JAMF policies - -You need to create a configuration profile and a policy to start deploying Microsoft Defender ATP for Mac to client devices. - -### Configuration Profile - -The configuration profile contains a custom settings payload that includes: - -- Microsoft Defender ATP for Mac onboarding information -- Approved Kernel Extensions payload, to enable running the Microsoft kernel driver - -To set the onboarding information, add a property list file with the name, _jamf/WindowsDefenderATPOnboarding.plist_, as a custom setting. You can do this by navigating to **Computers**>**Configuration Profiles**, selecting **New**, then choosing **Custom Settings**>**Configure**. From there, you can upload the property list. - - >[!IMPORTANT] - > You must set the Preference Domain as "com.microsoft.wdav.atp" - -![Configuration profile screenshot](images/MDATP_16_PreferenceDomain.png) - -### Approved Kernel Extension - -To approve the kernel extension: - -1. In **Computers > Configuration Profiles** select **Options > Approved Kernel Extensions**. -2. Use **UBF8T346G9** for Team Id. - -![Approved kernel extensions screenshot](images/MDATP_17_approvedKernelExtensions.png) - -### Privacy Preferences Policy Control - -> [!CAUTION] -> macOS 10.15 (Catalina) contains new security and privacy enhancements. Beginning with this version, by default, applications are not able to access certain locations on disk (such as Documents, Downloads, Desktop, etc.) without explicit consent. In the absence of this consent, Microsoft Defender ATP is not able to fully protect your device. -> -> If you previously configured Microsoft Defender ATP through JAMF, we recommend applying the following configuration. - -Add the following JAMF policy to grant Full Disk Access to Microsoft Defender ATP. - -1. Select **Options > Privacy Preferences Policy Control**. -2. Use any identifier and identifier type = Bundle. -3. Set Code Requirement to `identifier "com.microsoft.wdav" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = UBF8T346G9`. -4. Set app or service to SystemPolicyAllFiles and access to Allow. - -![Privacy Preferences Policy Control](images/MDATP_35_JAMF_PrivacyPreferences.png) - -#### Configuration Profile's Scope - -Configure the appropriate scope to specify the devices that will receive the configuration profile. - -Open **Computers** > **Configuration Profiles**, and select **Scope > Targets**. From there, select the devices you want to target. - -![Configuration profile scope screenshot](images/MDATP_18_ConfigurationProfilesScope.png) - -Save the **Configuration Profile**. - -Use the **Logs** tab to monitor deployment status for each enrolled device. - -### Package - -1. Create a package in **Settings > Computer Management > Packages**. - - ![Computer management packages screenshot](images/MDATP_19_MicrosoftDefenderWDAVPKG.png) - -2. Upload the package to the Distribution Point. -3. In the **filename** field, enter the name of the package. For example, _wdav.pkg_. - -### Policy - -Your policy should contain a single package for Microsoft Defender. - -![Microsoft Defender packages screenshot](images/MDATP_20_MicrosoftDefenderPackages.png) - -Configure the appropriate scope to specify the computers that will receive this policy. - -After you save the Configuration Profile, you can use the Logs tab to monitor the deployment status for each enrolled device. - -## Client device setup - -You'll need no special provisioning for a macOS computer, beyond the standard JAMF Enrollment. - -> [!NOTE] -> After a computer is enrolled, it will show up in the Computers inventory (All Computers). - -1. Open **Device Profiles**, from the **General** tab, and make sure that **User Approved MDM** is set to **Yes**. If it's currently set to No, the user needs to open **System Preferences > Profiles** and select **Approve** on the MDM Profile. - -![MDM approve button screenshot](images/MDATP_21_MDMProfile1.png) -![MDM screenshot](images/MDATP_22_MDMProfileApproved.png) - -After a moment, the device's User Approved MDM status will change to **Yes**. - -![MDM status screenshot](images/MDATP_23_MDMStatus.png) - -You may now enroll additional devices. You may also enroll them later, after you have finished provisioning system configuration and application packages. - -## Deployment - -Enrolled client devices periodically poll the JAMF Server, and install new configuration profiles and policies as soon as they are detected. - -### Status on the server - -You can monitor deployment status in the **Logs** tab: - -- **Pending** means that the deployment is scheduled but has not yet happened -- **Completed** means that the deployment succeeded and is no longer scheduled - -![Status on server screenshot](images/MDATP_24_StatusOnServer.png) - -### Status on client device - -After the Configuration Profile is deployed, you'll see the profile for the device in **System Preferences** > **Profiles >**. - -![Status on client screenshot](images/MDATP_25_StatusOnClient.png) - -Once the policy is applied, you'll see the Microsoft Defender ATP icon in the macOS status bar in the top-right corner. - -![Microsoft Defender icon in status bar screenshot](images/MDATP_Icon_Bar.png) - -You can monitor policy installation on a device by following the JAMF log file: - -```bash - $ tail -f /var/log/jamf.log - Thu Feb 21 11:11:41 mavel-mojave jamf[7960]: No patch policies were found. - Thu Feb 21 11:16:41 mavel-mojave jamf[8051]: Checking for policies triggered by "recurring check-in" for user "testuser"... - Thu Feb 21 11:16:43 mavel-mojave jamf[8051]: Executing Policy WDAV - Thu Feb 21 11:17:02 mavel-mojave jamf[8051]: Installing Microsoft Defender... - Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Successfully installed Microsoft Defender. - Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: Checking for patches... - Thu Feb 21 11:17:23 mavel-mojave jamf[8051]: No patch policies were found. -``` - -You can also check the onboarding status: - -```bash -$ mdatp --health -... -licensed : true -orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" -... -``` - -- **licensed**: This confirms that the device has an ATP license. - -- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. - -## Check onboarding status - -You can check that devices have been correctly onboarded by creating a script. For example, the following script checks enrolled devices for onboarding status: - -```bash -$ mdatp --health healthy -``` - -The above command prints "1" if the product is onboarded and functioning as expected. - -If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: -- 1 if the device is not yet onboarded -- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running - -## Logging installation issues - -See [Logging installation issues](microsoft-defender-atp-mac-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. - -## Uninstallation - -This method is based on the script described in [Uninstalling](microsoft-defender-atp-mac-resources.md#uninstalling). - -### Script - -Create a script in **Settings > Computer Management > Scripts**. - -This script removes Microsoft Defender ATP from the /Applications directory: - -```bash - #!/bin/bash - - echo "Is WDAV installed?" - ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null - - echo "Uninstalling WDAV..." - rm -rf '/Applications/Microsoft Defender ATP.app' - - echo "Is WDAV still installed?" - ls -ld '/Applications/Microsoft Defender ATP.app' 2>/dev/null - - echo "Done!" -``` - -![Microsoft Defender uninstall screenshot](images/MDATP_26_Uninstall.png) - -### Policy - -Your policy should contain a single script: - -![Microsoft Defender uninstall script screenshot](images/MDATP_27_UninstallScript.png) - -Configure the appropriate scope in the **Scope** tab to specify the machines that will receive this policy. diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md deleted file mode 100644 index 91a5f56395..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-other-configtool.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Installing Microsoft Defender ATP for Mac with different MDM product -description: Describes how to install Microsoft Defender ATP for Mac on other management solutions. -keywords: microsoft, defender, atp, mac, installation, deploy, macos, mojave, high sierra, sierra -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: mavel -author: maximvelichko -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Deployment with a different Mobile Device Management (MDM) system - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) - -## Prerequisites and system requirements - -Before you get started, see [the main Microsoft Defender ATP for Mac page](microsoft-defender-atp-mac.md) for a description of prerequisites and system requirements for the current software version. - -## Approach - -> [!CAUTION] -> Currently, Microsoft oficially supports only Intune and JAMF for the deployment and management of Microsoft Defender ATP for Mac. Microsoft makes no warranties, express or implied, with respect to the information provided below. - -If your organization uses a Mobile Device Management (MDM) solution that is not officially supported, this does not mean you are unable to deploy or run Microsoft Defender ATP for Mac. - -Microsoft Defender ATP for Mac does not depend on any vendor-specific features. It can be used with any MDM solution that supports the following features: - -- Deploy a macOS .pkg to managed machines. -- Deploy macOS system configuration profiles to managed machines. -- Run an arbitrary admin-configured tool/script on managed machines. - -Most modern MDM solutions include these features, however, they may call them differently. - -You can deploy Defender without the last requirement from the preceding list, however: - -- You will not be able to collect status in a centralized way -- If you decide to uninstall Defender, you will need to logon to the client machine locally as an administrator - -## Deployment - -Most MDM solutions use the same model for managing macOS machines, with similar terminology. Use [JAMF-based deployment](microsoft-defender-atp-mac-install-with-jamf.md) as a template. - -### Package - -Configure deployment of a [required application package](microsoft-defender-atp-mac-install-with-jamf.md#package), -with the installation package (wdav.pkg) downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). - -In order to deploy the package to your enterprise, use the instructions associated with your MDM solution. - -### License settings - -Set up [a system configuration profile](microsoft-defender-atp-mac-install-with-jamf.md#configuration-profile). -Your MDM solution may call it something like "Custom Settings Profile", as Microsoft Defender ATP for Mac is not part of macOS. - -Use the property list, jamf/WindowsDefenderATPOnboarding.plist, which can be extracted from an onboarding package downloaded from [Microsoft Defender Security Center](microsoft-defender-atp-mac-install-with-jamf.md#download-installation-and-onboarding-packages). -Your system may support an arbitrary property list in XML format. You can upload the jamf/WindowsDefenderATPOnboarding.plist file as-is in that case. -Alternatively, it may require you to convert the property list to a different format first. - -Typically, your custom profile has an id, name, or domain attribute. You must use exactly "com.microsoft.wdav.atp" for this value. -MDM uses it to deploy the settings file to **/Library/Managed Preferences/com.microsoft.wdav.atp.plist** on a client machine, and Defender uses this file for loading the onboarding information. - -### Kernel extension policy - -Set up a KEXT or kernel extension policy. Use team identifier **UBF8T346G9** to whitelist kernel extensions provided by Microsoft. - -## Check installation status - -Run [mdatp](microsoft-defender-atp-mac-install-with-jamf.md#check-onboarding-status) on a client machine to check the onboarding status. From 5ef0b32d156c39535f7c22b1134691600612cba7 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 18:19:00 +0530 Subject: [PATCH 054/150] Updated pua handling and updates Updated pua handling and updates --- ...-defender-atp-linux-install-with-puppet.md | 2 +- .../microsoft-defender-atp-linux-pua.md | 21 +- .../microsoft-defender-atp-linux-updates.md | 202 ++---------------- 3 files changed, 25 insertions(+), 200 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 9cd981bd65..63a75eb001 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -46,7 +46,7 @@ Download the onboarding package from Windows Defender Security Center: 2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. 3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. - ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) 4. From a command prompt, verify that you have the file. Extract the contents of the .zip file and create mdatp_onboard.json file as follows diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md index 2696590c99..2ff866b692 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md @@ -1,8 +1,8 @@ --- title: Detect and block potentially unwanted applications ms.reviewer: -description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Mac. -keywords: microsoft, defender, atp, mac, pua, pus +description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Linux. +keywords: microsoft, defender, atp, linux, pua, pus search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -22,9 +22,9 @@ ms.topic: conceptual **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Mac can detect and block PUA files on endpoints in your network. +The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Linux can detect and block PUA files on endpoints in your network. These applications are not considered viruses, malware, or other types of threats, but might perform actions on endpoints that adversely affect their performance or use. PUA can also refer to applications that are considered to have poor reputation. @@ -32,13 +32,16 @@ These applications can increase the risk of your network being infected with mal ## How it works -Microsoft Defender ATP for Mac can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. +Microsoft Defender ATP for Linux can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. -When a PUA is detected on an endpoint, Microsoft Defender ATP for Mac presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". +When a PUA is detected on an endpoint, Microsoft Defender ATP for Linux presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". + +> [!NOTE] +> **TODO:** Reword for Linux ## Configure PUA protection -PUA protection in Microsoft Defender ATP for Mac can be configured in one of the following ways: +PUA protection in Microsoft Defender ATP for Linux can be configured in one of the following ways: - **Off**: PUA protection is disabled. - **Audit**: PUA files are reported in the product logs, but not in Microsoft Defender Security Center. No notification is presented to the user and no action is taken by the product. @@ -59,8 +62,8 @@ $ mdatp --threat --type-handling potentially_unwanted_application [off|audit|blo ### Use the management console to configure PUA protection: -In your enterprise, you can configure PUA protection from a management console, such as JAMF or Intune, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-mac-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) topic. +In your enterprise, you can configure PUA protection from a management console, such as Puppet, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-linux-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) topic. ## Related topics -- [Set preferences for Microsoft Defender ATP for Mac](microsoft-defender-atp-mac-preferences.md) \ No newline at end of file +- [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md index 50267f26bb..a75a02fd2d 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md @@ -1,8 +1,8 @@ --- -title: Deploy updates for Microsoft Defender ATP for Mac +title: Deploy updates for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to control updates for Microsoft Defender ATP for Mac in enterprise environments. -keywords: microsoft, defender, atp, mac, updates, deploy +description: Describes how to control updates for Microsoft Defender ATP for Linux in enterprise environments. +keywords: microsoft, defender, atp, linux, updates, deploy search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -18,202 +18,24 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Deploy updates for Microsoft Defender ATP for Mac +# Deploy updates for Microsoft Defender ATP for Linux **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. -To update Microsoft Defender ATP for Mac, a program named Microsoft AutoUpdate (MAU) is used. By default, MAU automatically checks for updates daily, but you can change that to weekly, monthly, or manually. +To update Microsoft Defender ATP for Linux manually, execute command -![MAU screenshot](images/MDATP_34_MAU.png) +- ### For Debian family distros -If you decide to deploy updates by using your software distribution tools, you should configure MAU to manually check for software updates. You can deploy preferences to configure how and when MAU checks for updates for the Macs in your organization. - -## Use msupdate - -MAU includes a command-line tool, called *msupdate*, that is designed for IT administrators so that they have more precise control over when updates are applied. Instructions for how to use this tool can be found in [Update Office for Mac by using msupdate](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate). - -In MAU, the application identifier for Microsoft Defender ATP for Mac is *WDAV00*. To download and install the latest updates for Microsoft Defender ATP for Mac, execute the following command from a Terminal window: - -``` -./msupdate --install --apps wdav00 +```bash +sudo apt-get install --only-upgrade mdatp ``` -## Set preferences for Microsoft AutoUpdate +- ### For Redhat family distros -This section describes the most common preferences that can be used to configure MAU. These settings can be deployed as a configuration profile through the management console that your enterprise is using. An example of a configuration profile is shown in the following sections. - -### Set the channel name - -The channel determines the type and frequency of updates that are offered through MAU. Devices in `InsiderFast` (corresponding to the Insider Fast channel) can try out new features before devices in `External` (corresponding to the Insider Slow channel) and `Production`. - -The `Production` channel contains the most stable version of the product. - ->[!TIP] ->In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to `InsiderFast` or `External`. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | ChannelName | -| **Data type** | String | -| **Possible values** | InsiderFast
    External
    Production | - -### Set update check frequency - -Change how often MAU searches for updates. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | UpdateCheckFrequency | -| **Data type** | Integer | -| **Default value** | 720 (minutes) | -| **Comment** | This value is set in minutes. | - -### Change how MAU interacts with updates - -Change how MAU searches for updates. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | HowToCheck | -| **Data type** | String | -| **Possible values** | Manual
    AutomaticCheck
    AutomaticDownload | -| **Comment** | Note that AutomaticDownload will do a download and install silently if possible. | - -### Change whether the "Check for Updates" button is enabled - -Change whether local users will be able to click the "Check for Updates" option in the Microsoft AutoUpdate user interface. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | EnableCheckForUpdatesButton | -| **Data type** | Boolean | -| **Possible values** | True (default)
    False | - -### Disable Insider checkbox - -Set to true to make the "Join the Office Insider Program..." checkbox unavailable / greyed out to users. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | DisableInsiderCheckbox | -| **Data type** | Boolean | -| **Possible values** | False (default)
    True | - -### Limit the telemetry that is sent from MAU - -Set to false to send minimal heartbeat data, no application usage, and no environment details. - -||| -|:---|:---| -| **Domain** | com.microsoft.autoupdate2 | -| **Key** | SendAllTelemetryEnabled | -| **Data type** | Boolean | -| **Possible values** | True (default)
    False | - -## Example configuration profile - -The following configuration profile is used to: -- Place the device in the Insider Fast channel -- Automatically download and install updates -- Enable the "Check for updates" button in the user interface -- Allow users on the device to enroll into the Insider channels - -### JAMF - -```XML - - - - - ChannelName - InsiderFast - HowToCheck - AutomaticDownload - EnableCheckForUpdatesButton - - DisableInsiderCheckbox - - SendAllTelemetryEnabled - - - +```bash +sudo yum update mdatp ``` - -### Intune - -```XML - - - - - PayloadUUID - B762FF60-6ACB-4A72-9E72-459D00C936F3 - PayloadType - Configuration - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.autoupdate2 - PayloadDisplayName - Microsoft AutoUpdate settings - PayloadDescription - Microsoft AutoUpdate configuration settings - PayloadVersion - 1 - PayloadEnabled - - PayloadRemovalDisallowed - - PayloadScope - System - PayloadContent - - - PayloadUUID - 5A6F350A-CC2C-440B-A074-68E3F34EBAE9 - PayloadType - com.microsoft.autoupdate2 - PayloadOrganization - Microsoft - PayloadIdentifier - com.microsoft.autoupdate2 - PayloadDisplayName - Microsoft AutoUpdate configuration settings - PayloadDescription - - PayloadVersion - 1 - PayloadEnabled - - ChannelName - InsiderFast - HowToCheck - AutomaticDownload - EnableCheckForUpdatesButton - - DisableInsiderCheckbox - - SendAllTelemetryEnabled - - - - - -``` - -To configure MAU, you can deploy this configuration profile from the management tool that your enterprise is using: -- From JAMF, upload this configuration profile and set the Preference Domain to *com.microsoft.autoupdate2*. -- From Intune, upload this configuration profile and set the custom configuration profile name to *com.microsoft.autoupdate2*. - -## Resources - -- [msupdate reference](https://docs.microsoft.com/deployoffice/mac/update-office-for-mac-using-msupdate) \ No newline at end of file From a56d487cdfd4e3d0a7e92136ac1d8ba15f6fec1f Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 18:36:52 +0530 Subject: [PATCH 055/150] Update linux resources and preferences document Update linux resources and preferences document --- .../microsoft-defender-atp-linux-preferences.md | 2 +- .../microsoft-defender-atp-linux-resources.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index c203ebd24c..9a8245fa7f 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -331,4 +331,4 @@ The following configuration profile contains entries for all settings described ## Configuration profile deployment -Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. +Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. Microsoft M reads the managed configuration from the file */etc/opt/microsoft/mdatp/managed/mdatp_managed.json* diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md index 2f67653ec0..dffd8f9839 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md @@ -1,8 +1,8 @@ --- -title: Microsoft Defender ATP for Mac Resources +title: Microsoft Defender ATP for Linux Resources ms.reviewer: -description: Describes resources for Microsoft Defender ATP for Mac, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. -keywords: microsoft, defender, atp, mac, installation, deploy, uninstallation, intune, jamf, macos, mojave, high sierra, sierra +description: Describes resources for Microsoft Defender ATP for Linux, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 ms.prod: w10 @@ -22,7 +22,7 @@ ms.topic: conceptual **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Mac](microsoft-defender-atp-mac.md) +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) ## Collecting diagnostic information @@ -64,7 +64,7 @@ The detailed log will be saved to /Library/Logs/Microsoft/mdatp/install.log. If ## Uninstalling -There are several ways to uninstall Microsoft Defender ATP for Mac. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. +There are several ways to uninstall Microsoft Defender ATP for Linux. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. ### Interactive uninstallation From fd1ef148b145f0ceda134e88c769838ebf2a92ac Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 22 Oct 2019 18:42:53 +0530 Subject: [PATCH 056/150] Minor fixes Minor fixes --- .../microsoft-defender-atp-linux-install-with-puppet.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 63a75eb001..2977bcf490 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -28,7 +28,6 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp - [Download installation and onboarding packages](#download-onboarding-package) - [Create Puppet manifest](#create-puppet-manifest) -- [Client device setup](#client-device-setup) - [Deployment](#deployment) - [Check onboarding status](#check-onboarding-status) From 67fb15b1efcec65252a61acd6e4b4db59dac307c Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Thu, 24 Oct 2019 12:36:47 +0530 Subject: [PATCH 057/150] Incorporated review comments. --- ...oft-defender-atp-linux-install-manually.md | 53 +++++++++---------- ...-defender-atp-linux-install-with-puppet.md | 14 ++--- ...icrosoft-defender-atp-linux-preferences.md | 25 +-------- .../microsoft-defender-atp-linux-resources.md | 13 ++--- .../microsoft-defender-atp-linux.md | 17 +----- 5 files changed, 42 insertions(+), 80 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md index 7116f0b7ef..7e214e9a60 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md @@ -39,30 +39,24 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. -> [!NOTE] -> * **TODO:** Use a forward link for above instead of URL -> * I am assuming that ring 0 customers will download the onboarding package from ATP portal - ## Download onboarding package -Download the onboarding package from Windows Defender Security Center: +Download the onboarding package from Microsoft Defender Security Center: -1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. - ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_page.png) + ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) 4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file: + Extract the contents of the .zip file and create mdatp_onboard.json file as follows: ```bash $ ls -l total 8 -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip - $ unzip WindowsDefenderATPOnboardingPackage.zip - Archive: WindowsDefenderATPOnboardingPackage.zip - inflating: WindowsDefenderATPOnboarding.py + $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json ``` ## Application installation @@ -74,13 +68,13 @@ To complete this process, you must have admin privileges on the machine. - ### Enterprise Linux (RHEL and variants) ```bash - sudo yum install mdatp + sudo yum -y install mdatp ``` - ### Ubuntu and Debian systems ```bash - sudo apt-get install mdatp + sudo apt-get -y install mdatp ``` @@ -94,14 +88,11 @@ To complete this process, you must have admin privileges on the machine. $ mdatp --health orgId ``` -2. Run the Python script to install the configuration file: +2. Copy the mdatp_onboard.json created in earlier step to /etc/opt/microsoft/mdatp_onboard.json ```bash - $ /usr/bin/python WindowsDefenderATPOnboarding.py - Generating /etc/opt/microsoft/mdatp/mdatp_onboard.json ... (You may be required to enter sudo password) + $ sudo cp mdatp.json /etc/opt/microsoft/mdatp/mdatp_onboard.json ``` -> [!NOTE] -> **TODO:** verify the path associated with above command. 3. Verify that the machine is now associated with your organization and reports a valid *orgId*: @@ -110,15 +101,23 @@ To complete this process, you must have admin privileges on the machine. E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -After installation, you can see the status by running the following command: +4. After installation, you can see the status by running the following command: -```bash -$ mdatp --health healthy -1 -``` + ```bash + $ mdatp --health healthy + 1 + ``` -> [!NOTE] -> **TODO:** Should we add eicar detection step? +5. Run a detection test +To verify that the machine is properly onboarded and reporting to the service, take the following steps on the newly onboarded machine: + + - Ensure Real-time protection setting is ON ```mdatp --health realTimeProtectionEnabled``` + - Open a Terminal window +Copy and run the command below: + + ``` bash + curl -o ~/Downloads/eicar.com.txt http://www.eicar.org/download/eicar.com.txt + ``` ## Logging installation issues diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md index 2977bcf490..3731d54b7c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md @@ -35,20 +35,20 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt*, *lsb-release* to help deploy the package. Your organization might use a different workflow. +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to [Puppet documentation](https://puppet.com/docs) for details. ## Download onboarding package -Download the onboarding package from Windows Defender Security Center: +Download the onboarding package from Microsoft Defender Security Center: -1. In Windows Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In Section 1 of the page, set operating system to **Linux, macOS, iOS, and Android** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) 4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file and create mdatp_onboard.json file as follows + Extract the contents of the .zip file and create mdatp_onboard.json file as follows: ```bash $ ls -l @@ -61,7 +61,7 @@ Download the onboarding package from Windows Defender Security Center: You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your puppet server. -Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. +Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp_onboard.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. ```bash $ pwd diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md index 9a8245fa7f..eb249f3fe3 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md @@ -35,13 +35,9 @@ This topic describes the structure of this profile (including a recommended prof The configuration profile is a .json file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. -The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. +Typically, you would use a configuration management tool to push a file with name ```mdatp_maanged.json``` at location ```/etc/opt/microsoft/mdatp/managed/``` ->[!NOTE] -> **TODO:** -> * Should Domain be removed from all the entries below? -> * Should we add path to wdavcfg? -> * Verify each of below? +The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. ### Antivirus engine preferences @@ -49,7 +45,6 @@ The *antivirusEngine* section of the configuration profile is used to manage the ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | antivirusEngine | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -60,7 +55,6 @@ Whether real-time protection (scan files as they are accessed) is enabled or not ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | enableRealTimeProtection | | **Data type** | Boolean | | **Possible values** | true (default)
    false | @@ -76,7 +70,6 @@ Whether the antivirus engine runs in passive mode or not. In passive mode: ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | passiveMode | | **Data type** | Boolean | | **Possible values** | false (default)
    true | @@ -88,7 +81,6 @@ Entities that have been excluded from the scan. Exclusions can be specified by f ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | exclusions | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -99,7 +91,6 @@ Specifies the type of content excluded from the scan. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | $type | | **Data type** | String | | **Possible values** | excludedPath
    excludedFileExtension
    excludedFileName | @@ -110,7 +101,6 @@ Used to exclude content from the scan by full file path. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | path | | **Data type** | String | | **Possible values** | valid paths | @@ -122,7 +112,6 @@ Indicates if the *path* property refers to a file or directory. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | isDirectory | | **Data type** | Boolean | | **Possible values** | false (default)
    true | @@ -134,7 +123,6 @@ Used to exclude content from the scan by file extension. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | extension | | **Data type** | String | | **Possible values** | valid file extensions | @@ -146,7 +134,6 @@ Used to exclude content from the scan by file name. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | name | | **Data type** | String | | **Possible values** | any string | @@ -158,7 +145,6 @@ List of threats (identified by their name) that are not blocked by the product a ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | allowedThreats | | **Data type** | Array of strings | @@ -168,7 +154,6 @@ The *threatTypeSettings* preference in the antivirus engine is used to control h ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | threatTypeSettings | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -179,7 +164,6 @@ Type of the threat for which the behavior is configured. ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | key | | **Data type** | String | | **Possible values** | potentially_unwanted_application
    archive_bomb | @@ -194,7 +178,6 @@ Action to take when coming across a threat of the type specified in the precedin ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | value | | **Data type** | String | | **Possible values** | audit (default)
    block
    off | @@ -205,7 +188,6 @@ The *cloudService* entry in the configuration profile is used to configure the c ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | cloudService | | **Data type** | Dictionary (nested preference) | | **Comments** | See the following sections for a description of the dictionary contents. | @@ -216,7 +198,6 @@ Whether cloud delivered protection is enabled on the device or not. To improve t ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | enabled | | **Data type** | Boolean | | **Possible values** | true (default)
    false | @@ -227,7 +208,6 @@ Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, de ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | diagnosticLevel | | **Data type** | String | | **Possible values** | optional (default)
    required | @@ -238,7 +218,6 @@ Determines whether suspicious samples (that are likely to contain threats) are s ||| |:---|:---| -| **Domain** | com.microsoft.wdav | | **Key** | automaticSampleSubmission | | **Data type** | Boolean | | **Possible values** | true (default)
    false | diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md index dffd8f9839..295efbedca 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md @@ -60,19 +60,16 @@ If you can reproduce a problem, please increase the logging level, run the syste If an error occurs during installation, the installer will only report a general failure. -The detailed log will be saved to /Library/Logs/Microsoft/mdatp/install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. +The detailed log will be saved to /var/log/microsoft/mdatp_install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. ## Uninstalling -There are several ways to uninstall Microsoft Defender ATP for Linux. Please note that while centrally managed uninstall is available on JAMF, it is not yet available for Microsoft Intune. +There are several ways to uninstall Microsoft Defender ATP for Linux. If you are using a configuration tool such as Puppet, please follow the package uninstallation instructions for the configuration tool. -### Interactive uninstallation +### Manual uninstallation -- Open **Finder > Applications**. Right click on **Microsoft Defender ATP > Move to Trash**. - -### From the command line - -- ```sudo rm -rf '/Applications/Microsoft Defender ATP'``` +- ```sudo apt-get purge mdatp``` for Debian and Ubuntu systems +- ```sudo yum remove mdatp``` for RHEL, Oracle Linux, CentOS based systems ## Configuring from the command line diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index 83c84689a0..fa8fb3cbe0 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -25,12 +25,6 @@ This topic describes how to install, configure, update, and use Microsoft Defend > [!CAUTION] > Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. -> [!NOTE] ->How would users give us feedback? -> **TODO:** Should we add atp --feedback "Feedback" that will send the feedback to us / OCV. I am keeping the original line for reference. -> -> If you have any feedback that you would like to share, submit it by opening Microsoft Defender ATP for Mac on your device and navigating to **Help** > **Send feedback**. - ## How to install Microsoft Defender ATP for Linux ### Prerequisites @@ -41,14 +35,10 @@ This topic describes how to install, configure, update, and use Microsoft Defend ### System requirements -- Supported Linux distributions and versions: RHEL 7, Oracle 7, CentOS 7, Ubuntu 16 and 18, Debian 9 +- Supported Linux server distributions and versions: RHEL 7, Oracle Linux 7, CentOS 7, Ubuntu 16 and 18, Debian 9 - Disk space: 650 MB. -> [!NOTE] ->**TODO**: Verify this -After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. - -The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. +If your Linux server is behind firewall or proxy, you will likely need to allow outbound connections between it and following servers. The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. | Service location | DNS record | | ---------------------------------------- | ----------------------- | @@ -57,9 +47,6 @@ The following table lists the services and their associated URLs that your netwo | United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | | United States | unitedstates.x.cp.wd.microsoft.com | ->[!NOTE] -> **TODO:** Verify the proxy paragraph - Microsoft Defender ATP can discover a proxy server by using the following discovery methods: - Web Proxy Auto-discovery Protocol (WPAD) - Manual static proxy configuration From 74c3a863092decb754bfd946f5a0872e6bb63be1 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Thu, 24 Oct 2019 12:38:07 +0530 Subject: [PATCH 058/150] Deleting private and pua handling for now. --- .../microsoft-defender-atp-linux-privacy.md | 273 ------------------ .../microsoft-defender-atp-linux-pua.md | 69 ----- 2 files changed, 342 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md delete mode 100644 windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md deleted file mode 100644 index 0e2884b388..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-privacy.md +++ /dev/null @@ -1,273 +0,0 @@ ---- -title: Privacy for Microsoft Defender ATP for Linux -ms.reviewer: -description: Describes privacy controls, how to configure policy settings that impact privacy and information about the diagnostic data collected in Microsoft Defender ATP for Linux. -keywords: microsoft, defender, atp, linux, privacy, diagnostic -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dansimp -author: dansimp -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Privacy for Microsoft Defender ATP for Linux - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) - -Microsoft is committed to providing you with the information and controls you need to make choices about how your data is collected and used when you’re using Microsoft Defender ATP for Linux. - -This topic describes the privacy controls available within the product, how to manage these controls with policy settings and more details on the data events that are collected. - -## Overview of privacy controls in Microsoft Defender ATP for Linux - -This section describes the privacy controls for the different types of data collected by Microsoft Defender ATP for Linux. - -### Diagnostic data - -Diagnostic data is used to keep Microsoft Defender ATP secure and up-to-date, detect, diagnose and fix problems, and also make product improvements. - -Some diagnostic data is required, while some diagnostic data is optional. We give you the ability to choose whether to send us required or optional diagnostic data through the use of privacy controls, such as policy settings for organizations. - -There are two levels of diagnostic data for Microsoft Defender ATP client software that you can choose from: - -* **Required**: The minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and performing as expected on the device it’s installed on. - -* **Optional**: Additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and remediate issues. - -By default, both optional and required diagnostic data are sent to Microsoft. - -### Cloud delivered protection data - -Cloud delivered protection is used to provide increased and faster protection with access to the latest protection data in the cloud. - -Enabling the cloud-delivered protection service is optional, however it is highly recommended because it provides important protection against malware on your endpoints and across your network. - -### Sample data - -Sample data is used to improve the protection capabilities of the product, by sending Microsoft suspicious samples so they can be analyzed. Enabling automatic sample submission is optional. - -When this feature is enabled and the sample that is collected is likely to contain personal information, the user is prompted for consent. - -## Manage privacy controls with policy settings - -If you're an IT administrator, you might want to configure these controls at the enterprise level. - -The privacy controls for the various types of data described in the preceding section are described in detail in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). - -As with any new policy settings, you should carefully test them out in a limited, controlled environment to ensure the settings that you configure have the desired effect before you implement the policy settings more widely in your organization. - -## Diagnostic data events - -This section describes what is considered required diagnostic data and what is considered optional diagnostic data, along with a description of the events and fields that are collected. - -### Data fields that are common for all events -There is some information about events that is common to all events, regardless of category or data subtype. - -The following fields are considered common for all events: - -| Field | Description | -| ----------------------- | ----------- | -| platform | The broad classification of the platform on which the app is running. Allows Microsoft to identify on which platforms an issue may be occurring so that it can correctly be prioritized. | -| machine_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | -| sense_guid | Unique identifier associated with the device. Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | -| org_id | Unique identifier associated with the enterprise that the device belongs to. Allows Microsoft to identify whether issues are impacting a select set of enterprises and how many enterprises are impacted. | -| hostname | Local machine name (without DNS suffix). Allows Microsoft to identify whether issues are impacting a select set of installs and how many users are impacted. | -| product_guid | Unique identifier of the product. Allows Microsoft to differentiate issues impacting different flavors of the product. | -| app_version | Version of the Microsoft Defender ATP for Linux application. Allows Microsoft to identify which versions of the product are showing an issue so that it can correctly be prioritized.| -| sig_version | Version of security intelligence database. Allows Microsoft to identify which versions of the security intelligence are showing an issue so that it can correctly be prioritized. | -| supported_compressions | List of compression algorithms supported by the application, for example `['gzip']`. Allows Microsoft to understand what types of compressions can be used when it communicates with the application. | -| release_ring | Ring that the device is associated with (for example Insider Fast, Insider Slow, Production). Allows Microsoft to identify on which release ring an issue may be occurring so that it can correctly be prioritized. | - - -### Required diagnostic data - -**Required diagnostic data** is the minimum data necessary to help keep Microsoft Defender ATP secure, up-to-date, and perform as expected on the device it’s installed on. - -Required diagnostic data helps to identify problems with Microsoft Defender ATP that may be related to a device or software configuration. For example, it can help determine if a Microsoft Defender ATP feature crashes more frequently on a particular operating system version, with newly introduced features, or when certain Microsoft Defender ATP features are disabled. Required diagnostic data helps Microsoft detect, diagnose, and fix these problems more quickly so the impact to users or organizations is reduced. - -#### Software setup and inventory data events - -> [!NOTE] -> **TODO:** Please review if all the following fields are valid for linux as well - -**Microsoft Defender ATP installation / uninstallation** - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| correlation_id | Unique identifier associated with the installation. | -| version | Version of the package. | -| severity | Severity of the message (for example Informational). | -| code | Code that describes the operation. | -| text | Additional information associated with the product installation. | - -**Microsoft Defender ATP configuration** - -The following fields are collected: - -| Field | Description | -| --------------------------------------------------- | ----------- | -| antivirus_engine.enable_real_time_protection | Whether real-time protection is enabled on the device or not. | -| antivirus_engine.passive_mode | Whether passive mode is enabled on the device or not. | -| cloud_service.enabled | Whether cloud delivered protection is enabled on the device or not. | -| cloud_service.timeout | Time out when the application communicates with the Microsoft Defender ATP cloud. | -| cloud_service.heartbeat_interval | Interval between consecutive heartbeats sent by the product to the cloud. | -| cloud_service.service_uri | URI used to communicate with the cloud. | -| cloud_service.diagnostic_level | Diagnostic level of the device (required, optional). | -| cloud_service.automatic_sample_submission | Whether automatic sample submission is turned on or not. | -| edr.early_preview | Whether the machine should run EDR early preview features. | -| edr.group_id | Group identifier used by the detection and response component. | -| edr.tags | User-defined tags. | -| features.\[optional feature name\] | List of preview features, along with whether they are enabled or not. | - -#### Product and service performance data events - -> [!NOTE] -> **TODO:** Please review if all the following fields are valid for linux as well - -**Kernel extension statistics** - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| version | Version of Microsoft Defender ATP for Linux. | -| instance_id | Unique identifier generated on kernel extension startup. | -| trace_level | Trace level of the kernel extension. | -| ipc.connects | Number of connection requests received by the kernel extension. | -| ipc.rejects | Number of connection requests rejected by the kernel extension. | -| ipc.connected | Whether there is any active connection to the kernel extension. | - -#### Support data - -**Diagnostic logs** - -Diagnostic logs are collected only with the consent of the user as part of the feedback submission feature. The following files are collected as part of the support logs: - -- All files under */var/log/microsoft/mdatp/* -- Subset of files under */var/opt/microsoft/mdatp/* that are created and used by Microsoft Defender ATP for Linux -- Subset of files under */etc/opt/microsoft/mdatp/* that are used by Microsoft Defender ATP for Linux - -### Optional diagnostic data - -**Optional diagnostic data** is additional data that helps Microsoft make product improvements and provides enhanced information to help detect, diagnose, and fix issues. - -If you choose to send us optional diagnostic data, required diagnostic data is also included. - -Examples of optional diagnostic data include data Microsoft collects about product configuration (for example number of exclusions set on the device) and product performance (aggregate measures about the performance of components of the product). - -#### Software setup and inventory data events - -**Microsoft Defender ATP configuration** - -The following fields are collected: - -| Field | Description | -| -------------------------------------------------- | ----------- | -| connection_retry_timeout | Connection retry time out when communication with the cloud. | -| file_hash_cache_maximum | Size of the product cache. | -| crash_upload_daily_limit | Limit of crash logs uploaded daily. | -| antivirus_engine.exclusions[].is_directory | Whether the exclusion from scanning is a directory or not. | -| antivirus_engine.exclusions[].path | Path that was excluded from scanning. | -| antivirus_engine.exclusions[].extension | Extension excluded from scanning. | -| antivirus_engine.exclusions[].name | Name of the file excluded from scanning. | -| antivirus_engine.scan_cache_maximum | Size of the product cache. | -| antivirus_engine.maximum_scan_threads | Maximum number of threads used for scanning. | -| antivirus_engine.threat_restoration_exclusion_time | Time out before a file restored from the quarantine can be detected again. | -| filesystem_scanner.full_scan_directory | Full scan directory. | -| filesystem_scanner.quick_scan_directories | List of directories used in quick scan. | -| edr.latency_mode | Latency mode used by the detection and response component. | -| edr.proxy_address | Proxy address used by the detection and response component. | - -### Product and service usage - -#### Diagnostic log upload started report - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| sha256 | SHA256 identifier of the support log. | -| size | Size of the support log. | -| original_path | Path to the support log (always under */var/opt/microsoft/mdatp/wdavdiag/*). | -| format | Format of the support log. | - -#### Diagnostic log upload completed report - -The following fields are collected: - -| Field | Description | -| ---------------- | ----------- | -| request_id | Correlation ID for the support log upload request. | -| sha256 | SHA256 identifier of the support log. | -| blob_sas_uri | URI used by the application to upload the support log. | - -#### Product and service performance data events - -**Unexpected application exit (crash)** - -Unexpected application exits and the state of the application when that happens. - -**Kernel extension statistics** - -> [!NOTE] -> **TODO:** Is this valid for Linux as well? - -The following fields are collected: - -| Field | Description | -| ------------------------------ | ----------- | -| pkt_ack_timeout | The following properties are aggregated numerical values, representing count of events that happened since kernel extension startup. | -| pkt_ack_conn_timeout | | -| ipc.ack_pkts | | -| ipc.nack_pkts | | -| ipc.send.ack_no_conn | | -| ipc.send.nack_no_conn | | -| ipc.send.ack_no_qsq | | -| ipc.send.nack_no_qsq | | -| ipc.ack.no_space | | -| ipc.ack.timeout | | -| ipc.ack.ackd_fast | | -| ipc.ack.ackd | | -| ipc.recv.bad_pkt_len | | -| ipc.recv.bad_reply_len | | -| ipc.recv.no_waiter | | -| ipc.recv.copy_failed | | -| ipc.kauth.vnode.mask | | -| ipc.kauth.vnode.read | | -| ipc.kauth.vnode.write | | -| ipc.kauth.vnode.exec | | -| ipc.kauth.vnode.del | | -| ipc.kauth.vnode.read_attr | | -| ipc.kauth.vnode.write_attr | | -| ipc.kauth.vnode.read_ex_attr | | -| ipc.kauth.vnode.write_ex_attr | | -| ipc.kauth.vnode.read_sec | | -| ipc.kauth.vnode.write_sec | | -| ipc.kauth.vnode.take_own | | -| ipc.kauth.vnode.denied | | -| ipc.kauth.file_op.mask | | -| ipc.kauth_file_op.open | | -| ipc.kauth.file_op.close | | -| ipc.kauth.file_op.close_modified | | -| ipc.kauth.file_op.move | | -| ipc.kauth.file_op.link | | -| ipc.kauth.file_op.exec | | -| ipc.kauth.file_op.remove | | -| ipc.kauth.file_op.fork | | -| ipc.kauth.file_op.create | | - -## Resources - -- [Privacy at Microsoft](https://privacy.microsoft.com/) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md deleted file mode 100644 index 2ff866b692..0000000000 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-pua.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Detect and block potentially unwanted applications -ms.reviewer: -description: Describes how to detect and block Potentially Unwanted Applications (PUA) using Microsoft Defender ATP for Linux. -keywords: microsoft, defender, atp, linux, pua, pus -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dansimp -author: dansimp -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Detect and block potentially unwanted applications - -**Applies to:** - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) - -The potentially unwanted application (PUA) protection feature in Microsoft Defender ATP for Linux can detect and block PUA files on endpoints in your network. - -These applications are not considered viruses, malware, or other types of threats, but might perform actions on endpoints that adversely affect their performance or use. PUA can also refer to applications that are considered to have poor reputation. - -These applications can increase the risk of your network being infected with malware, cause malware infections to be harder to identify, and can waste IT resources in cleaning up the applications. - -## How it works - -Microsoft Defender ATP for Linux can detect and report PUA files. When configured in blocking mode, PUA files are moved to the quarantine. - -When a PUA is detected on an endpoint, Microsoft Defender ATP for Linux presents a notification to the user, unless notifications have been disabled. The threat name will contain the word "Application". - -> [!NOTE] -> **TODO:** Reword for Linux - -## Configure PUA protection - -PUA protection in Microsoft Defender ATP for Linux can be configured in one of the following ways: - -- **Off**: PUA protection is disabled. -- **Audit**: PUA files are reported in the product logs, but not in Microsoft Defender Security Center. No notification is presented to the user and no action is taken by the product. -- **Block**: PUA files are reported in the product logs and in Microsoft Defender Security Center. The user is presented with a notification and action is taken by the product. - ->[!WARNING] ->By default, PUA protection is configured in **Audit** mode. - -You can configure how PUA files are handled from the command line or from the management console. - -### Use the command-line tool to configure PUA protection: - -In Terminal, execute the following command to configure PUA protection: - -```bash -$ mdatp --threat --type-handling potentially_unwanted_application [off|audit|block] -``` - -### Use the management console to configure PUA protection: - -In your enterprise, you can configure PUA protection from a management console, such as Puppet, similarly to how other product settings are configured. For more information, see the [Threat type settings](microsoft-defender-atp-linux-preferences.md#threat-type-settings) section of the [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) topic. - -## Related topics - -- [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md) From f7224e378aee6cd43ce25fe07c2e956d66aa53bc Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Thu, 24 Oct 2019 17:33:25 +0530 Subject: [PATCH 059/150] added mdatp --connectivity-test --- .../microsoft-defender-atp-linux.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index fa8fb3cbe0..1d5f12dde9 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -63,10 +63,22 @@ $ curl -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'http The output from this command should be similar to the following: -> `OK https://x.cp.wd.microsoft.com/api/report` -> +> `OK https://x.cp.wd.microsoft.com/api/report` > `OK https://cdn.x.cp.wd.microsoft.com/ping` +You can also use ```mdatp --connectivity-test``` to verify the connectivity. + +```bash +$ mdatp --connectivity-test +Running connectivity test +Testing connection with https://cdn.x.cp.wd.microsoft.com/ping ... [OK] +Testing connection with https://eu-cdn.x.cp.wd.microsoft.com/ping ... [OK] +Testing connection with https://wu-cdn.x.cp.wd.microsoft.com/ping ... [OK] +Testing connection with https://unitedstates.x.cp.wd.microsoft.com/api/report ... [OK] +Testing connection with https://ussus1eastprod.blob.core.windows.net ... [OK] +Testing connection with https://ussus1westprod.blob.core.windows.net ... [OK] +``` + ### Installation instructions There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. @@ -84,8 +96,6 @@ In general you need to take the following steps: ## How to update Microsoft Defender ATP for Linux ->[!NOTE] -> **TODO:** Upgrade story is not very clear right now! Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) From 857ae9d75374ccf78d75b3c90751631221ebc0ba Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Wed, 30 Oct 2019 16:13:21 +0530 Subject: [PATCH 060/150] Added section on known issues to overview page Added section on known issues to overview page --- .../microsoft-defender-atp-linux.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index 1d5f12dde9..c360a259ba 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -103,6 +103,13 @@ Microsoft regularly publishes software updates to improve performance, security, Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). +## Known Issues + +- Logged on users do not appear in the ATP portal +- Quarantining a threat requires elevated permissions. Run with ```sudo mdatp --threat --quarantine ``` +- Product has not been evaluated yet side by side with SELinux + + ## Resources - For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-linux-resources.md) page. From 237a4b660327eaa30f3d7048a31e3b8601e414ce Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Fri, 15 Nov 2019 13:38:53 -0800 Subject: [PATCH 061/150] Update supported distros --- .../microsoft-defender-atp-linux.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index c360a259ba..e582b3ace6 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -35,7 +35,14 @@ This topic describes how to install, configure, update, and use Microsoft Defend ### System requirements -- Supported Linux server distributions and versions: RHEL 7, Oracle Linux 7, CentOS 7, Ubuntu 16 and 18, Debian 9 +- Supported Linux server distributions and versions: + + - Red Hat Enterprise Linux 7 or higher + - CentOS 7 or higher + - Ubuntu 16.04 LTS or higher + - Debian 9 or higher + - SUSE Linux Enterprise Server 12 or higher + - Disk space: 650 MB. If your Linux server is behind firewall or proxy, you will likely need to allow outbound connections between it and following servers. The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. @@ -48,7 +55,7 @@ If your Linux server is behind firewall or proxy, you will likely need to allow | United States | unitedstates.x.cp.wd.microsoft.com | Microsoft Defender ATP can discover a proxy server by using the following discovery methods: -- Web Proxy Auto-discovery Protocol (WPAD) +- Transparent proxy - Manual static proxy configuration If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. @@ -96,7 +103,6 @@ In general you need to take the following steps: ## How to update Microsoft Defender ATP for Linux - Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) ## How to configure Microsoft Defender ATP for Linux From 2d9edf16d90f55c4a476d40d09fe75ce0e6038ea Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Fri, 15 Nov 2019 13:52:59 -0800 Subject: [PATCH 062/150] Clarify ubuntu --- .../windows-defender-antivirus/microsoft-defender-atp-linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md index e582b3ace6..ae7104ff7f 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md @@ -39,7 +39,7 @@ This topic describes how to install, configure, update, and use Microsoft Defend - Red Hat Enterprise Linux 7 or higher - CentOS 7 or higher - - Ubuntu 16.04 LTS or higher + - Ubuntu 16.04 LTS or higher LTS - Debian 9 or higher - SUSE Linux Enterprise Server 12 or higher From 2fce4593c40a56fd9fcee884cc60ddf5af02ec45 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 17 Feb 2020 13:43:21 +0530 Subject: [PATCH 063/150] Renamed+Moved files as per new directory structure Moved the files under microsoft-defender-atp and renamed them to linux-*.md as was done for mac. --- .../images/atp-portal-onboarding-win-intune.png} | Bin .../linux-install-manually.md} | 0 .../linux-install-with-puppet.md} | 0 .../linux-preferences.md} | 0 .../linux-resources.md} | 0 .../linux-updates.md} | 0 .../microsoft-defender-atp-linux.md | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename windows/security/threat-protection/{windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png => microsoft-defender-atp/images/atp-portal-onboarding-win-intune.png} (100%) rename windows/security/threat-protection/{windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md => microsoft-defender-atp/linux-install-manually.md} (100%) rename windows/security/threat-protection/{windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md => microsoft-defender-atp/linux-install-with-puppet.md} (100%) rename windows/security/threat-protection/{windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md => microsoft-defender-atp/linux-preferences.md} (100%) rename windows/security/threat-protection/{windows-defender-antivirus/microsoft-defender-atp-linux-resources.md => microsoft-defender-atp/linux-resources.md} (100%) rename windows/security/threat-protection/{windows-defender-antivirus/microsoft-defender-atp-linux-updates.md => microsoft-defender-atp/linux-updates.md} (100%) rename windows/security/threat-protection/{windows-defender-antivirus => microsoft-defender-atp}/microsoft-defender-atp-linux.md (100%) diff --git a/windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png b/windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-win-intune.png similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/images/ATP_Portal_Onboarding_win_intune.png rename to windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-win-intune.png diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-manually.md rename to windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-install-with-puppet.md rename to windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-preferences.md rename to windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-resources.md rename to windows/security/threat-protection/microsoft-defender-atp/linux-resources.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux-updates.md rename to windows/security/threat-protection/microsoft-defender-atp/linux-updates.md diff --git a/windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md similarity index 100% rename from windows/security/threat-protection/windows-defender-antivirus/microsoft-defender-atp-linux.md rename to windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md From 05bb4d335e944ba3b59ad0a083f7ab8a1f4231ec Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 17 Feb 2020 19:06:56 +0530 Subject: [PATCH 064/150] Fixed links after re-structuring files Fixed links after re-structuring files --- .../linux-install-manually.md | 6 +- .../linux-install-with-puppet.md | 4 +- .../linux-preferences.md | 2 +- .../microsoft-defender-atp-linux.md | 67 +++++++++++-------- 4 files changed, 46 insertions(+), 33 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 7e214e9a60..38b84b9fe2 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -37,7 +37,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic ## Configure Microsoft's Linux Software Repository -Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. +Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. ## Download onboarding package @@ -121,8 +121,8 @@ Copy and run the command below: ## Logging installation issues -See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -See [Uninstalling](microsoft-defender-atp-linux-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Linux from client devices. +See [Uninstalling](linux-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Linux from client devices. diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index 3731d54b7c..a61a09e1e3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -45,7 +45,7 @@ Download the onboarding package from Microsoft Defender Security Center: 2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. 3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. - ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) + ![Windows Defender Security Center screenshot](images/atp-portal-onboarding-win-intune.png) 4. From a command prompt, verify that you have the file. Extract the contents of the .zip file and create mdatp_onboard.json file as follows: @@ -160,7 +160,7 @@ If the product is not healthy, the exit code (which can be checked through `echo ## Logging installation issues -See [Logging installation issues](microsoft-defender-atp-linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md index eb249f3fe3..d1a41ccd3c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md @@ -25,7 +25,7 @@ ms.topic: conceptual - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) >[!IMPORTANT] ->This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](microsoft-defender-atp-linux-resources.md#configuring-from-the-command-line) page. +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](linux-resources.md#configuring-from-the-command-line) page. In enterprise environments, Microsoft Defender ATP for Linux can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md index ae7104ff7f..64f57159cc 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md @@ -24,7 +24,7 @@ This topic describes how to install, configure, update, and use Microsoft Defend > [!CAUTION] > Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. - + ## How to install Microsoft Defender ATP for Linux ### Prerequisites @@ -33,6 +33,20 @@ This topic describes how to install, configure, update, and use Microsoft Defend - Beginner-level experience in Linux and BASH scripting - Administrative privileges on the device (in case of manual deployment) +### Installation instructions + +There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. + +In general you need to take the following steps: + +- Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal +- Deploy Microsoft Defender ATP for Linux using one of the following deployment methods: + - Via third-party management tools: + - [Deploy using Puppet configuration management tool](linux-install-with-puppet.md) + - [Deploy using Ansbile configuration management tool](linux-install-with-ansible.md) + - Via the command-line tool: + - [Manual deployment](linux-install-manually.md) + ### System requirements - Supported Linux server distributions and versions: @@ -42,17 +56,24 @@ This topic describes how to install, configure, update, and use Microsoft Defend - Ubuntu 16.04 LTS or higher LTS - Debian 9 or higher - SUSE Linux Enterprise Server 12 or higher + - Oracle Enterprise Linux 7 -- Disk space: 650 MB. +- Minimum kernel version 2.6.38 +- The **fanotify** kernel option must be enabled +- Disk space: 650 MB. -If your Linux server is behind firewall or proxy, you will likely need to allow outbound connections between it and following servers. The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. +After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. + +### Network connections + +The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. | Service location | DNS record | | ---------------------------------------- | ----------------------- | -| Common URLs for all locations | x.cp.wd.microsoft.com
    cdn.x.cp.wd.microsoft.com
    eu-cdn.x.cp.wd.microsoft.com
    wu-cdn.x.cp.wd.microsoft.com
    *.blob.core.windows.net
    officecdn-microsoft-com.akamaized.net | -| European Union | europe.x.cp.wd.microsoft.com | -| United Kingdom | unitedkingdom.x.cp.wd.microsoft.com | -| United States | unitedstates.x.cp.wd.microsoft.com | +| Common URLs for all locations | x.cp.wd.microsoft.com
    cdn.x.cp.wd.microsoft.com
    eu-cdn.x.cp.wd.microsoft.com
    wu-cdn.x.cp.wd.microsoft.com
    *.blob.core.windows.net
    officecdn-microsoft-com.akamaized.net
    crl.microsoft.com
    events.data.microsoft.com | +| European Union | europe.x.cp.wd.microsoft.com
    eu-v20.events.data.microsoft.com | +| United Kingdom | unitedkingdom.x.cp.wd.microsoft.com
    uk-v20.events.data.microsoft.com | +| United States | unitedstates.x.cp.wd.microsoft.com
    us-v20.events.data.microsoft.com | Microsoft Defender ATP can discover a proxy server by using the following discovery methods: - Transparent proxy @@ -60,6 +81,8 @@ Microsoft Defender ATP can discover a proxy server by using the following discov If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. +## Validating cloud connectivity + To test that a connection is not blocked, open [https://x.cp.wd.microsoft.com/api/report](https://x.cp.wd.microsoft.com/api/report) and [https://cdn.x.cp.wd.microsoft.com/ping](https://cdn.x.cp.wd.microsoft.com/ping) in a browser. If you prefer the command line, you can also check the connection by running the following command in Terminal: @@ -86,38 +109,28 @@ Testing connection with https://ussus1eastprod.blob.core.windows.net ... [OK] Testing connection with https://ussus1westprod.blob.core.windows.net ... [OK] ``` -### Installation instructions - -There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. - -In general you need to take the following steps: - -- Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal -- Deploy Microsoft Defender ATP for Linux using one of the following deployment methods: - - Via third-party management tools: - - [Deploy using Puppet configuration management tool](microsoft-defender-atp-linux-install-with-puppet.md) - - [Deploy using Ansbile configuration management tool](microsoft-defender-atp-linux-install-with-ansible.md) - - [Other configuration management tools](microsoft-defender-atp-linux-install-with-other-configtool.md) - - Via the command-line tool: - - [Manual deployment](microsoft-defender-atp-linux-install-manually.md) ## How to update Microsoft Defender ATP for Linux -Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-updates.md) +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](linux-updates.md) ## How to configure Microsoft Defender ATP for Linux -Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-preferences.md). +Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](linux-preferences.md). ## Known Issues +- When a large volume of threats are encountered on the device, the product might exhibit increasingly large memory consumption (until the next product restart / system reboot). The engineering team is actively working on a mitigation for this - Logged on users do not appear in the ATP portal -- Quarantining a threat requires elevated permissions. Run with ```sudo mdatp --threat --quarantine ``` -- Product has not been evaluated yet side by side with SELinux +- While we are working on creating a better onboarding experience for Linux in the Microsoft Defender Security Center portal, the steps below temporarily point to the Windows section of the portal for getting the onboarding package +- In SUSE distributions, if the libatomic1 failed to be installed please validate that your OS is registered by typing the following command in the terminal: +```bash +sudo SUSEConnect --status-text +``` ## Resources -- For more information about logging, uninstalling, or other topics, see the [Resources](microsoft-defender-atp-linux-resources.md) page. +- For more information about logging, uninstalling, or other topics, see the [Resources](linux-resources.md) page. -- [Privacy for Microsoft Defender ATP for Linux](microsoft-defender-atp-linux-privacy.md) +- [Privacy for Microsoft Defender ATP for Linux](linux-privacy.md) From c734446d237d179506c578f1dbda8f6b4bfa7a5a Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 18 Feb 2020 16:16:58 +0530 Subject: [PATCH 065/150] Added static proxy configuration Added static proxy configuration --- .../linux-install-manually.md | 2 +- .../linux-static-proxy-configuration.md | 76 +++++++++++++++++++ .../microsoft-defender-atp-linux.md | 6 +- 3 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 38b84b9fe2..989e9be269 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -47,7 +47,7 @@ Download the onboarding package from Microsoft Defender Security Center: 2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. 3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. - ![Windows Defender Security Center screenshot](images/ATP_Portal_Onboarding_win_intune.png) + ![Windows Defender Security Center screenshot](images/atp-portal-onboarding-win-intune.png) 4. From a command prompt, verify that you have the file. Extract the contents of the .zip file and create mdatp_onboard.json file as follows: diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md new file mode 100644 index 0000000000..ee3a9237c9 --- /dev/null +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md @@ -0,0 +1,76 @@ +--- +title: Microsoft Defender ATP for Linux Static Proxy Discovery +ms.reviewer: +description: Describes how to configure Microsoft Defender ATP for static proxy discovery +keywords: microsoft, defender, atp, linux, installation, proxy +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Configuring Microsoft Defender ATP for static proxy discovery + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) + +Microsoft Defender ATP can discover a proxy server via the ```HTTPS_PROXY``` environment variable. This setting must be configured **both** at installation time and after the product has been installed. + +## Installation time configuration + +During installation, the ```HTTPS_PROXY``` environment variable must be passed to the package manager. The package manager can read this variable in any of these three ways: + +- The ```HTTPS_PROXY``` variable is defined in ```/etc/environment``` with the following line: + + ```bash + HTTPS_PROXY=”http://proxy.server:port/” + ``` + +- The `HTTPS_PROXY` variable is defined in the package manager global configuration. For example, in Ubuntu 18.04, you can add the following line to `/etc/apt/apt.conf.d/proxy.conf` + + ```bash + Acquire::https::Proxy "http://proxy.server:port/"; + ``` + +> [!Caution] +> Note that above two methods could define the proxy to use for other applications on your system. Use this method with caution, or only if this is mean to be a generally global configuration. + +- The `HTTPS_PROXY` variable is prepended to the installation and/or uninstallation commands. For example with the APT package manager, prepend the variable as follows when installing Microsoft Defender ATP: + + ```bash + $ HTTPS_PROXY=”http://proxy.server:port/" apt install mdatp + ``` + + >[!Note] Do not add sudo between the environment variable definition and apt, otherwise the variable will not be propagated. + +The `HTTPS_PROXY` environment variable may similarly be defined during uninstallation. + +Note that installation and uninstallation will not necessarily fail if a proxy is required but not configured. However, telemetry will not be submitted, and the operation could take significantly longer due to network timeouts. + +## Post installation configuration + +After installation, the `HTTPS_PROXY` environment variable must be defined in the Microsoft Defender ATP service file. To do this, open `/lib/systemd/system/mdatp.service` in a text editor while running as the root user. Then, you can propagate the variable to the service in one of two ways: + +- Uncomment the line `#Environment=HTTPS_PROXY="http://address:port”` and specify your static proxy address. + +- Add a line `EnvironmentFile=/path/to/env/file`. This path can point to `/etc/environment` or a custom file, either of which needs to the following line: + + ```bash + HTTPS_PROXY=”http://proxy.server:port/” + ``` + +After modifying the `mdatp.service` file, save and close it. Restart the service so the changes can go into effect. In Ubuntu, this involves two commands: + +```bash +$ systemctl daemon-reload; systemctl restart mdatp +``` diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md index 64f57159cc..1205d192a5 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md @@ -41,11 +41,11 @@ In general you need to take the following steps: - Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal - Deploy Microsoft Defender ATP for Linux using one of the following deployment methods: + - Via the command-line tool: + - [Manual deployment](linux-install-manually.md) - Via third-party management tools: - [Deploy using Puppet configuration management tool](linux-install-with-puppet.md) - [Deploy using Ansbile configuration management tool](linux-install-with-ansible.md) - - Via the command-line tool: - - [Manual deployment](linux-install-manually.md) ### System requirements @@ -79,7 +79,7 @@ Microsoft Defender ATP can discover a proxy server by using the following discov - Transparent proxy - Manual static proxy configuration -If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. +If a proxy or firewall is blocking anonymous traffic, make sure that anonymous traffic is permitted in the previously listed URLs. For transparent proxies, no additional configuration is needed for Microsoft Defender ATP. For static proxy, follow the steps in [Manual Static Proxy Configuration](linux-static-proxy-configuration.md). ## Validating cloud connectivity From 5e1bbff0a3c43704771be3a1785ddf40bf2a073f Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 18 Feb 2020 16:52:08 +0530 Subject: [PATCH 066/150] Updated manual installation instructions Updated manual installation instructions --- .../linux-install-manually.md | 154 +++++++++++++++--- 1 file changed, 133 insertions(+), 21 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 989e9be269..223833fd21 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -37,7 +37,132 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic ## Configure Microsoft's Linux Software Repository -Follow the steps given in [Configure Microsoft's Linux Software Repository](https://docs.microsoft.com/windows-server/administration/linux-package-repository-for-microsoft-software) to setup the repository. +### RHEL and variants (CentOS and Oracle EL) + +- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` + + In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step: + >[!Note] In case of Oracle EL and CentOS 8, use [distro] as “rhel”. + + ```bash + $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.repo + ``` + + For example, if you are running CentOS 7: + + ```bash + $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/centos/7/insiders-fast.repo + ``` + +- Install the Microsoft GPG public key: + + ```bash + $ curl https://packages.microsoft.com/keys/microsoft.asc > microsoft.asc + $ sudo rpm --import microsoft.asc + ``` + +- Download and make usable all the metadata for the currently enabled yum repositories: + + ```bash + $ yum makecache + ``` + +### SLES and variants + +- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` + + In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. + + ```bash + $ sudo zypper addrepo -c -f -n microsoft-insiders-fast https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.repo + ``` + + For example, if you are running SLES 12: + + ```bash + $ sudo zypper addrepo -c -f -n microsoft-insiders-fast https://packages.microsoft.com/config/sles/12/insiders-fast.repo + ``` + +- Install the Microsoft GPG public key: + + ```bash + $ curl https://packages.microsoft.com/keys/microsoft.asc > microsoft.asc + $ rpm --import microsoft.asc + ``` + +### Ubuntu and Debian systems + +- Install `‘curl’` if not already installed: + + ```bash + $ sudo apt-get install curl + ``` + +- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config` + + In the below command, replace *[distro]* and *[version]* with the information identified in the previous step: + + ```bash + $ curl -o microsoft.list https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.list + ``` + + For example, if you are running Ubuntu 18.04: + + ```bash + $ curl -o microsoft.list https://packages.microsoft.com/config/ubuntu/18.04/insiders-fast.list + ``` + +- Install the repository configuration: + + ```bash + $ sudo mv ./microsoft.list /etc/apt/sources.list.d/microsoft-insiders-fast.list + ``` + +- Install the gpg package if not already installed: + + ```bash + $ sudo apt-get install gpg + ``` + +- Install the Microsoft GPG public key: + + ```bash + $ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg + $ sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/ + + ``` + +- Install the https driver in case not already present: + + ```bash + $ sudo apt-get install apt-transport-https + ``` + +- Update the repository metadata + + ```bash + $ sudo apt-get update + ``` + +## Application installation + +- RHEL and variants (CentOS and Oracle EL) + + ```bash + sudo yum install mdatp + ``` + +- SLES and variants + + ```bash + sudo zypper install mdatp + ``` + +- Ubuntu and Debian system + + ```bash + sudo apt-get install -t insiders-fast mdatp + ``` ## Download onboarding package @@ -59,25 +184,6 @@ Download the onboarding package from Microsoft Defender Security Center: $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json ``` -## Application installation - -To complete this process, you must have admin privileges on the machine. - -1. Install Microsoft Defender ATP for Linux - - - ### Enterprise Linux (RHEL and variants) - - ```bash - sudo yum -y install mdatp - ``` - - - ### Ubuntu and Debian systems - - ```bash - sudo apt-get -y install mdatp - ``` - - ## Client configuration 1. Copy WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Linux. @@ -101,7 +207,7 @@ To complete this process, you must have admin privileges on the machine. E6875323-A6C0-4C60-87AD-114BBE7439B8 ``` -4. After installation, you can see the status by running the following command: +4. A few minutes following the completion of the installation, you can see the status by running the following command. A return value of `'1'` denotes that the product is functioning as expected. ```bash $ mdatp --health healthy @@ -119,6 +225,12 @@ Copy and run the command below: curl -o ~/Downloads/eicar.com.txt http://www.eicar.org/download/eicar.com.txt ``` +6. The file should have been quarantined by Microsoft Defender ATP for Linux. Use the following command to list all the detected threats: + + ```bash + $ mdatp --threat --list --pretty + ``` + ## Logging installation issues See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. From f2c1bbecf15e4a95ea8b14c1eea17b2893d4f9ad Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 18 Feb 2020 20:29:02 +0530 Subject: [PATCH 067/150] Added ansible instructions Added ansible instructions --- .../linux-install-with-ansible.md | 228 ++++++++++++++++++ .../linux-preferences.md | 26 +- 2 files changed, 241 insertions(+), 13 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md new file mode 100644 index 0000000000..e4b890e5fb --- /dev/null +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -0,0 +1,228 @@ +--- +title: Installing Microsoft Defender ATP for Linux with Puppet +ms.reviewer: +description: Describes how to install Microsoft Defender ATP for Linux, using Puppet. +keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos +search.product: eADQiWindows 10XVcnh +search.appverid: met150 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: dansimp +author: dansimp +ms.localizationpriority: medium +manager: dansimp +audience: ITPro +ms.collection: M365-security-compliance +ms.topic: conceptual +--- + +# Ansible based deployment + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) + +This topic describes how to deploy Microsoft Defender ATP for Linux through Ansible. A successful deployment requires the completion of all of the following steps: + +- [Download the onboarding packages](#download-onboarding-package) +- [Create Ansible YAML files](#create-ansible-yaml-files) +- [Deployment](#deployment) +- [Check onboarding status](#check-onboarding-status) +- [References](#references) + +## Prerequisites and system requirements + +Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. + +- Ansible needs to be installed at least on one computer (we will call it master) +- Password less SSH must be configured for root user between Master and all clients +- Below software must be installed on all clients + - python-apt + - curl + - unzip + +- All host must be listed in the following format in `/etc/ansible/hosts` file + + ```bash + [servers] + host1 ansible_ssh_host=10.171.134.39 + host2 ansible_ssh_host=51.143.50.51 + ``` + +- Ping test + + ```$ ansible -m ping all``` + +## Download onboarding package + +Download the onboarding package from Microsoft Defender Security Center: + +1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. +2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. + + ![Windows Defender Security Center screenshot](images/atp-portal-onboarding-win-intune.png) + +4. From a command prompt, verify that you have the file. + Extract the contents of the .zip file and create mdatp_onboard.json file as follows: + + ```bash + $ ls -l + total 8 + -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip + $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json + ``` + +## Create Ansible YAML files + +Create subtask / role files which contribute to an actual task. Create below files under `/etc/ansible/roles` directory. + +- Copy onboarding package on all client machines + + ```bash + $ cat /etc/ansible/roles/copy_onboarding_pkg.yml + - name: Copy the zip file + copy: + src: /root/WindowsDefenderATPOnboardingPackage.zip + dest: /root/WindowsDefenderATPOnboardingPackage.zip + owner: root + group: root + mode: '0644' + ``` + +- Create a `setup.sh` script which operates on onboarding blob + + ```bash + $ cat /root/setup.sh + + #!/bin/bash + + # Unzip the file and creates license blob + mkdir -p /etc/opt/microsoft/mdatp/ + unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' > /etc/opt/microsoft/mdatp/mdatp_onboard.json + + # get the GPG key + curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg + sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/ + ``` + +- Create onboarding blob + + ```bash + $ cat setup_blob.yml + - name: Copy the setup script file + copy: + src: /root/setup.sh + dest: /root/setup.sh + owner: root + group: root + mode: '0744' + + - name: Run a script to create license blob + script: /root/setup.sh + ``` + +- Add the Microsoft Defender ATP repository and key + + ```bash + $ cat add_apt_repo.yml + - name: Add Microsoft repository for MDATP + apt_repository: + repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/ubuntu/16.04/prod insiders-fast main + update_cache: yes + state: present + filename: microsoft-insiders-fast.list + + - name: Add Microsoft APT key + apt_key: + keyserver: https://packages.microsoft.com/ + id: BC528686B50D79E339D3721CEB3E94ADBE1229C + ``` + +- For Yum based distributions use the following YML file + + ```bash + $ cat add_yum_repo.yml + - name: Add Microsoft repository for MDATP + yum_repository: + name: packages-microsoft-com-prod-insiders-fast + description: Microsoft Defender ATP + file: microsoft-insiders-fast + baseurl: https://packages.microsoft.com/centos/7/insiders-fast/ + gpgcheck: yes + enabled: Yes + ``` + +- Now create the actual install/uninstall YAML files under /etc/ansible/playbooks + + ```bash + $ cat install_mdatp.yml + - hosts: servers + tasks: + - include: ../roles/download_copy_blob.yml + - include: ../roles/setup_blob.yml + - include: ../roles/add_apt_repo.yml + - apt: + name: mdatp + state: latest + update_cache: yes + ``` + + ```bash + $ cat uninstall_mdatp.yml + - hosts: servers + tasks: + - apt: + name: mdatp + state: absent + ``` + +- For the Yum based distribution + + ```bash + $ cat install_mdatp_yum.yml + - hosts: servers + tasks: + - include: ../roles/download_copy_blob.yml + - include: ../roles/setup_blob.yml + - include: ../roles/add_yum_repo.yml + - yum: + name: mdatp + state: latest + enablerepo: packages-microsoft-com-prod-insiders-fast + ``` + + ```bash + $ cat uninstall_mdatp_yum.yml + - hosts: servers + tasks: + - yum: + name: mdatp + state: absent + ``` + +## Deployment + +Now run the tasks files under `/etc/ansible/playbooks/` + +- Installation + + `# ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts` + +- Validation / Configuration + + `# ansible -m shell -a 'mdatp --connectivity-test' all`
    + `# ansible -m shell -a 'mdatp --health' all` + +- Un-Installation + + `# ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts` + +## References + +[Add or remove YUM repositories](https://docs.ansible.com/ansible/2.3/yum_repository_module.html)
    +[Manage packages with the yum package manager](https://docs.ansible.com/ansible/latest/modules/yum_module.html)
    +[Add and remove APT repositories](https://docs.ansible.com/ansible/latest/modules/apt_repository_module.html)
    +[Manage apt-packages](https://docs.ansible.com/ansible/latest/modules/apt_module.html) \ No newline at end of file diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md index d1a41ccd3c..fde2118685 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md @@ -255,7 +255,7 @@ The following configuration profile will: "cloudService":{ "automaticSampleSubmission":true, "enabled":true, - }, + } } ``` @@ -266,45 +266,45 @@ The following configuration profile contains entries for all settings described ### Full profile ```JSON -{ - "antivirusEngine":{ +{ + "antivirusEngine":{ "enableRealTimeProtection":true, "passiveMode":false, - "exclusions":[ - { + "exclusions":[ + { "$type":"excludedPath", "isDirectory":false, "path":"/var/log/system.log" }, - { + { "$type":"excludedPath", "isDirectory":true, "path":"/home" }, - { + { "$type":"excludedFileExtension", "extension":"pdf" } ], - "allowedThreats":[ + "allowedThreats":[ "EICAR-Test-File (not a virus)" ], - "threatTypeSettings":[ - { + "threatTypeSettings":[ + { "key":"potentially_unwanted_application", "value":"block" }, - { + { "key":"archive_bomb", "value":"audit" } ] }, - "cloudService":{ + "cloudService":{ "enabled":true, "diagnosticLevel":"optional", "automaticSampleSubmission":true, - }, + } } ``` From 1eda71519991d50387a9426155e987891d860b64 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 18 Feb 2020 21:12:59 +0530 Subject: [PATCH 068/150] Update TOC Update TOC --- windows/security/threat-protection/TOC.md | 10 ++++++++++ .../microsoft-defender-atp/linux-install-manually.md | 11 ++++++----- .../linux-install-with-ansible.md | 1 - .../linux-install-with-puppet.md | 4 ++-- .../linux-static-proxy-configuration.md | 4 ++-- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index c969d4994f..d09defdcd2 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -342,6 +342,16 @@ #### [Privacy](microsoft-defender-atp/mac-privacy.md) #### [Resources](microsoft-defender-atp/mac-resources.md) +### [Microsoft Defender Advanced Threat Protection for Linux](microsoft-defender-atp/microsoft-defender-atp-linux.md) +#### [Deploy]() +##### [Manual deployment](microsoft-defender-atp/linux-install-manually.md) +##### [Puppet based deployment](microsoft-defender-atp/linux-install-with-puppet.md) +##### [Ansible based deployment](microsoft-defender-atp/linux-install-with-ansible.md) +#### [Update](microsoft-defender-atp/linux-updates.md) +#### [Configure]() +##### [Static Proxy Configuration](microsoft-defender-atp/linux-static-proxy-configuration.md) +##### [Set preferences](microsoft-defender-atp/linux-preferences.md) +#### [Resources](microsoft-defender-atp/linux-resources.md) ### [Configure Secure score dashboard security controls](microsoft-defender-atp/secure-score-dashboard.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 223833fd21..60f02ab8b7 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -42,7 +42,8 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic - Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step: - >[!Note] In case of Oracle EL and CentOS 8, use [distro] as “rhel”. + + > [!NOTE] In case of Oracle EL and CentOS 8, use [distro] as “rhel”. ```bash $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.repo @@ -54,7 +55,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/centos/7/insiders-fast.repo ``` -- Install the Microsoft GPG public key: +- Install the Microsoft GPG public key: ```bash $ curl https://packages.microsoft.com/keys/microsoft.asc > microsoft.asc @@ -67,7 +68,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic $ yum makecache ``` -### SLES and variants +### SLES and variants - Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` @@ -90,7 +91,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic $ rpm --import microsoft.asc ``` -### Ubuntu and Debian systems +### Ubuntu and Debian systems - Install `‘curl’` if not already installed: @@ -138,7 +139,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic $ sudo apt-get install apt-transport-https ``` -- Update the repository metadata +- Update the repository metadata ```bash $ sudo apt-get update diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index e4b890e5fb..2c430ba593 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -29,7 +29,6 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Ansi - [Download the onboarding packages](#download-onboarding-package) - [Create Ansible YAML files](#create-ansible-yaml-files) - [Deployment](#deployment) -- [Check onboarding status](#check-onboarding-status) - [References](#references) ## Prerequisites and system requirements diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index a61a09e1e3..f1af7f4cb0 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -82,7 +82,7 @@ class install_mdatp { if ($osfamily == 'Debian') { apt::source { 'microsoftpackages' : - location => 'https://packages.microsoft.com/ubuntu/18.04/prod', # change the version based on your OS + location => 'https://packages.microsoft.com/ubuntu/18.04/prod', # change the version and distro based on your OS release => 'stable', repos => 'main', key => { @@ -93,7 +93,7 @@ class install_mdatp { } else { yumrepo { 'microsoftpackages' : - baseurl => 'https://packages.microsoft.com/rhel/7/prod', # change the version based on your OS + baseurl => 'https://packages.microsoft.com/rhel/7/prod', # change the version and distro based on your OS enabled => 1, gpgcheck => 1, gpgkey => 'https://packages.microsoft.com/keys/microsoft.asc' diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md index ee3a9237c9..9f6f4b5dc7 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md @@ -42,7 +42,7 @@ During installation, the ```HTTPS_PROXY``` environment variable must be passed t Acquire::https::Proxy "http://proxy.server:port/"; ``` -> [!Caution] +> [!CAUTION] > Note that above two methods could define the proxy to use for other applications on your system. Use this method with caution, or only if this is mean to be a generally global configuration. - The `HTTPS_PROXY` variable is prepended to the installation and/or uninstallation commands. For example with the APT package manager, prepend the variable as follows when installing Microsoft Defender ATP: @@ -51,7 +51,7 @@ During installation, the ```HTTPS_PROXY``` environment variable must be passed t $ HTTPS_PROXY=”http://proxy.server:port/" apt install mdatp ``` - >[!Note] Do not add sudo between the environment variable definition and apt, otherwise the variable will not be propagated. + >[!NOTE] Do not add sudo between the environment variable definition and apt, otherwise the variable will not be propagated. The `HTTPS_PROXY` environment variable may similarly be defined during uninstallation. From cfb38abb00222a1e225d6f64c18740673da52d31 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Tue, 18 Feb 2020 21:29:55 +0530 Subject: [PATCH 069/150] Fixed publishing warnings Fixed publishing warnings --- .../microsoft-defender-atp/linux-install-manually.md | 7 ++++--- .../linux-static-proxy-configuration.md | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 60f02ab8b7..c3fe515c1d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -26,7 +26,7 @@ ms.topic: conceptual This topic describes how to deploy Microsoft Defender ATP for Linux manually. A successful deployment requires the completion of all of the following steps: -- [Configure Microsoft's Linux Software Repository](#configure-microsoft's-linux-software-repository) +- [Configure Microsoft's Linux Software Repository](#configure-microsoft-linux-software-repository) - [Download onboarding packages](#download-onboarding-package) - [Application installation](#application-installation) - [Client configuration](#client-configuration) @@ -35,7 +35,7 @@ This topic describes how to deploy Microsoft Defender ATP for Linux manually. A Before you get started, see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -## Configure Microsoft's Linux Software Repository +## Configure Microsoft Linux Software Repository ### RHEL and variants (CentOS and Oracle EL) @@ -43,7 +43,8 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step: - > [!NOTE] In case of Oracle EL and CentOS 8, use [distro] as “rhel”. + > [!NOTE] + > In case of Oracle EL and CentOS 8, use [distro] as “rhel”. ```bash $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.repo diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md index 9f6f4b5dc7..4ced587060 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md @@ -18,7 +18,7 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Configuring Microsoft Defender ATP for static proxy discovery +# Configuring Microsoft Defender ATP for static proxy discovery **Applies to:** @@ -51,7 +51,8 @@ During installation, the ```HTTPS_PROXY``` environment variable must be passed t $ HTTPS_PROXY=”http://proxy.server:port/" apt install mdatp ``` - >[!NOTE] Do not add sudo between the environment variable definition and apt, otherwise the variable will not be propagated. + > [!NOTE] + > Do not add sudo between the environment variable definition and apt, otherwise the variable will not be propagated. The `HTTPS_PROXY` environment variable may similarly be defined during uninstallation. From 62f4f7be969fd2fb860ee192ae3e10f752445b77 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 21:40:56 -0800 Subject: [PATCH 070/150] Cleanup --- .../images/atp-portal-onboarding-linux-2.png | Bin 0 -> 267332 bytes .../images/atp-portal-onboarding-linux.png | Bin 0 -> 276917 bytes .../linux-install-manually.md | 65 ++++--- .../linux-install-with-ansible.md | 175 ++++++++++-------- .../linux-install-with-puppet.md | 12 +- .../linux-preferences.md | 6 +- .../microsoft-defender-atp/linux-resources.md | 2 +- .../microsoft-defender-atp-linux.md | 25 +-- 8 files changed, 152 insertions(+), 133 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-linux-2.png create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-linux.png diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-linux-2.png b/windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-linux-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7dd1c6d0e6ce847470464e07499b62d8523a9d12 GIT binary patch literal 267332 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%0A_Dr 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
    Intermittent issues when printing
    Applications and printer drivers that leverage the Windows Javascript engine (jscript.dll) for processing print jobs might experience one or more of the following symptoms:
    • Applications interacting with the V4 printer driver might close or error when printing. Issues might only be encountered when printing but might also be encountered at any time the app is running, depending on when the app interacts with the print driver.
    • The printer spooler service (spoolsv.exe) might close or error in jscript.dll with exception code 0xc0000005 causing the print jobs to stop processing. Only part of the print job might print and the rest might be canceled or error.
    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2

    Back to topOS Build 10240.18334

    September 23, 2019
    KB4522009Resolved
    KB4520011Resolved:
    October 08, 2019
    10:00 AM PT

    Opened:
    September 30, 2019
    06:26 PM PT " - -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512497, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4517276. This ‘optional’ update is available on Microsoft Update Catalog, Windows Update, Microsoft Update and Windows Server Update Services (WSUS). As with any 'optional' update, you will need to Check for updates to receive KB4517276 and install. For instructions, see Update Windows 10.

    Note Windows Update for Business customers should apply the update via Microsoft Update Catalog or Windows Server Update Services (WSUS).

    Back to top
    OS Build 10240.18305

    August 13, 2019
    KB4512497
    Resolved
    KB4517276
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " diff --git a/windows/release-information/resolved-issues-windows-10-1607.yml b/windows/release-information/resolved-issues-windows-10-1607.yml index cabf372d2e..5585df19da 100644 --- a/windows/release-information/resolved-issues-windows-10-1607.yml +++ b/windows/release-information/resolved-issues-windows-10-1607.yml @@ -36,8 +36,6 @@ sections:
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >OS Build 14393.3206

    September 23, 2019
    KB4522010Resolved
    KB4519998October 08, 2019
    10:00 AM PT
    IME may become unresponsive or have High CPU usage
    Some Input Method Editor (IME) including ChsIME.EXE and ChtIME.EXE, may become unresponsive or may have high CPU usage.

    See details >OS Build 14393.3204

    September 10, 2019
    KB4516044Resolved
    September 17, 2019
    04:47 PM PT
    Apps and scripts using the NetQueryDisplayInformation API may fail with error
    Applications and scripts that call NetQueryDisplayInformation may fail to return results after the first page of data.

    See details >OS Build 14393.3053

    June 18, 2019
    KB4503294Resolved
    KB4516044September 10, 2019
    10:00 AM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >OS Build 14393.3025

    June 11, 2019
    KB4503267Resolved
    KB4512495August 17, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >OS Build 14393.3144

    August 13, 2019
    KB4512517Resolved
    KB4512495August 17, 2019
    02:00 PM PT " @@ -64,16 +62,6 @@ sections: text: " - -
    DetailsOriginating updateStatusHistory
    Apps and scripts using the NetQueryDisplayInformation API may fail with error
     Applications and scripts that call the NetQueryDisplayInformation API or the WinNT provider equivalent may fail to return results after the first page of data, often 50 or 100 entries. When requesting additional pages you may receive the error, “1359: an internal error occurred.”

    Affected platforms:
    • Server: Windows Server 2019; Windows Server 2016
    Resolution: This issue was resolved in KB4516044.

    Back to top
    OS Build 14393.3053

    June 18, 2019
    KB4503294
    Resolved
    KB4516044
    Resolved:
    September 10, 2019
    10:00 AM PT

    Opened:
    August 01, 2019
    05:00 PM PT
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512517, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4512495. This ‘optional’ update is available on Microsoft Update Catalog, Windows Update, Microsoft Update and Windows Server Update Services (WSUS). As with any 'optional' update, you will need to Check for updates to receive KB4512495 and install. For instructions, see Update Windows 10.

    Note Windows Update for Business customers should apply the update via Microsoft Update Catalog or Windows Server Update Services (WSUS).

    Back to top
    OS Build 14393.3144

    August 13, 2019
    KB4512517
    Resolved
    KB4512495
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503267 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512495.

    Back to top
    OS Build 14393.3025

    June 11, 2019
    KB4503267
    Resolved
    KB4512495
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    " diff --git a/windows/release-information/resolved-issues-windows-10-1709.yml b/windows/release-information/resolved-issues-windows-10-1709.yml index 669db319e1..c85bdd82e9 100644 --- a/windows/release-information/resolved-issues-windows-10-1709.yml +++ b/windows/release-information/resolved-issues-windows-10-1709.yml @@ -35,8 +35,6 @@ sections:
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >OS Build 16299.1387

    September 10, 2019
    KB4516066Resolved
    KB4534318January 23, 2020
    02:00 PM PT
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >OS Build 16299.1392

    September 23, 2019
    KB4522012Resolved
    KB4520004October 08, 2019
    10:00 AM PT
    IME may become unresponsive or have High CPU usage
    Some Input Method Editor (IME) including ChsIME.EXE and ChtIME.EXE, may become unresponsive or may have high CPU usage.

    See details >OS Build 16299.1387

    September 10, 2019
    KB4516066Resolved
    September 19, 2019
    04:08 PM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >OS Build 16299.1217

    June 11, 2019
    KB4503284Resolved
    KB4512494August 16, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >OS Build 16299.1331

    August 13, 2019
    KB4512516Resolved
    KB4512494August 16, 2019
    02:00 PM PT " @@ -65,21 +63,3 @@ sections:
    IME may become unresponsive or have High CPU usage
    Some Input Method Editor (IME) may become unresponsive or may have high CPU usage. Affected IMEs include Chinese Simplified (ChsIME.EXE) and Chinese Traditional (ChtIME.EXE) with Changjie/Quick keyboard.


    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016

    Resolution: Due to security related changes in KB4516066, this issue may occur when Touch Keyboard and Handwriting Panel Service is not configured to its default startup type of Manual. To resolve the issue, perform the following steps:
    1. Select the Start button and type Services.
    2. Locate Touch Keyboard and Handwriting Panel Service and double click on it or long press and select Properties.
    3. Locate Startup type: and change it to Manual
    4. Select Ok
    5. The TabletInputService service is now in the default configuration and IME should work as expected.

    Back to topOS Build 16299.1387

    September 10, 2019
    KB4516066Resolved
    Resolved:
    September 19, 2019
    04:08 PM PT

    Opened:
    September 13, 2019
    05:25 PM PT " - -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512516, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4512494. The ‘optional’ update will be available on Microsoft Update Catalog, Windows Update, Microsoft Update and Windows Server Update Services (WSUS). As with any 'optional' update, you will need to Check for updates to receive KB4512494 and install. For instructions, see Update Windows 10.

    Note Windows Update for Business customers should apply the update via Microsoft Update Catalog or Windows Server Update Services (WSUS).

    Back to top
    OS Build 16299.1331

    August 13, 2019
    KB4512516
    Resolved
    KB4512494
    Resolved:
    August 16, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503284 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512494.

    Back to top
    OS Build 16299.1217

    June 11, 2019
    KB4503284
    Resolved
    KB4512494
    Resolved:
    August 16, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    - " diff --git a/windows/release-information/resolved-issues-windows-10-1809-and-windows-server-2019.yml b/windows/release-information/resolved-issues-windows-10-1809-and-windows-server-2019.yml index 727b436221..2eb42f02b4 100644 --- a/windows/release-information/resolved-issues-windows-10-1809-and-windows-server-2019.yml +++ b/windows/release-information/resolved-issues-windows-10-1809-and-windows-server-2019.yml @@ -39,8 +39,6 @@ sections:
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >OS Build 17763.740

    September 23, 2019
    KB4522015Resolved
    KB4519338October 08, 2019
    10:00 AM PT
    Apps and scripts using the NetQueryDisplayInformation API may fail with error
    Applications and scripts that call NetQueryDisplayInformation may fail to return results after the first page of data.

    See details >OS Build 17763.55

    October 09, 2018
    KB4464330Resolved
    KB4516077September 24, 2019
    10:00 AM PT
    IME may become unresponsive or have High CPU usage
    Some Input Method Editor (IME) including ChsIME.EXE and ChtIME.EXE, may become unresponsive or may have high CPU usage.

    See details >OS Build 17763.737

    September 10, 2019
    KB4512578Resolved
    September 19, 2019
    04:08 PM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >OS Build 17763.557

    June 11, 2019
    KB4503327Resolved
    KB4512534August 17, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >OS Build 17763.678

    August 13, 2019
    KB4511553Resolved
    KB4512534August 17, 2019
    02:00 PM PT " @@ -78,16 +76,6 @@ sections: text: " - -
    DetailsOriginating updateStatusHistory
    Apps and scripts using the NetQueryDisplayInformation API may fail with error
     Applications and scripts that call the NetQueryDisplayInformation API or the WinNT provider equivalent may fail to return results after the first page of data, often 50 or 100 entries. When requesting additional pages you may receive the error, “1359: an internal error occurred.”

    Affected platforms:
    • Server: Windows Server 2019; Windows Server 2016
    Resolution: This issue was resolved in KB4516077.

    Back to top
    OS Build 17763.55

    October 09, 2018
    KB4464330
    Resolved
    KB4516077
    Resolved:
    September 24, 2019
    10:00 AM PT

    Opened:
    August 01, 2019
    05:00 PM PT
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4511553, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4512534. This ‘optional’ update is available on Microsoft Update Catalog, Windows Update, Microsoft Update and Windows Server Update Services (WSUS). As with any 'optional' update, you will need to Check for updates to receive KB4512534 and install. For instructions, see Update Windows 10.

    Note Windows Update for Business customers should apply the update via Microsoft Update Catalog or Windows Server Update Services (WSUS).

    Back to top
    OS Build 17763.678

    August 13, 2019
    KB4511553
    Resolved
    KB4512534
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503327 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512534.

    Back to top
    OS Build 17763.557

    June 11, 2019
    KB4503327
    Resolved
    KB4512534
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    " diff --git a/windows/release-information/resolved-issues-windows-7-and-windows-server-2008-r2-sp1.yml b/windows/release-information/resolved-issues-windows-7-and-windows-server-2008-r2-sp1.yml index 1a52dc5fb6..3e723fd5a0 100644 --- a/windows/release-information/resolved-issues-windows-7-and-windows-server-2008-r2-sp1.yml +++ b/windows/release-information/resolved-issues-windows-7-and-windows-server-2008-r2-sp1.yml @@ -38,8 +38,6 @@ sections:
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >September 24, 2019
    KB4516048Resolved
    KB4519976October 08, 2019
    10:00 AM PT
    You may receive an error when opening or using the Toshiba Qosmio AV Center
    Toshiba Qosmio AV Center may error when opening and you may also receive an error in Event Log related to cryptnet.dll.

    See details >August 13, 2019
    KB4512506Resolved
    KB4516048September 24, 2019
    10:00 AM PT
    Windows updates that are SHA-2 signed may not be offered for Symantec and Norton AV
    Windows updates that are SHA-2 signed are not available with Symantec or Norton antivirus program installed

    See details >August 13, 2019
    KB4512506Resolved External
    August 27, 2019
    02:29 PM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >June 11, 2019
    KB4503292Resolved
    KB4512514August 17, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >August 13, 2019
    KB4512506Resolved
    KB4517297August 16, 2019
    02:00 PM PT " @@ -93,15 +91,5 @@ sections: text: " - -
    DetailsOriginating updateStatusHistory
    Windows updates that are SHA-2 signed may not be offered for Symantec and Norton AV
    Symantec identified the potential for a negative interaction that may occur after Windows Updates code signed with SHA-2 only certificates are installed on devices with Symantec or Norton antivirus programs installed. The software may not correctly identify files included in the update as code signed by Microsoft, putting the device at risk for a delayed or incomplete update.

    Affected platforms:
    • Client: Windows 7 SP1
    • Server: Windows Server 2008 R2 SP1
    Resolution: The safeguard hold has been removed. Symantec has completed its evaluation of the impact of this update and future updates to Windows 7/Windows 2008 R2 and has determined that there is no increased risk of a false positive detection for all in-field versions of Symantec Endpoint Protection and Norton antivirus programs. See the Symantec support article for additional detail and please reach out to Symantec or Norton support if you encounter any issues.

    Back to top
    August 13, 2019
    KB4512506
    Resolved External
    Last updated:
    August 27, 2019
    02:29 PM PT

    Opened:
    August 13, 2019
    10:05 AM PT
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512506, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4517297. The ‘optional’ update is now available on Microsoft Update Catalog and Windows Server Update Services (WSUS).

    Back to top
    August 13, 2019
    KB4512506
    Resolved
    KB4517297
    Resolved:
    August 16, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503292 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512514.

    Back to top
    June 11, 2019
    KB4503292
    Resolved
    KB4512514
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    " diff --git a/windows/release-information/resolved-issues-windows-8.1-and-windows-server-2012-r2.yml b/windows/release-information/resolved-issues-windows-8.1-and-windows-server-2012-r2.yml index 44809071a4..bcebc8ddb6 100644 --- a/windows/release-information/resolved-issues-windows-8.1-and-windows-server-2012-r2.yml +++ b/windows/release-information/resolved-issues-windows-8.1-and-windows-server-2012-r2.yml @@ -35,8 +35,6 @@ sections:
    Printing from 32-bit apps might fail on a 64-bit OS
    When attempting to print, you may receive an error or the application may stop responding or close.

    See details >August 13, 2019
    KB4512489Resolved
    KB4525250November 12, 2019
    10:00 AM PT
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >September 24, 2019
    KB4516041Resolved
    KB4520005October 08, 2019
    10:00 AM PT
    Windows RT 8.1 devices may have issues opening Internet Explorer 11
    On Windows RT 8.1 devices, Internet Explorer 11 may not open and you may receive an error.

    See details >September 10, 2019
    KB4516067Resolved
    KB4516041September 24, 2019
    10:00 AM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >June 11, 2019
    KB4503276Resolved
    KB4512478August 17, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >August 13, 2019
    KB4512488Resolved
    KB4517298August 16, 2019
    02:00 PM PT " @@ -65,21 +63,3 @@ sections:
    Windows RT 8.1 devices may have issues opening Internet Explorer 11
    On Windows 8.1 RT devices, Internet Explorer 11 may not open and you may receive the error, \"C:\\Program Files\\Internet Explorer\\iexplore.exe: A certificate was explicitly revoked by its issuer.\"


    Affected platforms:
    • Client: Windows RT 8.1
    Resolution: This issue was resolved in KB4516041.

    Back to topSeptember 10, 2019
    KB4516067Resolved
    KB4516041Resolved:
    September 24, 2019
    10:00 AM PT

    Opened:
    September 13, 2019
    05:25 PM PT " - -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512488, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4517298. The ‘optional’ update is now available on Microsoft Update Catalog and Windows Server Update Services (WSUS).

    Back to top
    August 13, 2019
    KB4512488
    Resolved
    KB4517298
    Resolved:
    August 16, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503276 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512478.

    Back to top
    June 11, 2019
    KB4503276
    Resolved
    KB4512478
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    - " diff --git a/windows/release-information/resolved-issues-windows-server-2008-sp2.yml b/windows/release-information/resolved-issues-windows-server-2008-sp2.yml index a86f0270a1..8c0739bd8e 100644 --- a/windows/release-information/resolved-issues-windows-server-2008-sp2.yml +++ b/windows/release-information/resolved-issues-windows-server-2008-sp2.yml @@ -36,8 +36,6 @@ sections:
    MSRT might fail to install and be re-offered from Windows Update or WSUS
    The November 2019 update for Windows Malicious Software Removal Tool (MSRT) might fail to install from WU/WSUS.

    See details >
    Resolved
    January 23, 2020
    02:08 PM PT
    Issues manually installing updates by double-clicking the .msu file
    You may encounter issues manually installing updates by double-clicking the .msu file and may receive an error.

    See details >September 10, 2019
    KB4474419Resolved
    KB4474419September 23, 2019
    10:00 AM PT
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >September 24, 2019
    KB4516030Resolved
    KB4520002October 08, 2019
    10:00 AM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >June 11, 2019
    KB4503273Resolved
    KB4512499August 17, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >August 13, 2019
    KB4512476Resolved
    KB4517301August 16, 2019
    02:00 PM PT " @@ -75,21 +73,3 @@ sections:
    Intermittent issues when printing
    Applications and printer drivers that leverage the Windows Javascript engine (jscript.dll) for processing print jobs might experience one or more of the following symptoms:
    • Applications interacting with the V4 printer driver might close or error when printing. Issues might only be encountered when printing but might also be encountered at any time the app is running, depending on when the app interacts with the print driver.
    • The printer spooler service (spoolsv.exe) might close or error in jscript.dll with exception code 0xc0000005 causing the print jobs to stop processing. Only part of the print job might print and the rest might be canceled or error.
    Note This issue also affects the Internet Explorer Cumulative Update KB4522007, release September 23, 2019.

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4520002. If you are using Security Only updates, see KB4519974 for resolving KB for your platform.

    Back to topSeptember 24, 2019
    KB4516030Resolved
    KB4520002Resolved:
    October 08, 2019
    10:00 AM PT

    Opened:
    September 30, 2019
    06:26 PM PT " - -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512476, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4517301. The ‘optional’ update is now available on Microsoft Update Catalog and Windows Server Update Services (WSUS).

    Back to top
    August 13, 2019
    KB4512476
    Resolved
    KB4517301
    Resolved:
    August 16, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503273 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512499.

    Back to top
    June 11, 2019
    KB4503273
    Resolved
    KB4512499
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    - " diff --git a/windows/release-information/resolved-issues-windows-server-2012.yml b/windows/release-information/resolved-issues-windows-server-2012.yml index a3edb4121f..87c57cef75 100644 --- a/windows/release-information/resolved-issues-windows-server-2012.yml +++ b/windows/release-information/resolved-issues-windows-server-2012.yml @@ -34,8 +34,6 @@ sections: - -
    SummaryOriginating updateStatusDate resolved
    Printing from 32-bit apps might fail on a 64-bit OS
    When attempting to print, you may receive an error or the application may stop responding or close.

    See details >
    August 13, 2019
    KB4512482
    Resolved
    KB4525253
    November 12, 2019
    10:00 AM PT
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >
    September 24, 2019
    KB4516069
    Resolved
    KB4520007
    October 08, 2019
    10:00 AM PT
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >
    June 11, 2019
    KB4503285
    Resolved
    KB4512512
    August 17, 2019
    02:00 PM PT
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >
    August 13, 2019
    KB4512518
    Resolved
    KB4517302
    August 16, 2019
    02:00 PM PT
    " @@ -63,21 +61,3 @@ sections:
    Intermittent issues when printing
    Applications and printer drivers that leverage the Windows Javascript engine (jscript.dll) for processing print jobs might experience one or more of the following symptoms:
    • Applications interacting with the V4 printer driver might close or error when printing. Issues might only be encountered when printing but might also be encountered at any time the app is running, depending on when the app interacts with the print driver.
    • The printer spooler service (spoolsv.exe) might close or error in jscript.dll with exception code 0xc0000005 causing the print jobs to stop processing. Only part of the print job might print and the rest might be canceled or error.
    Note This issue also affects the Internet Explorer Cumulative Update KB4522007, release September 23, 2019.

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4520007. If you are using Security Only updates, see KB4519974 for resolving KB for your platform.

    Back to topSeptember 24, 2019
    KB4516069Resolved
    KB4520007Resolved:
    October 08, 2019
    10:00 AM PT

    Opened:
    September 30, 2019
    06:26 PM PT " - -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512518, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4517302. The ‘optional’ update is now available on Microsoft Update Catalog and Windows Server Update Services (WSUS).

    Back to top
    August 13, 2019
    KB4512518
    Resolved
    KB4517302
    Resolved:
    August 16, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503285 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512512.

    Back to top
    June 11, 2019
    KB4503285
    Resolved
    KB4512512
    Resolved:
    August 17, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    - " diff --git a/windows/release-information/status-windows-10-1507.yml b/windows/release-information/status-windows-10-1507.yml index 3846d88d01..50e384face 100644 --- a/windows/release-information/status-windows-10-1507.yml +++ b/windows/release-information/status-windows-10-1507.yml @@ -60,7 +60,7 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - +
    SummaryOriginating updateStatusLast updated
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 10240.18368

    October 08, 2019
    KB4520011
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 10240.18094

    January 08, 2019
    KB4480962
    Mitigated
    April 25, 2019
    02:00 PM PT
    @@ -78,7 +78,7 @@ sections: - type: markdown text: " - +
    DetailsOriginating updateStatusHistory
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml b/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml index 0fcc5e9d8c..ad5f5d081d 100644 --- a/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml +++ b/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml @@ -60,8 +60,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -81,8 +81,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Windows may not start on certain Lenovo and Fujitsu laptops with less than 8GB of RAM
    Windows may fail to start on certain Lenovo and Fujitsu laptops that have less than 8 GB of RAM.

    See details >
    OS Build 14393.2608

    November 13, 2018
    KB4467691
    Resolved External
    January 23, 2020
    02:08 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 14393.3274

    October 08, 2019
    KB4519998
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 14393.2724

    January 08, 2019
    KB4480961
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1709.yml b/windows/release-information/status-windows-10-1709.yml index bb6904a30e..b0ee5c7ec5 100644 --- a/windows/release-information/status-windows-10-1709.yml +++ b/windows/release-information/status-windows-10-1709.yml @@ -60,8 +60,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -80,8 +80,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 16299.1387

    September 10, 2019
    KB4516066
    Resolved
    KB4534318
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 16299.1451

    October 08, 2019
    KB4520004
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 16299.904

    January 08, 2019
    KB4480978
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1803.yml b/windows/release-information/status-windows-10-1803.yml index 42a74822e9..f390bca9da 100644 --- a/windows/release-information/status-windows-10-1803.yml +++ b/windows/release-information/status-windows-10-1803.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -84,8 +84,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 17134.1006

    September 10, 2019
    KB4516058
    Resolved
    KB4534308
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 17134.1069

    October 08, 2019
    KB4520008
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 17134.523

    January 08, 2019
    KB4480966
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml b/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml index a6c69b9a7e..da6e037493 100644 --- a/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml +++ b/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -85,8 +85,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 17763.737

    September 10, 2019
    KB4512578
    Resolved
    KB4534321
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 17763.805

    October 08, 2019
    KB4519338
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Devices with some Asian language packs installed may receive an error
    Devices with Asian language packs installed may receive the error, \"0x800f0982 - PSFX_E_MATCHING_COMPONENT_NOT_FOUND.\"

    See details >
    OS Build 17763.437

    April 09, 2019
    KB4493509
    Mitigated
    May 03, 2019
    10:59 AM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1903.yml b/windows/release-information/status-windows-10-1903.yml index cb7133af96..4b98890fff 100644 --- a/windows/release-information/status-windows-10-1903.yml +++ b/windows/release-information/status-windows-10-1903.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + +
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Issues with some older versions of Avast and AVG anti-virus products
    Microsoft and Avast has identified compatibility issues with some versions of Avast and AVG Antivirus.

    See details >
    N/A

    Mitigated External
    November 25, 2019
    05:25 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 18362.418

    October 08, 2019
    KB4517389
    Mitigated External
    November 05, 2019
    03:36 PM PT
    @@ -83,8 +83,8 @@ sections: - type: markdown text: " - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1909.yml b/windows/release-information/status-windows-10-1909.yml index 631a1ea8d9..355ff2a8c2 100644 --- a/windows/release-information/status-windows-10-1909.yml +++ b/windows/release-information/status-windows-10-1909.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + +
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Issues with some older versions of Avast and AVG anti-virus products
    Microsoft and Avast has identified compatibility issues with some versions of Avast and AVG Antivirus.

    See details >
    N/A

    Mitigated External
    November 25, 2019
    05:25 PM PT
    " @@ -82,8 +82,8 @@ sections: - type: markdown text: " - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-8.1-and-windows-server-2012-r2.yml b/windows/release-information/status-windows-8.1-and-windows-server-2012-r2.yml index 8a62e5b48c..1d522d681a 100644 --- a/windows/release-information/status-windows-8.1-and-windows-server-2012-r2.yml +++ b/windows/release-information/status-windows-8.1-and-windows-server-2012-r2.yml @@ -60,7 +60,7 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - + @@ -79,7 +79,7 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    February 11, 2020
    KB4502496
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    February 11, 2020
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    October 08, 2019
    KB4520005
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Japanese IME doesn't show the new Japanese Era name as a text input option
    With previous dictionary updates installed, the Japanese IME doesn't show the new Japanese Era name as an input option.

    See details >
    April 25, 2019
    KB4493443
    Mitigated
    May 15, 2019
    05:53 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    January 08, 2019
    KB4480963
    Mitigated
    April 25, 2019
    02:00 PM PT
    - +
    DetailsOriginating updateStatusHistory
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    February 11, 2020
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    February 11, 2020
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-server-2012.yml b/windows/release-information/status-windows-server-2012.yml index 95f21c394f..cba7737955 100644 --- a/windows/release-information/status-windows-server-2012.yml +++ b/windows/release-information/status-windows-server-2012.yml @@ -60,7 +60,7 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - + @@ -79,7 +79,7 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    February 11, 2020
    KB4502496
    Mitigated
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    February 11, 2020
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    October 08, 2019
    KB4520007
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Japanese IME doesn't show the new Japanese Era name as a text input option
    With previous dictionary updates installed, the Japanese IME doesn't show the new Japanese Era name as an input option.

    See details >
    April 25, 2019
    KB4493462
    Mitigated
    May 15, 2019
    05:53 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    January 08, 2019
    KB4480975
    Mitigated
    April 25, 2019
    02:00 PM PT
    - +
    DetailsOriginating updateStatusHistory
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    February 11, 2020
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    12:02 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    February 11, 2020
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/windows-message-center.yml b/windows/release-information/windows-message-center.yml index 2bc18cf098..ba231e5da7 100644 --- a/windows/release-information/windows-message-center.yml +++ b/windows/release-information/windows-message-center.yml @@ -53,7 +53,7 @@ sections: Compatibility issue with some Windows Server container images
    If you are encountering issues with Windows Server container images, please see KB4542617.
    February 13, 2020
    03:21 PM PT Take action: February 2020 security update available for all supported versions of Windows
    The February 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
    February 11, 2020
    08:00 AM PT Take action: ESU security updates available for Windows 7 SP1, Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
    Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2008 SP2 reached end of support on January 14, 2020. For customers who have purchased Extended Security Updates (ESU), the first monthly ESU security updates are now available. If your organization has not yet been able to complete your transition to Windows 10, Windows Server 2016, or Windows Server 2019 and want to continue to receive security updates for your current version of Windows, you will need to purchase Extended Security Updates. For information on how to do so, please see How to get Extended Security Updates for eligible Windows devices, Windows 7 ESU frequently ask questions, and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 ESU frequently asked questions.

    We recommend ESU customers review the applicable KB article below for prerequisites and other important information you will need to deploy these updates.

    The following updates were released today for Windows Server 2008 SP2:
    The following updates were released today for Windows 7 SP1 and Windows Server 2008 R2 SP1:
    February 11, 2020
    08:00 AM PT - Resolved: Windows Search shows blank box
    We are aware of a temporary server-side issue causing Windows search to show a blank box. This issue has been resolved for most users and in some cases, you might need to restart your device. We are working diligently to fully resolve the issue and will provide an update once resolved. 

    This issue was resolved at 12:00 PM PST. If you are still experiencing issues, please restart your device. In rare cases, you may need to manually end the SearchUI.exe or SearchApp.exe process via Task Manager. (To locate these processes, select CTRL + Shift + Esc then select the Details tab.)
    February 05, 2020
    12:00 PM PT + Resolved: Windows Search shows blank box
    We are aware of a temporary server-side issue causing Windows search to show a blank box. This issue has been resolved for most users and in some cases, you might need to restart your device. We are working diligently to fully resolve the issue and will provide an update once resolved. 

    This issue was resolved at 12:00 PM PST. If you are still experiencing issues, please restart your device. In rare cases, to mitigate this issue you may need to manually end the SearchUI.exe or SearchApp.exe process via Task Manager. (To locate these processes, select CTRL + Shift + Esc then select the Details tab.) If you have restarted and tried the previous mitigations and are still encountering issues with Windows Search, you are not experiencing the issue described here. Please see Fix problems in Windows Search for other mitigations.
    February 05, 2020
    12:00 PM PT January 2020 Windows 10, version 1909 \"D\" optional release is available.
    The January 2020 optional monthly “D” release for Windows 10, version 1909 and Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
    January 28, 2020
    08:00 AM PT January 2020 Windows \"C\" optional release is available.
    The January 2020 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
    January 23, 2020
    12:00 PM PT Windows 7 has reached end of support
    Windows 7 reached end of support on January 14, 2020. If your organization has not yet been able to complete your transition from Windows 7 to Windows 10, and want to continue to receive security updates while you complete your upgrade projects, please read How to get Extended Security Updates for eligible Windows devices. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.
    January 15, 2020
    10:00 AM PT @@ -83,8 +83,6 @@ sections: Take Action: Internet Explorer 11 now available on Windows Update/WSUS for Windows Server 2012 and Windows Embedded 8 Standard
    Internet Explorer 11 (KB 4492872) is now available via Windows Update (WU) and Windows Server Update Services (WSUS) for commercial customers running Windows Server 2012 and Windows Embedded 8 Standard. For details about these changes and end of support for IE10, please refer to the IT Pro blog
    August 29, 2019
    08:00 AM PT Take action: SHA-2 code signing support guidance for Windows 7 SP1 and Windows Server 2008 RS2 SP1
    Windows 7 SP1 and Windows Server 2008 R2 SP1 update signatures are now SHA-2 based signatures and requires that SHA-2 support to be installed. For important customer guidance on installation and troubleshooting tips, please read the knowledge base article 2019 SHA-2 Code Signing Support requirement for Windows and WSUS.
    August 23, 2019
    03:35 PM PT Take action: Windows 10, version 1703 (the Windows 10 Creators Update) reaches end of life on October 9, 2019
    The Enterprise and Education editions of Windows 10, version 1703 (the Windows 10 Creators Update) will reach end of life on October 9, 2019. The Home, Pro, Pro for Workstations, and IoT Core editions reached end of service on October 8, 2018.

    There is no extended support available for any edition of Windows 10, version 1703. Therefore, it will no longer be supported after October 9, 2019 and will not receive monthly security and quality updates containing protections from the latest security threats.

    To continue receiving security and quality updates, Microsoft recommends that you update your devices to the latest version of Windows 10. For more information on end of service dates and currently supported versions of Windows 10, see the Windows lifecycle fact sheet.
    August 23, 2019
    02:17 PM PT - Resolved: Delays starting Internet Explorer 11
    On August 16, 2019 at 7:16 AM a server required for downloading the Internet Explorer 11 (IE11) startup page, went down. As a result of the server outage, IE 11 became unresponsive for some customers who had not yet installed the August 2019 security updates. Customers who had the August 2019 security update installed were not affected. In order to ensure your devices remain in a serviced and secure state, we recommend you install the latest monthly update.

    This issue was resolved on the server side at 1:00 pm PST. 
    August 16, 2019
    04:00 PM PT - Advisory: Windows Advanced Local Procedure Call Elevation of Privilege vulnerability disclosed (CVE-2019-1162)
    On August 13, 2019, Google Project Zero (GPZ) disclosed an Elevation of Privilege (EoP) vulnerability in how Windows handles calls to Advanced Local Procedure Call (ALPC) that affects Windows operating systems, versions 8.1 and higher. An attacker must already have code execution on the target system to leverage these vulnerabilities. Microsoft released security updates on August 13, 2019 that partially address this issue. Other items disclosed by GPZ require more time to address and we are working to release a resolution in mid-September. For more information, see CVE-2019-1162 | Windows ALPC Elevation of Privilege Vulnerability
    August 13, 2019
    10:00 AM PT Windows 10, version 1903 rollout begins
    The Windows 10 May 2019 Update (Windows 10, version 1903) is available today to commercial customers via Windows Server Update Services (WSUS), Windows Update for Business, and the Volume Licensing Service Center (VLSC)—and to end users who manually select “Check for updates.” We are slowly throttling up availability while we carefully monitor data and feedback.May 21, 2019
    10:00 AM PT " diff --git a/windows/security/identity-protection/credential-guard/credential-guard-manage.md b/windows/security/identity-protection/credential-guard/credential-guard-manage.md index 69155363d3..a7532b9ecf 100644 --- a/windows/security/identity-protection/credential-guard/credential-guard-manage.md +++ b/windows/security/identity-protection/credential-guard/credential-guard-manage.md @@ -141,7 +141,7 @@ You can also check that Windows Defender Credential Guard is running by using th DG_Readiness_Tool_v3.6.ps1 -Ready ``` > [!IMPORTANT] -> When running the Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool on a non-English operating system, within the script, change `*$OSArch = $(gwmi win32_operatingsystem).OSArchitecture` to be `$OSAch = $((gwmi win32_operatingsystem).OSArchitecture).tolower()` instead, in order for the tool to work. +> When running the Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool on a non-English operating system, within the script, change `*$OSArch = $(gwmi win32_operatingsystem).OSArchitecture` to be `$OSArch = $((gwmi win32_operatingsystem).OSArchitecture).tolower()` instead, in order for the tool to work. > This is a known issue. > [!NOTE] diff --git a/windows/security/threat-protection/microsoft-defender-atp/web-content-filtering.md b/windows/security/threat-protection/microsoft-defender-atp/web-content-filtering.md index 14439573d7..aa2f21d63e 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/web-content-filtering.md +++ b/windows/security/threat-protection/microsoft-defender-atp/web-content-filtering.md @@ -73,7 +73,7 @@ Cyren's web content classification technology is integrated by design into Micro Learn more at https://www.cyren.com/products/url-filtering. -### Cyren permissions +### Cyren Permissions "Sign in and read user profile" allows Cyren to read your tenant info from your Microsoft Defender ATP account, such as your tenant ID, which will be tied to your Cyren license. @@ -168,4 +168,4 @@ You need to be logged in to an AAD account with either App administrator or Glob - [Web protection overview](web-protection-overview.md) - [Web threat protection](web-threat-protection.md) - [Monitor web security](web-protection-monitoring.md) -- [Respond to web threats](web-protection-response.md) \ No newline at end of file +- [Respond to web threats](web-protection-response.md) From f1dc73c9c24a25e0efd442c8bff20809529ee183 Mon Sep 17 00:00:00 2001 From: Payge Winfield Date: Wed, 19 Feb 2020 14:30:45 -0800 Subject: [PATCH 078/150] removed question for FAQ --- devices/hololens/hololens-FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/hololens/hololens-FAQ.md b/devices/hololens/hololens-FAQ.md index ace8a93088..a50af81936 100644 --- a/devices/hololens/hololens-FAQ.md +++ b/devices/hololens/hololens-FAQ.md @@ -218,7 +218,7 @@ If your device isn't performing properly, see [Restart, reset, or recover HoloLe 1. **Does the HoloLens support branding?** 1. No. However, one work around is to create a custom app and enable Kiosk mode. The custom app can have branding which can then launch other apps (such as Remote Assist). Another option is to change all of the users profile pictures in AAD to your company logo. (However, this may not be desirable for all scenarios) 1. **What logging capabilities are available on HL1 and HL2?** - 1. Are the logging capabilities on HL1/HL2 similar to Windows computers? + 1. Logging is limited to traces captured in developer/troubleshooting scenarios or telemetry sent to Microsoft servers. ## How do I delete all spaces? From ec6490a9bd75437b653435f38fbabadee545c7af Mon Sep 17 00:00:00 2001 From: Payge Winfield Date: Wed, 19 Feb 2020 14:44:49 -0800 Subject: [PATCH 079/150] Added a clarifying sentence. Corrected typo --- devices/hololens/hololens-commercial-infrastructure.md | 4 ++-- devices/hololens/hololens-requirements.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/devices/hololens/hololens-commercial-infrastructure.md b/devices/hololens/hololens-commercial-infrastructure.md index f241deb9fc..757084bb86 100644 --- a/devices/hololens/hololens-commercial-infrastructure.md +++ b/devices/hololens/hololens-commercial-infrastructure.md @@ -145,7 +145,7 @@ Read more about [installing apps on HoloLens](https://docs.microsoft.com/hololen ### Certificates -You can distribute certifcates through your MDM provider. If your company requires certificates, Intune supports PKCS, PFX, and SCEP. It is important to understand which certificate is right for your company. Please visit [here](https://docs.microsoft.com/intune/protect/certificates-configure) to determine which cert is best for you. If you plan to use certificates for HoloLens Authentication, PFX or SCEP may be right for you. +You can distribute certificates through your MDM provider. If your company requires certificates, Intune supports PKCS, PFX, and SCEP. It is important to understand which certificate is right for your company. Please visit [here](https://docs.microsoft.com/intune/protect/certificates-configure) to determine which cert is best for you. If you plan to use certificates for HoloLens Authentication, PFX or SCEP may be right for you. Steps for SCEP can be found [here](https://docs.microsoft.com/intune/protect/certificates-profile-scep). @@ -184,4 +184,4 @@ Certificates can be deployed via you MDM (see "certificates" in the [MDM Section ## Next (Optional) Step: [Configure HoloLens using a provisioning package](hololens-provisioning.md) -## Next Step: [Enroll your device](hololens-enroll-mdm.md) \ No newline at end of file +## Next Step: [Enroll your device](hololens-enroll-mdm.md) diff --git a/devices/hololens/hololens-requirements.md b/devices/hololens/hololens-requirements.md index f856f571e8..139648349b 100644 --- a/devices/hololens/hololens-requirements.md +++ b/devices/hololens/hololens-requirements.md @@ -31,7 +31,7 @@ This document also assumes that the HoloLens has been evaluated by security team ## Step 1. Determine what you need -Before deploying the HoloLens in your environment, it is important to first determine what features, apps, and type of identities are needed. +Before deploying the HoloLens in your environment, it is important to first determine what features, apps, and type of identities are needed. It is also important to ensure that your security team has approved of the use of the HoloLens on the company's network. Please see [Frequently ask security questions](hololens-faq-security.md) for additional security information. ### Type of Features From e1fca675876f0c5dbdc34313a49be28f2976380a Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Wed, 19 Feb 2020 15:32:32 -0800 Subject: [PATCH 080/150] Microsoft Secure Score --- .../microsoft-defender-atp/advanced-features.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md b/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md index bf486af90d..4b41111aaa 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md +++ b/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md @@ -108,6 +108,10 @@ The integration with Azure Advanced Threat Protection allows you to pivot direct >[!NOTE] >You'll need to have the appropriate license to enable this feature. +## Microsoft Secure Score + +Forwards Microsoft Defender ATP signals to Microsoft Secure Score in the Microsoft 365 security center. Turning this feature on gives Microsoft Secure Score visibility into the devices security posture. Forwarded data is stored and processed in the same location as the your Microsoft Secure Score data. + ### Enable the Microsoft Defender ATP integration from the Azure ATP portal To receive contextual machine integration in Azure ATP, you'll also need to enable the feature in the Azure ATP portal. From 945b02e61d8bcc86465baee35b790322244aeb58 Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Wed, 19 Feb 2020 15:48:08 -0800 Subject: [PATCH 081/150] Add Windows Insider release notes to Insider page Adding several new features to the Windows Insider page. Key points on FIDO, Voice commands, Flashing, and provision via USB. @scooley --- devices/hololens/hololens-insider.md | 55 ++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/devices/hololens/hololens-insider.md b/devices/hololens/hololens-insider.md index 633f296a3e..580dc86a34 100644 --- a/devices/hololens/hololens-insider.md +++ b/devices/hololens/hololens-insider.md @@ -12,7 +12,6 @@ ms.date: 1/6/2020 ms.reviewer: manager: dansimp appliesto: -- HoloLens (1st gen) - HoloLens 2 --- @@ -22,7 +21,7 @@ Welcome to the latest Insider Preview builds for HoloLens! It’s simple to get ## Start receiving Insider builds -On a device running the Windows 10 April 2018 Update, go to **Settings** -> **Update & Security** -> **Windows Insider Program** and select **Get started**. Link the account you used to register as a Windows Insider. +On a HoloLens 2 device go to **Settings** -> **Update & Security** -> **Windows Insider Program** and select **Get started**. Link the account you used to register as a Windows Insider. Then, select **Active development of Windows**, choose whether you’d like to receive **Fast** or **Slow** builds, and review the program terms. @@ -30,7 +29,7 @@ Select **Confirm -> Restart Now** to finish up. After your device has rebooted, ## Stop receiving Insider builds -If you no longer want to receive Insider builds of Windows Holographic, you can opt out when your HoloLens is running a production build, or you can [recover your device](hololens-recovery.md) using the Windows Device Recovery Tool to recover your device to a non-Insider version of Windows Holographic. +If you no longer want to receive Insider builds of Windows Holographic, you can opt out when your HoloLens is running a production build, or you can [recover your device](hololens-recovery.md) using the Advanced Recovery Companion to recover your device to a non-Insider version of Windows Holographic. To verify that your HoloLens is running a production build: @@ -52,3 +51,53 @@ Please use [the Feedback Hub app](hololens-feedback.md) on your HoloLens to prov ## Note for developers You are welcome and encouraged to try developing your applications using Insider builds of HoloLens. Check out the [HoloLens Developer Documentation](https://developer.microsoft.com/windows/mixed-reality/development) to get started. Those same instructions work with Insider builds of HoloLens. You can use the same builds of Unity and Visual Studio that you're already using for HoloLens development. + + +# Windows Insider Release Notes + +HoloLens 2 Windows Insider builds are full of new features and improvements. Sign up for Windows Insider Fast or Slow flights to test them out! +Here's a quick summary of what's new: + +- Support for FIDO2 Security Keys to enable secure and easy authentication for shared devices +- Seamlessly apply a provisioning package from a USB drive to your HoloLens +- Use a provisioning packages to enroll your HoloLens to your Mobile Device Management system +- Use Windows AutoPilot to set up and pre-configure new devices, quickly getting them ready for productive use. Send a note to hlappreview@service.microsoft.com to join the preview. +- Dark Mode - many Windows apps support both dark and light modes, and now HoloLens customers can choose the default mode for apps that support both color schemes! Based on customer feedback, with this update we are setting the default app mode to "dark," but you can easily change this setting at any time. Navigate to Settings > System > Colors to find "Choose your default app mode." +- Support for additional system voice commands +- Hand Tracking improvements to reduce the tendency to close the index finger when pointing. This should make button pressing and 2D slate usage feel more accurate +- Performance and stability improvements across the product +- More information in settings on HoloLens about the policy pushed to the device + +Once you’ve had a chance to explore these new capabilities, use the Feedback Hub app to let us know what you think. Feedback you provide in the Feedback Hub goes directly to our engineers. + +## FIDO 2 support +Many of you share a HoloLens with lots of people in a work or school environment. Whether devices are shared between students in a classroom or they're checked out from a device locker, it's important to be able to change users quickly and easily without typing long user names and passwords. FIDO lets anyone in your organization (AAD tenant) seamlessly sign in to HoloLens without entering a username or password. + +Read the [passwordless security docs](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key) to get started. + +## Provisioning package updates +Provisioning packages let you set HoloLens configuration through a config file rather than going through the HoloLens out of box experience. Previously, provisioning packages had to be copied onto HoloLens' internal memory, now they can be on a USB drive so they're easier to re-use on multiple HoloLens and so more people can provision HoloLens in parallel. + +1. To try it out, download the latest version of the Windows Configuration Designer from the Windows store onto your PC. +1. Select **Provision HoloLens Devices** > Select **Provision HoloLens 2 devices** +1. Build your configuration profile and, when you're done, copy all files created to a USB-C storage device. +1. Plug it into any freshly flashed HoloLens and press **Volume down + Power** to apply your provisioning package. + +## System voice commands +You can now can access these commands with your voice: +- "Restart device" +- "Shutdown device" +- "Brightness up" +- "Brightness down" +- "Volume up" +- "Volume down" +- "What is my IP address?" +If you're running your system with a different language, please try the appropriate commands in that language. + +## FFU download and flash directions +To test with a flight signed ffu, you first have to flight unlock your device prior to flashing the flight signed ffu. +1. On PC + 1. Download ffu to your PC from: [https://aka.ms/hololenspreviewdownload](https://aka.ms/hololenspreviewdownload) + 1. Install ARC (Advanced Recovery Companion) from the Microsoft Store: [https://www.microsoft.com/store/productId/9P74Z35SFRS8](https://www.microsoft.com/store/productId/9P74Z35SFRS8) +1. On HoloLens - Flight Unlock: Open **Settings** > **Update & Security** > **Windows Insider Program** then sign up, reboot device +1. Flash FFU - Now you can flash the flight signed FFU using ARC From 7ea3887253a1eb48425fa8fc6635deb5048f1765 Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Wed, 19 Feb 2020 16:14:08 -0800 Subject: [PATCH 082/150] Updating headers to Insider release notes --- devices/hololens/hololens-insider.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/devices/hololens/hololens-insider.md b/devices/hololens/hololens-insider.md index 580dc86a34..9e30e0d48f 100644 --- a/devices/hololens/hololens-insider.md +++ b/devices/hololens/hololens-insider.md @@ -53,7 +53,7 @@ Please use [the Feedback Hub app](hololens-feedback.md) on your HoloLens to prov You are welcome and encouraged to try developing your applications using Insider builds of HoloLens. Check out the [HoloLens Developer Documentation](https://developer.microsoft.com/windows/mixed-reality/development) to get started. Those same instructions work with Insider builds of HoloLens. You can use the same builds of Unity and Visual Studio that you're already using for HoloLens development. -# Windows Insider Release Notes +## Windows Insider Release Notes HoloLens 2 Windows Insider builds are full of new features and improvements. Sign up for Windows Insider Fast or Slow flights to test them out! Here's a quick summary of what's new: @@ -70,12 +70,12 @@ Here's a quick summary of what's new: Once you’ve had a chance to explore these new capabilities, use the Feedback Hub app to let us know what you think. Feedback you provide in the Feedback Hub goes directly to our engineers. -## FIDO 2 support +### FIDO 2 support Many of you share a HoloLens with lots of people in a work or school environment. Whether devices are shared between students in a classroom or they're checked out from a device locker, it's important to be able to change users quickly and easily without typing long user names and passwords. FIDO lets anyone in your organization (AAD tenant) seamlessly sign in to HoloLens without entering a username or password. Read the [passwordless security docs](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key) to get started. -## Provisioning package updates +### Provisioning package updates Provisioning packages let you set HoloLens configuration through a config file rather than going through the HoloLens out of box experience. Previously, provisioning packages had to be copied onto HoloLens' internal memory, now they can be on a USB drive so they're easier to re-use on multiple HoloLens and so more people can provision HoloLens in parallel. 1. To try it out, download the latest version of the Windows Configuration Designer from the Windows store onto your PC. @@ -83,7 +83,7 @@ Provisioning packages let you set HoloLens configuration through a config file r 1. Build your configuration profile and, when you're done, copy all files created to a USB-C storage device. 1. Plug it into any freshly flashed HoloLens and press **Volume down + Power** to apply your provisioning package. -## System voice commands +### System voice commands You can now can access these commands with your voice: - "Restart device" - "Shutdown device" @@ -94,7 +94,7 @@ You can now can access these commands with your voice: - "What is my IP address?" If you're running your system with a different language, please try the appropriate commands in that language. -## FFU download and flash directions +### FFU download and flash directions To test with a flight signed ffu, you first have to flight unlock your device prior to flashing the flight signed ffu. 1. On PC 1. Download ffu to your PC from: [https://aka.ms/hololenspreviewdownload](https://aka.ms/hololenspreviewdownload) From 24a36e869f0ff88e2a63e5e325c7309024a4e888 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 19 Feb 2020 16:17:56 -0800 Subject: [PATCH 083/150] table update --- windows/deployment/windows-autopilot/add-devices.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/deployment/windows-autopilot/add-devices.md b/windows/deployment/windows-autopilot/add-devices.md index e674b3196e..cb55dd325b 100644 --- a/windows/deployment/windows-autopilot/add-devices.md +++ b/windows/deployment/windows-autopilot/add-devices.md @@ -135,7 +135,7 @@ A summary of each platform's capabilities is provided below.
    -Microsoft Store for Business4 +Microsoft Store for Business YES - 1000 at a time max YES4 4K HH @@ -153,7 +153,8 @@ A summary of each platform's capabilities is provided below.
    >1Microsoft recommended platform to use
    >2Intune license required
    >3Feature capabilities are limited
    ->4To be retired
    +>4Device profile assignment will be retired from MSfB and Partner Center in the coming months
    + Also see the following topics for more information about device IDs: - [Device identification](#device-identification) From 3119273924ea6c5d4f7bb625e57ff6e2928448f8 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Wed, 19 Feb 2020 16:20:33 -0800 Subject: [PATCH 084/150] . --- .../linux-install-manually.md | 15 +++++++------- .../linux-install-with-ansible.md | 8 ++++---- .../linux-install-with-puppet.md | 8 ++++---- .../microsoft-defender-atp/linux-updates.md | 20 ++++++++++++------- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index cbb09354b6..9626030b11 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -27,8 +27,8 @@ ms.topic: conceptual This topic describes how to deploy Microsoft Defender ATP for Linux manually. A successful deployment requires the completion of all of the following steps: - [Configure Microsoft's Linux Software Repository](#configure-microsoft-linux-software-repository) -- [Download onboarding packages](#download-onboarding-package) - [Application installation](#application-installation) +- [Download onboarding packages](#download-onboarding-package) - [Client configuration](#client-configuration) ## Prerequisites and system requirements @@ -37,7 +37,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic ## Configure Microsoft Linux Software Repository -Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. Instructions for configuring your device to use this repository are provided below. +Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. Instructions for configuring your device to use one of these repositories are provided below. The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insider-fast* can try out new features before devices in *prod*. @@ -50,7 +50,7 @@ In order to preview new features and provide early feedback, it is recommended t In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step: > [!NOTE] - > In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. + > In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. ```bash $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/[distro]/[version]/[channel].repo @@ -100,7 +100,7 @@ In order to preview new features and provide early feedback, it is recommended t ### Ubuntu and Debian systems -- Install `‘curl’` if not already installed: +- Install `curl` if it is not already installed: ```bash $ sudo apt-get install curl @@ -177,8 +177,8 @@ In order to preview new features and provide early feedback, it is recommended t Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In Section 1 of the page, set operating system to **Linux Server** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip. +2. In the first drop down, select **Linux Server** as the operating system. In the second drop down, select **Local Script (for up to 10 machines)** as the deployment method. +3. Click on **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux.png) @@ -234,8 +234,7 @@ Download the onboarding package from Microsoft Defender Security Center: 1 ``` - - Open a Terminal window -Copy and run the command below: + - Open a Terminal window. Copy and execute the following command: ``` bash $ curl -o ~/Downloads/eicar.com.txt http://www.eicar.org/download/eicar.com.txt diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 930f27761c..ebe4a8e842 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -26,7 +26,7 @@ ms.topic: conceptual This topic describes how to deploy Microsoft Defender ATP for Linux through Ansible. A successful deployment requires the completion of all of the following steps: -- [Download the onboarding packages](#download-onboarding-package) +- [Download onboarding package](#download-onboarding-package) - [Create Ansible YAML files](#create-ansible-yaml-files) - [Deployment](#deployment) - [References](#references) @@ -61,8 +61,8 @@ Before you get started, please see [the main Microsoft Defender ATP for Linux pa Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, set operating system to **Linux Server** and in second drop down, Deployment method to **Your preferred Linux configuration management tool**. -3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. +2. In the first drop down, select **Linux Server** as the operating system. In the second drop down, select **Your preferred Linux configuration management tool** as the deployment method. +3. Click on **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux-2.png) @@ -140,7 +140,7 @@ Create subtask / role files which contribute to an actual task. Create the below In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. > [!NOTE] - > In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. + > In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. - For apt-based distributions use the following YAML file: diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index 5fdc1c6ff3..783fd9d3ad 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -26,7 +26,7 @@ ms.topic: conceptual This topic describes how to deploy Microsoft Defender ATP for Linux through Puppet. A successful deployment requires the completion of all of the following steps: -- [Download installation and onboarding packages](#download-onboarding-package) +- [Download onboarding packages](#download-onboarding-package) - [Create Puppet manifest](#create-puppet-manifest) - [Deployment](#deployment) - [Check onboarding status](#check-onboarding-status) @@ -42,8 +42,8 @@ In addition, for Puppet deployment, you need to be familiar with Puppet administ Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, set operating system to **Linux Server** and in second drop down, Deployment method to **Your preferred Linux configuration management tool**. -3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. +2. In the first drop down, select **Linux Server** as the operating system. In the second drop down, select **Your preferred Linux configuration management tool** as the deployment method. +3. Click on **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux-2.png) @@ -89,7 +89,7 @@ Note your distribution and version and identify the closest entry for it under ` In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. > [!NOTE] -> In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. +> In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. ```puppet class install_mdatp { diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md index 2d951143c0..0870f1d408 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md @@ -28,14 +28,20 @@ Microsoft regularly publishes software updates to improve performance, security, To update Microsoft Defender ATP for Linux manually, execute the following command: -- ### For Debian family distros - -```bash -sudo apt-get install --only-upgrade mdatp -``` - -- ### For Redhat family distros +## RHEL and variants (CentOS and Oracle EL) ```bash sudo yum update mdatp ``` + +## SLES and variants + +```bash +sudo zypper update mdatp +``` + +## Ubuntu and Debian systems + +```bash +sudo apt-get install --only-upgrade mdatp +``` From 2254bc64f1eb620ebcb211797fae6b3cdd915a05 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Thu, 20 Feb 2020 08:35:45 +0500 Subject: [PATCH 085/150] Update manage-surface-uefi-settings.md --- devices/surface/manage-surface-uefi-settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devices/surface/manage-surface-uefi-settings.md b/devices/surface/manage-surface-uefi-settings.md index d205908048..9932a573bc 100644 --- a/devices/surface/manage-surface-uefi-settings.md +++ b/devices/surface/manage-surface-uefi-settings.md @@ -39,7 +39,7 @@ The PC information page includes detailed information about your Surface device: - **UUID** – This Universally Unique Identification number is specific to your device and is used to identify the device during deployment or management. - **Serial Number** – This number is used to identify this specific Surface device for asset tagging and support scenarios. -- **Asset Tag** – The asset tag is assigned to the Surface device with the [Asset Tag Tool](https://www.microsoft.com/download/details.aspx?id=44076). +- **Asset Tag** – The asset tag is assigned to the Surface device with the [Asset Tag Tool](https://docs.microsoft.com/surface/assettag). You will also find detailed information about the firmware of your Surface device. Surface devices have several internal components that each run different versions of firmware. The firmware version of each of the following devices is displayed on the **PC information** page (as shown in Figure 1): @@ -214,4 +214,4 @@ When you update Surface device firmware, by using either Windows Update or manua - [Intune management of Surface UEFI settings](surface-manage-dfci-guide.md) -- [Surface Enterprise Management Mode](surface-enterprise-management-mode.md) \ No newline at end of file +- [Surface Enterprise Management Mode](surface-enterprise-management-mode.md) From 02242dc5492fe542d7411f79c22dda04003288c2 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Wed, 19 Feb 2020 20:28:04 -0800 Subject: [PATCH 086/150] . --- .../microsoft-defender-atp/linux-resources.md | 5 +++-- .../microsoft-defender-atp/microsoft-defender-atp-linux.md | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md index e3e5cf0f15..bacff9314f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md @@ -68,8 +68,9 @@ There are several ways to uninstall Microsoft Defender ATP for Linux. If you are ### Manual uninstallation -- ```sudo apt-get purge mdatp``` for Debian and Ubuntu systems -- ```sudo yum remove mdatp``` for RHEL, Oracle Linux, and CentOS based systems +- ```sudo yum remove mdatp``` for RHEL and variants(CentOS and Oracle EL) +- ```sudo zypper remove mdatp``` for SLES and variants +- ```sudo apt-get purge mdatp``` for Ubuntu and Debian systems ## Configuring from the command line diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md index 0f13038052..ee8cc752fb 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md @@ -59,7 +59,7 @@ In general you need to take the following steps: - Oracle Enterprise Linux 7 - Minimum kernel version 2.6.38 -- The *fanotify* kernel option must be enabled +- The `fanotify` kernel option must be enabled - Disk space: 650 MB After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. From 0197775acaad7f046bd5ed5711738890fe78163e Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Wed, 19 Feb 2020 20:35:03 -0800 Subject: [PATCH 087/150] . --- .../microsoft-defender-atp-linux.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md index ee8cc752fb..f42311c713 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md @@ -25,6 +25,7 @@ This topic describes how to install, configure, update, and use Microsoft Defend > [!CAUTION] > Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. + ## How to install Microsoft Defender ATP for Linux ### Prerequisites @@ -33,6 +34,15 @@ This topic describes how to install, configure, update, and use Microsoft Defend - Beginner-level experience in Linux and BASH scripting - Administrative privileges on the device (in case of manual deployment) +### Known Issues + +- Logged on users do not appear in the ATP portal +- In SUSE distributions, if installation of *libatomic1* fails, validate that your OS is registered: + +```bash +$ sudo SUSEConnect --status-text +``` + ### Installation instructions There are several methods and deployment tools that you can use to install and configure Microsoft Defender ATP for Linux. @@ -109,15 +119,6 @@ Microsoft regularly publishes software updates to improve performance, security, Guidance for how to configure the product in enterprise environments is available in [Set preferences for Microsoft Defender ATP for Linux](linux-preferences.md). -## Known Issues - -- Logged on users do not appear in the ATP portal -- In SUSE distributions, if installation of *libatomic1* fails, validate that your OS is registered: - -```bash -$ sudo SUSEConnect --status-text -``` - ## Resources - For more information about logging, uninstalling, or other topics, see the [Resources](linux-resources.md) page. From d274b135623db15731244581762e9232847b181a Mon Sep 17 00:00:00 2001 From: andreiztm Date: Thu, 20 Feb 2020 07:04:54 +0200 Subject: [PATCH 088/150] Correcting outdated requirements --- windows/deployment/volume-activation/install-vamt.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/volume-activation/install-vamt.md b/windows/deployment/volume-activation/install-vamt.md index 86f5ade189..fa6196d4f9 100644 --- a/windows/deployment/volume-activation/install-vamt.md +++ b/windows/deployment/volume-activation/install-vamt.md @@ -32,8 +32,8 @@ You install VAMT as part of the Windows Assessment and Deployment Kit (ADK) for ### Requirements -- [Windows Server with Desktop Experience](https://docs.microsoft.com/windows-server/get-started/getting-started-with-server-with-desktop-experience), with internet access and all updates applied -- [Windows 10, version 1809 ADK](https://go.microsoft.com/fwlink/?linkid=2026036) +- [Windows Server with Desktop Experience](https://docs.microsoft.com/windows-server/get-started/getting-started-with-server-with-desktop-experience), with internet access (for the main VAMT console) and all updates applied +- [Windows 10, version 1903 ADK](https://go.microsoft.com/fwlink/?linkid=2086042) - [SQL Server 2017 Express](https://www.microsoft.com/sql-server/sql-server-editions-express) - alternatively any full SQL instance e.g. SQL Server 2014 or newer incl. CU / SP From 8abc55d6be73ff4c14a4381be50eb57ad7598e7e Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 20 Feb 2020 16:12:05 +0200 Subject: [PATCH 089/150] Streaming API - Machine group information --- .../microsoft-defender-atp/raw-data-export-event-hub.md | 1 + .../microsoft-defender-atp/raw-data-export-storage.md | 1 + 2 files changed, 2 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md b/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md index a617060626..0b3f53d6f2 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md +++ b/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md @@ -63,6 +63,7 @@ Want to experience Microsoft Defender ATP? [Sign up for a free trial.](https://w - Each event hub message in Azure Event Hubs contains list of records. - Each record contains the event name, the time Microsoft Defender ATP received the event, the tenant it belongs (you will only get events from your tenant), and the event in JSON format in a property called "**properties**". - For more information about the schema of Microsoft Defender ATP events, see [Advanced Hunting overview](advanced-hunting-overview.md). +- In Advanced Hunting, the **DeviceInfo** table has a column named **MachineGroup** which contains the group of the machine. Here every event will be decorated with this column as well. See [Machine Groups](machine-groups.md) for more information. ## Data types mapping: diff --git a/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-storage.md b/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-storage.md index f0c242ed3a..682cc7e7d9 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-storage.md +++ b/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-storage.md @@ -64,6 +64,7 @@ Want to experience Microsoft Defender ATP? [Sign up for a free trial.](https://w - Each blob contains multiple rows. - Each row contains the event name, the time Microsoft Defender ATP received the event, the tenant it belongs (you will only get events from your tenant), and the event in JSON format in a property called "properties". - For more information about the schema of Microsoft Defender ATP events, see [Advanced Hunting overview](advanced-hunting-overview.md). +- In Advanced Hunting, the **DeviceInfo** table has a column named **MachineGroup** which contains the group of the machine. Here every event will be decorated with this column as well. See [Machine Groups](machine-groups.md) for more information. ## Data types mapping: From 430b9aa01ee2bf85615d5576f86fb43929a4a81e Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Thu, 20 Feb 2020 08:19:33 -0800 Subject: [PATCH 090/150] Adding in requested changes from scooley. Made requested changes. --- devices/hololens/hololens-FAQ.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/devices/hololens/hololens-FAQ.md b/devices/hololens/hololens-FAQ.md index c91612ffa0..3ddc7325a9 100644 --- a/devices/hololens/hololens-FAQ.md +++ b/devices/hololens/hololens-FAQ.md @@ -45,7 +45,7 @@ This FAQ addresses the following questions and issues: - [My HoloLens isn't running well, is unresponsive, or won't start](#my-hololens-isnt-running-well-is-unresponsive-or-wont-start) - [How do I delete all spaces?](#how-do-i-delete-all-spaces) - [I cannot find or use the keyboard to type in the HoloLens 2 Emulator](#i-cannot-find-or-use-the-keyboard-to-type-in-the-hololens-2-emulator) -- [I can't log in to a HoloLens because it was previously set up for someone else](#I-cant-log-in-to-a-HoloLens-because-it-was-previously-set-up-for-someone-else) +- [I can't log in to a HoloLens because it was previously set up for someone else](#i-cant-log-in-to-a-hololens-because-it-was-previously-set-up-for-someone-else) ## My holograms don't look right or are moving around @@ -208,8 +208,8 @@ If your device isn't performing properly, see [Restart, reset, or recover HoloLe ## I can't log in to a HoloLens because it was previously set up for someone else If your device was previously set up for someone else, either a client or former employee and you don't have their password to unlock the device there are two solutions. -- If your device is MDM managed by Intune then you can remotely [Wipe](/IntuneDocs/intune/remote-actions/devices-wipe/) the device and it'll reflash itself. Make sure to leave **Retain enrollment state and user account** unchecked. -- If you have the device with you then you can put the device into **Flashing Mode** and use Advanced Recovery Companion to [recover](https://docs.microsoft.com/hololens/hololens-recovery?branch=master#hololens-2) the device. +- If your device is MDM managed by Intune then you can remotely [Wipe](https://docs.microsoft.com/intune/remote-actions/devices-wipe) the device and it'll reflash itself. Make sure to leave **Retain enrollment state and user account** unchecked. +- If you have the device with you then you can put the device into **Flashing Mode** and use Advanced Recovery Companion to [recover](https://docs.microsoft.com/hololens/hololens-recovery) the device. [Back to list](#list) From 995f9398500718f84845702eaf45fc19e8753c39 Mon Sep 17 00:00:00 2001 From: Todd Lyon <19413953+tmlyon@users.noreply.github.com> Date: Thu, 20 Feb 2020 11:44:34 -0800 Subject: [PATCH 091/150] Update hololens-insider.md fixing bulleted list formatting --- devices/hololens/hololens-insider.md | 1 + 1 file changed, 1 insertion(+) diff --git a/devices/hololens/hololens-insider.md b/devices/hololens/hololens-insider.md index 9e30e0d48f..3d8c8eb80a 100644 --- a/devices/hololens/hololens-insider.md +++ b/devices/hololens/hololens-insider.md @@ -92,6 +92,7 @@ You can now can access these commands with your voice: - "Volume up" - "Volume down" - "What is my IP address?" + If you're running your system with a different language, please try the appropriate commands in that language. ### FFU download and flash directions From fa23dcd0a23241cfb716d5d9143490e0425a480d Mon Sep 17 00:00:00 2001 From: martyav Date: Thu, 20 Feb 2020 15:53:25 -0500 Subject: [PATCH 092/150] updated description of 1 asr rule --- .../microsoft-defender-atp/attack-surface-reduction.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md b/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md index 0da23ce0b5..30c2d9dac6 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md +++ b/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md @@ -134,15 +134,15 @@ GUID: D4F940AB-401B-4EFC-AADC-AD5F3C50688A ### Block Office applications from creating executable content -This rule prevents Office apps, including Word, Excel, and PowerPoint, from creating executable content. +This rule prevents Office apps, including Word, Excel, and PowerPoint, from creating potentially malicious executable content. -This rule targets a typical behavior where malware uses Office as a vector to break out of Office and save malicious components to disk, where they persist and survive a computer reboot. This rule prevents malicious code from being written to disk. +Malware that abuse Office as a vector may attempt to break out of Office and save malicious components to disk. The malicious components saved to disk will survive a computer reboot and persist on the system. This rule prevents malicious code from being written to disk. -This rule was introduced in: Windows 10 1709, Windows Server 1809, Windows Server 2019, Configuration Manager CB 1710 +This rule was introduced in: Windows 10 1709, Windows Server 1809, Windows Server 2019, SCCM CB 1710 Intune name: Office apps/macros creating executable content -Configuration Manager name: Block Office applications from creating executable content +SCCM name: Block Office applications from creating executable content GUID: 3B576869-A4EC-4529-8536-B80A7769E899 From 3313d4ed20640ac07737db0ed09dcf6a2d66a71c Mon Sep 17 00:00:00 2001 From: martyav Date: Thu, 20 Feb 2020 16:08:21 -0500 Subject: [PATCH 093/150] some rewording --- .../microsoft-defender-atp/attack-surface-reduction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md b/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md index 30c2d9dac6..49e8e3074a 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md +++ b/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction.md @@ -134,9 +134,9 @@ GUID: D4F940AB-401B-4EFC-AADC-AD5F3C50688A ### Block Office applications from creating executable content -This rule prevents Office apps, including Word, Excel, and PowerPoint, from creating potentially malicious executable content. +This rule prevents Office apps, including Word, Excel, and PowerPoint, from creating potentially malicious executable content, by blocking malicious code from being written to disk. -Malware that abuse Office as a vector may attempt to break out of Office and save malicious components to disk. The malicious components saved to disk will survive a computer reboot and persist on the system. This rule prevents malicious code from being written to disk. + Malware that abuse Office as a vector may attempt to break out of Office and save malicious components to disk. These malicious components would survive a computer reboot and persist on the system. Therefore, this rule defends against a common persistence technique. This rule was introduced in: Windows 10 1709, Windows Server 1809, Windows Server 2019, SCCM CB 1710 From ac6c580fe88dfabd20ffe988454ef233ee2e9e67 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 14:23:01 -0800 Subject: [PATCH 094/150] Update TOC.md --- windows/security/threat-protection/TOC.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index c969d4994f..418d1ceaa9 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -103,10 +103,10 @@ ###### [Investigate entities on machines](microsoft-defender-atp/live-response.md) ###### [Live response command examples](microsoft-defender-atp/live-response-command-examples.md) -### [Automated investigation and remediation]() -#### [Automated investigation and remediation overview](microsoft-defender-atp/automated-investigations.md) -#### [Use the automated investigation and remediation dashboard](microsoft-defender-atp/manage-auto-investigation.md) -#### [Manage actions related to automated investigation and remediation](microsoft-defender-atp/auto-investigation-action-center.md) +### [Automated investigation and remediation (AIR)]() +#### [Overview of AIR](microsoft-defender-atp/automated-investigations.md) +#### [View details and results of automated investigations](microsoft-defender-atp/auto-investigation-action-center.md) +#### [View and approve remediation actions](microsoft-defender-atp/manage-auto-investigation.md) ### [Secure score](microsoft-defender-atp/overview-secure-score.md) ### [Threat analytics](microsoft-defender-atp/threat-analytics.md) From b723d354b16691c4dc5b864cb938970334d8fbad Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Thu, 20 Feb 2020 14:50:43 -0800 Subject: [PATCH 095/150] Updated with support for Pro x --- devices/surface/images/dataeraser-arch.png | Bin 0 -> 173037 bytes .../surface/microsoft-surface-data-eraser.md | 24 ++++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 devices/surface/images/dataeraser-arch.png diff --git a/devices/surface/images/dataeraser-arch.png b/devices/surface/images/dataeraser-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..07eb456002f6ea7c6cb663014dfeae5671670701 GIT binary patch literal 173037 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

    {> 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 LNkvXXu0mjfqK}|G literal 0 HcmV?d00001 diff --git a/devices/surface/microsoft-surface-data-eraser.md b/devices/surface/microsoft-surface-data-eraser.md index 0fe84fc0b1..a835026b8b 100644 --- a/devices/surface/microsoft-surface-data-eraser.md +++ b/devices/surface/microsoft-surface-data-eraser.md @@ -14,7 +14,7 @@ author: dansimp ms.author: dansimp ms.topic: article ms.audience: itpro -ms.date: 02/06/2020 +ms.date: 02/20/2020 --- # Microsoft Surface Data Eraser @@ -85,31 +85,33 @@ After the creation tool is installed, follow these steps to create a Microsoft S 2. Click **Build** to begin the Microsoft Surface Data Eraser USB creation process. - >[!NOTE] - >For Surface Pro X devices, select **ARM64**. for other Surface devices, select **x64**. - 3. Click **Start** to acknowledge that you have a USB stick of at least 4 GB connected, as shown in Figure 1. ![Start the Microsoft Surface Data Eraser tool](images/dataeraser-start-tool.png "Start the Microsoft Surface Data Eraser tool") *Figure 1. Start the Microsoft Surface Data Eraser tool* +4. Choose **x64** for most Surface devices or **ARM64** for Surface Pro X from the **Architecture Selection** page, as shown in Figure 2. Select **Continue**. -4. Select the USB drive of your choice from the **USB Thumb Drive Selection** page as shown in Figure 2, and then click **Start** to begin the USB creation process. The drive you select will be formatted and any existing data on this drive will be lost. + ![Architecture selection](images/dataeraser-arch.png "Architecture Selection")
    + *Figure 2. Select device architecture* + + +4. Select the USB drive of your choice from the **USB Thumb Drive Selection** page as shown in Figure 3, and then click **Start** to begin the USB creation process. The drive you select will be formatted and any existing data on this drive will be lost. >[!NOTE] >If the Start button is disabled, check that your removable drive has a total capacity of at least 4 GB. ![USB thumb drive selection](images/dataeraser-usb-selection.png "USB thumb drive selection") - *Figure 2. USB thumb drive selection* + *Figure 3. USB thumb drive selection* 5. After the creation process is finished, the USB drive has been formatted and all binaries are copied to the USB drive. Click **Success**. -6. When the **Congratulations** screen is displayed, you can eject and remove the thumb drive. This thumb drive is now ready to be inserted into a Surface device, booted from, and wipe any data on the device. Click **Complete** to finish the USB creation process, as shown in Figure 3. +6. When the **Congratulations** screen is displayed, you can eject and remove the thumb drive. This thumb drive is now ready to be inserted into a Surface device, booted from, and wipe any data on the device. Click **Complete** to finish the USB creation process, as shown in Figure 4. ![Surface Data Eraser USB creation process](images/dataeraser-complete-process.png "Surface Data Eraser USB creation process") - *Figure 3. Complete the Microsoft Surface Data Eraser USB creation process* + *Figure 4. Complete the Microsoft Surface Data Eraser USB creation process* 7. Click **X** to close Microsoft Surface Data Eraser. @@ -133,11 +135,11 @@ After you create a Microsoft Surface Data Eraser USB stick, you can boot a suppo >[!NOTE] >If your device does not boot to USB using these steps, you may need to turn on the **Enable Alternate Boot Sequence** option in Surface UEFI. You can read more about Surface UEFI boot configuration in [Manage Surface UEFI Settings](https://technet.microsoft.com/itpro/surface/manage-surface-uefi-settings). -3. When the Surface device boots, a **SoftwareLicenseTerms** text file is displayed, as shown in Figure 4. +3. When the Surface device boots, a **SoftwareLicenseTerms** text file is displayed, as shown in Figure 5. ![Booting the Microsoft Surface Data Eraser USB stick](images/data-eraser-3.png "Booting the Microsoft Surface Data Eraser USB stick") - *Figure 4. Booting the Microsoft Surface Data Eraser USB stick* + *Figure 5. Booting the Microsoft Surface Data Eraser USB stick* 4. Read the software license terms, and then close the Notepad file. @@ -150,7 +152,7 @@ After you create a Microsoft Surface Data Eraser USB stick, you can boot a suppo ![Partition to be erased is displayed](images/sda-fig5-erase.png "Partition to be erased is displayed") - *Figure 5. Partition to be erased is displayed in Microsoft Surface Data Eraser* + *Figure 6. Partition to be erased is displayed in Microsoft Surface Data Eraser* 7. If you pressed **Y** in step 6, due to the destructive nature of the data erasure process, an additional dialog box is displayed to confirm your choice. From 349ef5b90eebe4630bf20a026f03da3f8337c554 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 14:52:42 -0800 Subject: [PATCH 096/150] AutoIR revisions --- .../auto-investigation-action-center.md | 42 ++++++++++++------ .../images/mdatp-investigations.jpg | Bin 0 -> 47514 bytes 2 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/mdatp-investigations.jpg diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index 67192e12e8..c2c022f1ad 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -1,14 +1,14 @@ --- -title: Manage actions related to automated investigation and remediation -description: Use the action center to manage actions related to automated investigation and response +title: View details and results of automated investigations +description: Use the action center to view details and results following an automated investigation keywords: action, center, autoir, automated, investigation, response, remediation search.product: eADQiWindows 10XVcnh ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security -ms.author: macapara -author: mjcaparas +ms.author: deniseb +author: denisebmsft ms.localizationpriority: medium manager: dansimp audience: ITPro @@ -16,27 +16,41 @@ ms.collection: M365-security-compliance ms.topic: article --- -# Manage actions related to automated investigation and remediation +# View details and results of automated investigations -The Action center aggregates all investigations that require an action for an investigation to proceed or be completed. +When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. -![Image of Action center page](images/action-center.png) +Pending and completed actions are listed in the Action center ([https://securitycenter.windows.com/action-center](https://securitycenter.windows.com/action-center)) and the Investigations list ([https://securitycenter.windows.com/investigations](https://securitycenter.windows.com/investigations)). -The action center consists of two main tabs: -- Pending actions - Displays a list of ongoing investigations that require attention. A recommended action is presented to the analyst, which they can approve or reject. -- History - Acts as an audit log for: - - All actions taken by AutoIR or approved by an analyst with ability to undo actions that support this capability (for example, quarantine file). - - All commands ran and remediation actions applied in Live Response with ability to undo actions that support this capability. - - Remediation actions applied by Windows Defender AV with ability to undo actions that support this capability. +## The Action center + +![Action center page](images/action-center.png) + +The action center consists of two main tabs, as described in the following table. + + +|Tab |Description | +|---------|---------| +|Pending actions |Displays a list of ongoing investigations that require attention. Recommended actions are presented that your security operations team can approve or reject. | +|History |Acts as an audit log for all of the following:
    - All actions taken by automated investigation and remediation in Microsoft Defender ATP
    Actions that were approved by your security operations team (some actions, such as sending a file to quarantine, can be undone)
    - All commands ran and remediation actions that were applied in Live Response (some actions can be undone)
    - Remediation actions applied by Windows Defender Antivirus (some actions can be undone) | Use the Customize columns drop-down menu to select columns that you'd like to show or hide. From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. - >[!NOTE] >The tab will only appear if there are pending actions for that category. +## Investigations page + +![Investigations page](images/mdatp-investigations.jpg) + +On the **Investigations** page, you'll find a list of all automated investigations. Select an item in the list to view additional information about that automated investigation. + +Use the Customize columns drop-down menu to select columns that you'd like to show or hide. + +From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. + ### Approve or reject an action You'll need to manually approve or reject pending actions on each of these categories for the automated actions to proceed. diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/mdatp-investigations.jpg b/windows/security/threat-protection/microsoft-defender-atp/images/mdatp-investigations.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6fe755e85762552d398e0605eb6f387d40fdd4cf GIT binary patch literal 47514 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 X5&E`50Ribo21huyBH|Zeo8A8dtRvYf literal 0 HcmV?d00001 From 3871e806bb94da85443017025760e30f0d5603b2 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 14:55:40 -0800 Subject: [PATCH 097/150] Update auto-investigation-action-center.md --- .../auto-investigation-action-center.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index c2c022f1ad..dba3b17e10 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -34,7 +34,7 @@ The action center consists of two main tabs, as described in the following table |Pending actions |Displays a list of ongoing investigations that require attention. Recommended actions are presented that your security operations team can approve or reject. | |History |Acts as an audit log for all of the following:
    - All actions taken by automated investigation and remediation in Microsoft Defender ATP
    Actions that were approved by your security operations team (some actions, such as sending a file to quarantine, can be undone)
    - All commands ran and remediation actions that were applied in Live Response (some actions can be undone)
    - Remediation actions applied by Windows Defender Antivirus (some actions can be undone) | -Use the Customize columns drop-down menu to select columns that you'd like to show or hide. +Use the **Customize columns** menu to select columns that you'd like to show or hide. From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. @@ -47,7 +47,7 @@ From this view, you can also download the entire list in CSV format using the ** On the **Investigations** page, you'll find a list of all automated investigations. Select an item in the list to view additional information about that automated investigation. -Use the Customize columns drop-down menu to select columns that you'd like to show or hide. +Use the **Customize columns** menu to select columns that you'd like to show or hide. From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. @@ -60,6 +60,6 @@ From the panel, you can click on the Open investigation page link to see the inv You also have the option of selecting multiple investigations to approve or reject actions on multiple investigations. -## Related topics -- [Automated investigation and investigation](automated-investigations.md) -- [Learn about the automated investigations dashboard](manage-auto-investigation.md) +Next steps + +[View and approve remediation actions](manage-auto-investigation.md) From 56d49316389123275b6dab099d25df484af96a20 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 15:27:24 -0800 Subject: [PATCH 098/150] Update auto-investigation-action-center.md --- .../auto-investigation-action-center.md | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index dba3b17e10..65b8232367 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -31,15 +31,13 @@ The action center consists of two main tabs, as described in the following table |Tab |Description | |---------|---------| -|Pending actions |Displays a list of ongoing investigations that require attention. Recommended actions are presented that your security operations team can approve or reject. | -|History |Acts as an audit log for all of the following:
    - All actions taken by automated investigation and remediation in Microsoft Defender ATP
    Actions that were approved by your security operations team (some actions, such as sending a file to quarantine, can be undone)
    - All commands ran and remediation actions that were applied in Live Response (some actions can be undone)
    - Remediation actions applied by Windows Defender Antivirus (some actions can be undone) | +|Pending actions |Displays a list of ongoing investigations that require attention. Recommended actions are presented that your security operations team can approve or reject.

    **NOTE**: The Pending tab appears only if there are pending actions to be approved (or rejected). | +|History |Acts as an audit log for all of the following:
    - All actions taken by automated investigation and remediation in Microsoft Defender ATP
    Actions that were approved by your security operations team (some actions, such as sending a file to quarantine, can be undone)
    - All commands ran and remediation actions that were applied in Live Response sessions (some actions can be undone)
    - Remediation actions that were applied by Windows Defender Antivirus (some actions can be undone) | Use the **Customize columns** menu to select columns that you'd like to show or hide. -From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. +You can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. ->[!NOTE] ->The tab will only appear if there are pending actions for that category. ## Investigations page @@ -51,15 +49,6 @@ Use the **Customize columns** menu to select columns that you'd like to show or From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. -### Approve or reject an action -You'll need to manually approve or reject pending actions on each of these categories for the automated actions to proceed. - -Selecting an investigation from any of the categories opens a panel where you can approve or reject the remediation. Other details such as file or service details, investigation details, and alert details are displayed. - -From the panel, you can click on the Open investigation page link to see the investigation details. - -You also have the option of selecting multiple investigations to approve or reject actions on multiple investigations. - -Next steps +## Next steps [View and approve remediation actions](manage-auto-investigation.md) From 9746ba9a94cff09b6a835acc27d05e406d409b92 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Thu, 20 Feb 2020 15:45:23 -0800 Subject: [PATCH 099/150] Added final comments --- windows/client-management/mdm/policy-csp-bluetooth.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policy-csp-bluetooth.md b/windows/client-management/mdm/policy-csp-bluetooth.md index 2160f0b07a..40e770a691 100644 --- a/windows/client-management/mdm/policy-csp-bluetooth.md +++ b/windows/client-management/mdm/policy-csp-bluetooth.md @@ -448,7 +448,9 @@ There are multiple levels of encryption strength when pairing Bluetooth devices. The following list shows the supported values: - 0 (default) - All Bluetooth traffic is allowed. -- N - A number from 1 through 16 representing the bytes that must be used in the encryption process. At this time, 16 is the largest allowed value for N and 16 bytes is the largest key size that Bluetooth supports so far. If you wish to enforce Windows to use Bluetooth encryption at all times, but do not care about the precise encryption key strength, use a value of 1. +- N - A number from 1 through 16 representing the bytes that must be used in the encryption process. Currently, 16 is the largest allowed value for N and 16 bytes is the largest key size that Bluetooth supports. If you want to enforce Windows to always use Bluetooth encryption, ignoring the precise encryption key strength, use 1 as the value for N. + +For more information on allowed key sizes, refer to Bluetooth Core Specification v5.1. From b92b2c95869a2190a9417fff9d7f155ba1a4e37f Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 15:46:11 -0800 Subject: [PATCH 100/150] Update auto-investigation-action-center.md --- .../auto-investigation-action-center.md | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index 65b8232367..3c337a125f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -22,13 +22,15 @@ When an automated investigation runs, a verdict is generated for each piece of e Pending and completed actions are listed in the Action center ([https://securitycenter.windows.com/action-center](https://securitycenter.windows.com/action-center)) and the Investigations list ([https://securitycenter.windows.com/investigations](https://securitycenter.windows.com/investigations)). +>[!NOTE] +>If your organization has implemented role-based access to manage portal access, only authorized users or user groups who have permission to view the machine or machine group will be able to view the entire investigation. + ## The Action center ![Action center page](images/action-center.png) The action center consists of two main tabs, as described in the following table. - |Tab |Description | |---------|---------| |Pending actions |Displays a list of ongoing investigations that require attention. Recommended actions are presented that your security operations team can approve or reject.

    **NOTE**: The Pending tab appears only if there are pending actions to be approved (or rejected). | @@ -38,17 +40,48 @@ Use the **Customize columns** menu to select columns that you'd like to show or You can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. - ## Investigations page -![Investigations page](images/mdatp-investigations.jpg) +![Image of Auto investigations page](images/atp-auto-investigations-list.png) On the **Investigations** page, you'll find a list of all automated investigations. Select an item in the list to view additional information about that automated investigation. +By default, the automated investigations list displays investigations initiated in the last week. You can also choose to select other time ranges from the drop-down menu or specify a custom range. + Use the **Customize columns** menu to select columns that you'd like to show or hide. From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. +### Filters and details + +On the **Investigations** page, you can view details and use filters to focus on specific information. Filters include the following: +- **Status** (see the details below) +- **Triggering alert** (The alert that initiated the automated investigation) +- **Detection source** (The source of the alert that initiated the automated investigation.) +- **Entities** (these can include device or machines, and machine groups. You can filter the automated investigations list to zone in a specific machine to see other investigations related to the machine, or to see specific machine groups that you might have created.) +- **Threat** (The category of threat detected during the automated investigation.) +- **Tags** (Filter using manually added tags that capture the context of an automated investigation.) +- **Comments** (Select between filtering the list between automated investigations that have comments and those that don't.) + + +## Automated investigation status + +An automated investigation can be have one of the following status values: + +|Status |Description | +|---------|---------| +| No threats found | No malicious entities found during the investigation. | +| Failed | A problem has interrupted the investigation, preventing it from completing. | +| Partially remediated | A problem prevented the remediation of some malicious entities. | +| Pending action | Remediation actions require review and approval. | +| Waiting for machine | Investigation paused. The investigation will resume as soon as the machine is available. | +| Queued | Investigation has been queued and will resume as soon as other remediation activities are completed. | +| Running | Investigation ongoing. Malicious entities found will be remediated. | +| Remediated | Malicious entities found were successfully remediated. | +| Terminated by system | Investigation was stopped by the system. | +| Terminated by user | A user stopped the investigation before it could complete. | +| Partially investigated | Entities directly related to the alert have been investigated. However, a problem stopped the investigation of collateral entities. | + ## Next steps [View and approve remediation actions](manage-auto-investigation.md) From fa54328dd007ecbb3fee07f57ed32ed1811f6722 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 16:06:35 -0800 Subject: [PATCH 101/150] AIR fixes --- .../auto-investigation-action-center.md | 93 ++++++++-- .../manage-auto-investigation.md | 166 ++---------------- 2 files changed, 101 insertions(+), 158 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index 3c337a125f..50b88498b3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -40,7 +40,7 @@ Use the **Customize columns** menu to select columns that you'd like to show or You can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. -## Investigations page +## The Investigations page ![Image of Auto investigations page](images/atp-auto-investigations-list.png) @@ -52,16 +52,19 @@ Use the **Customize columns** menu to select columns that you'd like to show or From this view, you can also download the entire list in CSV format using the **Export** feature, specify the number of items to show per page, and navigate between pages. -### Filters and details +### Filters for the list of investigations -On the **Investigations** page, you can view details and use filters to focus on specific information. Filters include the following: -- **Status** (see the details below) -- **Triggering alert** (The alert that initiated the automated investigation) -- **Detection source** (The source of the alert that initiated the automated investigation.) -- **Entities** (these can include device or machines, and machine groups. You can filter the automated investigations list to zone in a specific machine to see other investigations related to the machine, or to see specific machine groups that you might have created.) -- **Threat** (The category of threat detected during the automated investigation.) -- **Tags** (Filter using manually added tags that capture the context of an automated investigation.) -- **Comments** (Select between filtering the list between automated investigations that have comments and those that don't.) +On the **Investigations** page, you can view details and use filters to focus on specific information. The following table lists available filters: + +|Filter |Description | +|---------|---------| +|**Status** |(See [Automated investigation status](#automated-investigation-status)) | +|**Triggering alert** | The alert that initiated the automated investigation | +|**Detection source** |The source of the alert that initiated the automated investigation. | +|**Entities** | These can include device or machines, and machine groups. You can filter the automated investigations list to zone in a specific machine to see other investigations related to the machine, or to see specific machine groups that you might have created. | +|**Threat** |The category of threat detected during the automated investigation. | +|**Tags** |Filter using manually added tags that capture the context of an automated investigation.| +|**Comments** |Select between filtering the list between automated investigations that have comments and those that don't.| ## Automated investigation status @@ -82,6 +85,76 @@ An automated investigation can be have one of the following status values: | Terminated by user | A user stopped the investigation before it could complete. | | Partially investigated | Entities directly related to the alert have been investigated. However, a problem stopped the investigation of collateral entities. | +## View details about an automated investigation + +![Image of investigation details window](images/atp-analyze-auto-ir.png) + +You can view the details of an automated investigation to see information such as the investigation graph, alerts associated with the investigation, the machine that was investigated, and other information. + +In this view, you'll see the name of the investigation, when it started and ended. + +### Investigation graph + +The investigation graph provides a graphical representation of an automated investigation. All investigation related information is simplified and arranged in specific sections. Clicking on any of the icons brings you the relevant section where you can view more information. + +A progress ring shows two status indicators: +- Orange ring - shows the pending portion of the investigation +- Green ring - shows the running time portion of the investigation + +![Image of start, end, and pending time for an automated investigation](images/atp-auto-investigation-pending.png) + +In the example image, the automated investigation started on 10:26:59 AM and ended on 10:56:26 AM. Therefore, the entire investigation was running for 29 minutes and 27 seconds. + +The pending time of 16 minutes and 51 seconds reflects two possible pending states: pending for asset (for example, the device might have disconnected from the network) or pending for approval. + +From this view, you can also view and add comments and tags about the investigation. + +### Alerts + +The **Alerts** tab for an automated investigation shows details such as a short description of the alert that initiated the automated investigation, severity, category, the machine associated with the alert, user, time in queue, status, investigation state, and who the investigation is assigned to. + +Additional alerts seen on a machine can be added to an automated investigation as long as the investigation is ongoing. + +Selecting an alert using the check box brings up the alerts details pane where you have the option of opening the alert page, manage the alert by changing its status, see alert details, automated investigation details, related machine, logged-on users, and comments and history. + +Clicking on an alert title brings you the alert page. + +### Machines + +The **Machines** tab Shows details the machine name, IP address, group, users, operating system, remediation level, investigation count, and when it was last investigated. + +Machines that show the same threat can be added to an ongoing investigation and will be displayed in this tab. If 10 or more machines are found during this expansion process from the same entity, then that expansion action will require an approval and will be seen in the **Pending actions** view. + +Selecting a machine using the checkbox brings up the machine details pane where you can see more information such as machine details and logged-on users. + +Clicking on an machine name brings you the machine page. + +### Evidence + +The **Evidence** tab shows details related to threats associated with this investigation. + +### Entities + +The **Entities** tab shows details about entities such as files, process, services, drives, and IP addresses. The table details such as the number of entities that were analyzed. You'll gain insight into details such as how many are remediated, suspicious, or determined to be clean. + +### Log + +The **Log** tab gives a chronological detailed view of all the investigation actions taken on the alert. You'll see the action type, action, status, machine name, description of the action, comments entered by analysts who may have worked on the investigation, execution start time, duration, pending duration. + +As with other sections, you can customize columns, select the number of items to show per page, and filter the log. + +Available filters include action type, action, status, machine name, and description. + +You can also click on an action to bring up the details pane where you'll see information such as the summary of the action and input data. + +### Pending actions + +If there are pending actions on an automated investigation, you'll see a pop up similar to the following image. + +![Image of pending actions](images/pending-actions.png) + +When you click on the pending actions link, you'll be taken to the Action center. You can also navigate to the page from the navigation page by going to **automated investigation** > **Action center**. + ## Next steps [View and approve remediation actions](manage-auto-investigation.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md index 32343d94bd..3af42fe74d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md @@ -1,6 +1,6 @@ --- -title: Learn about the automated investigations dashboard in Microsoft Defender Security Center -description: View the automated investigations list. View the status, detection source and other details for automated investigations. +title: Review and approve actions following automated investigations in the Microsoft Defender Security Center +description: Review and approve (or reject) remediation actions following an automated investigation. keywords: autoir, automated, investigation, detection, dashboard, source, threat types, id, tags, machines, duration, filter export search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -8,8 +8,8 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security -ms.author: macapara -author: mjcaparas +ms.author: deniseb +author: denisebmsft ms.localizationpriority: medium manager: dansimp audience: ITPro @@ -17,154 +17,24 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Learn about the automated investigations dashboard -By default, the automated investigations list displays investigations initiated in the last week. You can also choose to select other time ranges from the drop-down menu or specify a custom range. +# Review and approve actions following an automated investigation ->[!NOTE] ->If your organization has implemented role-based access to manage portal access, only authorized users or user groups who have permission to view the machine or machine group will be able to view the entire investigation. +When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. For example, some actions, such as removing malware, are taken automatically. Other actions require review and approval to proceed. -Use the **Customize columns** drop-down menu to select columns that you'd like to show or hide. +As a best practice, make sure to approve (or reject) pending actions as soon as possible. This helps your automated investigations complete in a timely manner. -From this view, you can also download the entire list in CSV format using the **Export** button, specify the number of items to show per page, and navigate between pages. You also have the flexibility to filter the list based on your preferred criteria. +1. -![Image of Auto investigations page](images/atp-auto-investigations-list.png) + +You'll need to manually approve or reject pending actions on each of these categories for the automated actions to proceed. + +Selecting an investigation from any of the categories opens a panel where you can approve or reject the remediation. Other details such as file or service details, investigation details, and alert details are displayed. + +From the panel, you can click on the Open investigation page link to see the investigation details. + +You also have the option of selecting multiple investigations to approve or reject actions on multiple investigations. -**Filters**
    -You can use the following operations to customize the list of automated investigations displayed: +## Related articles - -**Triggering alert**
    -The alert that initiated the automated investigation. - -**Status**
    -An automated investigation can be in one of the following status: - -Status | Description -:---|:--- -| No threats found | No malicious entities found during the investigation. -| Failed | A problem has interrupted the investigation, preventing it from completing. | -| Partially remediated | A problem prevented the remediation of some malicious entities. | -| Pending action | Remediation actions require review and approval. | -| Waiting for machine | Investigation paused. The investigation will resume as soon as the machine is available. | -| Queued | Investigation has been queued and will resume as soon as other remediation activities are completed. | -| Running | Investigation ongoing. Malicious entities found will be remediated. | -| Remediated | Malicious entities found were successfully remediated. | -| Terminated by system | Investigation was stopped by the system. | -| Terminated by user | A user stopped the investigation before it could complete. -| Partially investigated | Entities directly related to the alert have been investigated. However, a problem stopped the investigation of collateral entities. | - - - -**Detection source**
    -Source of the alert that initiated the automated investigation. - -**Threat**
    -The category of threat detected during the automated investigation. - - -**Tags**
    -Filter using manually added tags that capture the context of an automated investigation. - -**Machines**
    -You can filter the automated investigations list to zone in a specific machine to see other investigations related to the machine. - -**Machine groups**
    -Apply this filter to see specific machine groups that you might have created. - -**Comments**
    -Select between filtering the list between automated investigations that have comments and those that don't. - -## Analyze automated investigations -You can view the details of an automated investigation to see information such as the investigation graph, alerts associated with the investigation, the machine that was investigated, and other information. - -In this view, you'll see the name of the investigation, when it started and ended. - -![Image of investigation details window](images/atp-analyze-auto-ir.png) - -The progress ring shows two status indicators: -- Orange ring - shows the pending portion of the investigation -- Green ring - shows the running time portion of the investigation - -![Image of start, end, and pending time for an automated investigation](images/atp-auto-investigation-pending.png) - -In the example image, the automated investigation started on 10:26:59 AM and ended on 10:56:26 AM. Therefore, the entire investigation was running for 29 minutes and 27 seconds. - -The pending time of 16 minutes and 51 seconds reflects two possible pending states: pending for asset (for example, the device might have disconnected from the network) or pending for approval. - -From this view, you can also view and add comments and tags about the investigation. - -### Investigation page -The investigation page gives you a quick summary on the status, alert severity, category, and detection source. - -You'll also have access to the following sections that help you see details of the investigation with finer granularity: - -- Investigation graph -- Alerts -- Machines -- Evidence -- Entities -- Log -- Pending actions - - >[!NOTE] - >The Pending actions tab is only displayed if there are actual pending actions. - -- Pending actions history - - >[!NOTE] - >The Pending actions history tab is only displayed when an investigation is complete. - -In any of the sections, you can customize columns to further expand to limit the details you see in a section. - -### Investigation graph -The investigation graph provides a graphical representation of an automated investigation. All investigation related information is simplified and arranged in specific sections. Clicking on any of the icons brings you the relevant section where you can view more information. - -### Alerts -Shows details such as a short description of the alert that initiated the automated investigation, severity, category, the machine associated with the alert, user, time in queue, status, investigation state, and who the investigation is assigned to. - -Additional alerts seen on a machine can be added to an automated investigation as long as the investigation is ongoing. - -Selecting an alert using the check box brings up the alerts details pane where you have the option of opening the alert page, manage the alert by changing its status, see alert details, automated investigation details, related machine, logged-on users, and comments and history. - -Clicking on an alert title brings you the alert page. - -### Machines -Shows details the machine name, IP address, group, users, operating system, remediation level, investigation count, and when it was last investigated. - -Machines that show the same threat can be added to an ongoing investigation and will be displayed in this tab. If 10 or more machines are found during this expansion process from the same entity, then that expansion action will require an approval and will be seen in the **Pending actions** view. - -Selecting a machine using the checkbox brings up the machine details pane where you can see more information such as machine details and logged-on users. - -Clicking on an machine name brings you the machine page. - -### Evidence -Shows details related to threats associated with this investigation. - -### Entities -Shows details about entities such as files, process, services, drives, and IP addresses. The table details such as the number of entities that were analyzed. You'll gain insight into details such as how many are remediated, suspicious, or determined to be clean. - -### Log -Gives a chronological detailed view of all the investigation actions taken on the alert. You'll see the action type, action, status, machine name, description of the action, comments entered by analysts who may have worked on the investigation, execution start time, duration, pending duration. - -As with other sections, you can customize columns, select the number of items to show per page, and filter the log. - -Available filters include action type, action, status, machine name, and description. - -You can also click on an action to bring up the details pane where you'll see information such as the summary of the action and input data. - -### Pending actions history -This tab is only displayed when an investigation is complete and shows all pending actions taken during the investigation. - - -## Pending actions -If there are pending actions on an automated investigation, you'll see a pop up similar to the following image. - -![Image of pending actions](images/pending-actions.png) - -When you click on the pending actions link, you'll be taken to the Action center. You can also navigate to the page from the navigation page by going to **automated investigation** > **Action center**. For more information, see [Action center](auto-investigation-action-center.md). - - -## Related topic -- [Investigate Microsoft Defender ATP alerts](investigate-alerts.md) -- [Manage actions related to automated investigation and remediation](auto-investigation-action-center.md) +[Advanced Hunting](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-overview) \ No newline at end of file From fe0ac889f6cce95e176a2e8b7d71fa28353073c4 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 16:13:58 -0800 Subject: [PATCH 102/150] AIR content updates --- .../auto-investigation-action-center.md | 1 - .../manage-auto-investigation.md | 22 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index 50b88498b3..d297b71baf 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -18,7 +18,6 @@ ms.topic: article # View details and results of automated investigations -When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. Pending and completed actions are listed in the Action center ([https://securitycenter.windows.com/action-center](https://securitycenter.windows.com/action-center)) and the Investigations list ([https://securitycenter.windows.com/investigations](https://securitycenter.windows.com/investigations)). diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md index 3af42fe74d..04e76fc5f1 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md @@ -23,18 +23,30 @@ When an automated investigation runs, a verdict is generated for each piece of e As a best practice, make sure to approve (or reject) pending actions as soon as possible. This helps your automated investigations complete in a timely manner. -1. +## Review pending actions +1. Go to the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)) and sign in. This takes you to your Security dashboard. -You'll need to manually approve or reject pending actions on each of these categories for the automated actions to proceed. +2. On the Security dashboard, in the navigation pane on the left, choose **Automated investigations** > **Action center**. -Selecting an investigation from any of the categories opens a panel where you can approve or reject the remediation. Other details such as file or service details, investigation details, and alert details are displayed. +3. Review any items on the **Pending** tab. -From the panel, you can click on the Open investigation page link to see the investigation details. + Selecting an investigation from any of the categories opens a panel where you can approve or reject the remediation. Other details such as file or service details, investigation details, and alert details are displayed. From the panel, you can click on the **Open investigation page** link to see the investigation details. -You also have the option of selecting multiple investigations to approve or reject actions on multiple investigations. + You can also select multiple investigations to approve or reject actions on multiple investigations. + +## Review completed actions + +1. Go to the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)) and sign in. This takes you to your Security dashboard. + +2. On the Security dashboard, in the navigation pane on the left, choose **Automated investigations** > **Action center**. + +3. Select the **History** tab. (If need be, expand the time period to display more data.) + +4. Select an item to view more details about that remediation action. + ## Related articles [Advanced Hunting](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-overview) \ No newline at end of file From db84fe31d54897122fb822b17137dc6a5d569e95 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 20 Feb 2020 16:26:43 -0800 Subject: [PATCH 103/150] Update index.md --- windows/security/threat-protection/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index 16ddcac988..fe2f573495 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -100,9 +100,9 @@ Endpoint detection and response capabilities are put in place to detect, investi In conjunction with being able to quickly respond to advanced attacks, Microsoft Defender ATP offers automatic investigation and remediation capabilities that help reduce the volume of alerts in minutes at scale. - [Automated investigation and remediation](microsoft-defender-atp/automated-investigations.md) -- [Threat remediation](microsoft-defender-atp/automated-investigations.md#how-threats-are-remediated) -- [Manage automated investigation](microsoft-defender-atp/manage-auto-investigation.md) -- [Analyze automated investigation](microsoft-defender-atp/manage-auto-investigation.md#analyze-automated-investigations) +- [Overview of automated investigation and remediation](microsoft-defender-atp/automated-investigations.md) +- [View details and results of automated investigations](microsoft-defender-atp/auto-investigation-action-center.md) +- [View and approve remediation actions](microsoft-defender-atp/manage-auto-investigation.md)
    From ded072442e1281303240e523ff7992249814076a Mon Sep 17 00:00:00 2001 From: John Liu <49762389+ShenLanJohn@users.noreply.github.com> Date: Thu, 20 Feb 2020 17:06:08 -0800 Subject: [PATCH 104/150] CAT Auto Pulish for Windows Release Messages - CAT_AutoPublish_20200220162439 (#2097) Co-authored-by: Direesh Kumar Kandakatla --- .../resolved-issues-windows-10-1803.yml | 20 ------------------- .../status-windows-10-1507.yml | 4 ++-- ...indows-10-1607-and-windows-server-2016.yml | 8 ++++---- .../status-windows-10-1709.yml | 8 ++++---- .../status-windows-10-1803.yml | 8 ++++---- ...indows-10-1809-and-windows-server-2019.yml | 8 ++++---- .../status-windows-10-1903.yml | 8 ++++---- .../status-windows-10-1909.yml | 8 ++++---- 8 files changed, 26 insertions(+), 46 deletions(-) diff --git a/windows/release-information/resolved-issues-windows-10-1803.yml b/windows/release-information/resolved-issues-windows-10-1803.yml index c5f045f610..63b5bd826c 100644 --- a/windows/release-information/resolved-issues-windows-10-1803.yml +++ b/windows/release-information/resolved-issues-windows-10-1803.yml @@ -38,8 +38,6 @@ sections:

    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >OS Build 17134.1009

    September 23, 2019
    KB4522014Resolved
    KB4520008October 08, 2019
    10:00 AM PT
    IME may become unresponsive or have High CPU usage
    Some Input Method Editor (IME) including ChsIME.EXE and ChtIME.EXE, may become unresponsive or may have high CPU usage.

    See details >OS Build 17134.1006

    September 10, 2019
    KB4516058Resolved
    September 19, 2019
    04:08 PM PT
    Notification issue: \"Your device is missing important security and quality fixes.\"
    Some users may have incorrectly received the notification \"Your device is missing important security and quality fixes.\"

    See details >N/A

    Resolved
    September 03, 2019
    12:32 PM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >OS Build 17134.829

    June 11, 2019
    KB4503286Resolved
    KB4512509August 19, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >OS Build 17134.950

    August 13, 2019
    KB4512501Resolved
    KB4512509August 19, 2019
    02:00 PM PT " @@ -71,24 +69,6 @@ sections: " -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512501, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4512509. The ‘optional’ update will be available on Microsoft Update Catalog, Windows Update, Microsoft Update and Windows Server Update Services (WSUS). As with any 'optional' update, you will need to Check for updates to receive KB4512509 and install. For instructions, see Update Windows 10.

    Note Windows Update for Business customers should apply the update via Microsoft Update Catalog or Windows Server Update Services (WSUS).

    Back to top
    OS Build 17134.950

    August 13, 2019
    KB4512501
    Resolved
    KB4512509
    Resolved:
    August 19, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503286 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512509.

    Back to top
    OS Build 17134.829

    June 11, 2019
    KB4503286
    Resolved
    KB4512509
    Resolved:
    August 19, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    - " - - title: June 2019 - items: - type: markdown diff --git a/windows/release-information/status-windows-10-1507.yml b/windows/release-information/status-windows-10-1507.yml index 50e384face..9c9ab15b4e 100644 --- a/windows/release-information/status-windows-10-1507.yml +++ b/windows/release-information/status-windows-10-1507.yml @@ -60,7 +60,7 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - +
    SummaryOriginating updateStatusLast updated
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    N/A
    February 11, 2020
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 10240.18368

    October 08, 2019
    KB4520011
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 10240.18094

    January 08, 2019
    KB4480962
    Mitigated
    April 25, 2019
    02:00 PM PT
    @@ -78,7 +78,7 @@ sections: - type: markdown text: " - +
    DetailsOriginating updateStatusHistory
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml b/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml index ad5f5d081d..a70457e0ab 100644 --- a/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml +++ b/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml @@ -60,8 +60,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -81,8 +81,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Windows may not start on certain Lenovo and Fujitsu laptops with less than 8GB of RAM
    Windows may fail to start on certain Lenovo and Fujitsu laptops that have less than 8 GB of RAM.

    See details >
    OS Build 14393.2608

    November 13, 2018
    KB4467691
    Resolved External
    January 23, 2020
    02:08 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 14393.3274

    October 08, 2019
    KB4519998
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 14393.2724

    January 08, 2019
    KB4480961
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1709.yml b/windows/release-information/status-windows-10-1709.yml index b0ee5c7ec5..de65b88d9b 100644 --- a/windows/release-information/status-windows-10-1709.yml +++ b/windows/release-information/status-windows-10-1709.yml @@ -60,8 +60,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -80,8 +80,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 16299.1387

    September 10, 2019
    KB4516066
    Resolved
    KB4534318
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 16299.1451

    October 08, 2019
    KB4520004
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 16299.904

    January 08, 2019
    KB4480978
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1803.yml b/windows/release-information/status-windows-10-1803.yml index f390bca9da..db738bc8ee 100644 --- a/windows/release-information/status-windows-10-1803.yml +++ b/windows/release-information/status-windows-10-1803.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -84,8 +84,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 17134.1006

    September 10, 2019
    KB4516058
    Resolved
    KB4534308
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 17134.1069

    October 08, 2019
    KB4520008
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 17134.523

    January 08, 2019
    KB4480966
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml b/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml index da6e037493..b1fc3e7ceb 100644 --- a/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml +++ b/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -85,8 +85,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 17763.737

    September 10, 2019
    KB4512578
    Resolved
    KB4534321
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 17763.805

    October 08, 2019
    KB4519338
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Devices with some Asian language packs installed may receive an error
    Devices with Asian language packs installed may receive the error, \"0x800f0982 - PSFX_E_MATCHING_COMPONENT_NOT_FOUND.\"

    See details >
    OS Build 17763.437

    April 09, 2019
    KB4493509
    Mitigated
    May 03, 2019
    10:59 AM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1903.yml b/windows/release-information/status-windows-10-1903.yml index 4b98890fff..4fe4e28478 100644 --- a/windows/release-information/status-windows-10-1903.yml +++ b/windows/release-information/status-windows-10-1903.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + +
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Issues with some older versions of Avast and AVG anti-virus products
    Microsoft and Avast has identified compatibility issues with some versions of Avast and AVG Antivirus.

    See details >
    N/A

    Mitigated External
    November 25, 2019
    05:25 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 18362.418

    October 08, 2019
    KB4517389
    Mitigated External
    November 05, 2019
    03:36 PM PT
    @@ -83,8 +83,8 @@ sections: - type: markdown text: " - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1909.yml b/windows/release-information/status-windows-10-1909.yml index 355ff2a8c2..6029fe13f7 100644 --- a/windows/release-information/status-windows-10-1909.yml +++ b/windows/release-information/status-windows-10-1909.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + +
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Issues with some older versions of Avast and AVG anti-virus products
    Microsoft and Avast has identified compatibility issues with some versions of Avast and AVG Antivirus.

    See details >
    N/A

    Mitigated External
    November 25, 2019
    05:25 PM PT
    " @@ -82,8 +82,8 @@ sections: - type: markdown text: " - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " From cf721652c02613fb3d279346f93a7d61da0490f1 Mon Sep 17 00:00:00 2001 From: John Liu <49762389+ShenLanJohn@users.noreply.github.com> Date: Thu, 20 Feb 2020 17:25:55 -0800 Subject: [PATCH 105/150] CAT Auto Pulish for Windows Release Messages - CAT_AutoPublish_20200220162439 (#2097) (#2098) Co-authored-by: Direesh Kumar Kandakatla Co-authored-by: Direesh Kumar Kandakatla --- .../resolved-issues-windows-10-1803.yml | 20 ------------------- .../status-windows-10-1507.yml | 4 ++-- ...indows-10-1607-and-windows-server-2016.yml | 8 ++++---- .../status-windows-10-1709.yml | 8 ++++---- .../status-windows-10-1803.yml | 8 ++++---- ...indows-10-1809-and-windows-server-2019.yml | 8 ++++---- .../status-windows-10-1903.yml | 8 ++++---- .../status-windows-10-1909.yml | 8 ++++---- 8 files changed, 26 insertions(+), 46 deletions(-) diff --git a/windows/release-information/resolved-issues-windows-10-1803.yml b/windows/release-information/resolved-issues-windows-10-1803.yml index c5f045f610..63b5bd826c 100644 --- a/windows/release-information/resolved-issues-windows-10-1803.yml +++ b/windows/release-information/resolved-issues-windows-10-1803.yml @@ -38,8 +38,6 @@ sections:
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >OS Build 17134.1009

    September 23, 2019
    KB4522014Resolved
    KB4520008October 08, 2019
    10:00 AM PT
    IME may become unresponsive or have High CPU usage
    Some Input Method Editor (IME) including ChsIME.EXE and ChtIME.EXE, may become unresponsive or may have high CPU usage.

    See details >OS Build 17134.1006

    September 10, 2019
    KB4516058Resolved
    September 19, 2019
    04:08 PM PT
    Notification issue: \"Your device is missing important security and quality fixes.\"
    Some users may have incorrectly received the notification \"Your device is missing important security and quality fixes.\"

    See details >N/A

    Resolved
    September 03, 2019
    12:32 PM PT -
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using PXE images from Windows Deployment Services (WDS) may fail to start with error \"0xc0000001.\"

    See details >OS Build 17134.829

    June 11, 2019
    KB4503286Resolved
    KB4512509August 19, 2019
    02:00 PM PT -
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >OS Build 17134.950

    August 13, 2019
    KB4512501Resolved
    KB4512509August 19, 2019
    02:00 PM PT " @@ -71,24 +69,6 @@ sections: " -- title: August 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    After installing KB4512501, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an \"invalid procedure call error.\"

    Affected platforms:
    • Client: Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10, version 1703; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1; Windows 7 SP1
    • Server: Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012; Windows Server 2008 R2 SP1; Windows Server 2008 SP2
    Resolution: This issue was resolved in KB4512509. The ‘optional’ update will be available on Microsoft Update Catalog, Windows Update, Microsoft Update and Windows Server Update Services (WSUS). As with any 'optional' update, you will need to Check for updates to receive KB4512509 and install. For instructions, see Update Windows 10.

    Note Windows Update for Business customers should apply the update via Microsoft Update Catalog or Windows Server Update Services (WSUS).

    Back to top
    OS Build 17134.950

    August 13, 2019
    KB4512501
    Resolved
    KB4512509
    Resolved:
    August 19, 2019
    02:00 PM PT

    Opened:
    August 14, 2019
    03:34 PM PT
    - " - -- title: July 2019 -- items: - - type: markdown - text: " - - -
    DetailsOriginating updateStatusHistory
    Devices starting using PXE from a WDS or SCCM servers may fail to start
    Devices that start up using Preboot Execution Environment (PXE) images from Windows Deployment Services (WDS) or System Center Configuration Manager (SCCM) may fail to start with the error \"Status: 0xc0000001, Info: A required device isn't connected or can't be accessed\" after installing KB4503286 on a WDS server.

    Affected platforms:
    • Server: Windows Server 2008 SP2; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server, version 1803; Windows Server 2019; Windows Server, version 1809; Windows Server, version 1903
    Resolution: This issue was resolved in KB4512509.

    Back to top
    OS Build 17134.829

    June 11, 2019
    KB4503286
    Resolved
    KB4512509
    Resolved:
    August 19, 2019
    02:00 PM PT

    Opened:
    July 10, 2019
    02:51 PM PT
    - " - - title: June 2019 - items: - type: markdown diff --git a/windows/release-information/status-windows-10-1507.yml b/windows/release-information/status-windows-10-1507.yml index 50e384face..9c9ab15b4e 100644 --- a/windows/release-information/status-windows-10-1507.yml +++ b/windows/release-information/status-windows-10-1507.yml @@ -60,7 +60,7 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - +
    SummaryOriginating updateStatusLast updated
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496

    See details >
    N/A
    February 11, 2020
    KB4502496
    Mitigated
    February 15, 2020
    01:22 AM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 10240.18368

    October 08, 2019
    KB4520011
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 10240.18094

    January 08, 2019
    KB4480962
    Mitigated
    April 25, 2019
    02:00 PM PT
    @@ -78,7 +78,7 @@ sections: - type: markdown text: " - +
    DetailsOriginating updateStatusHistory
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4502496
    You might encounter issues trying to install or after installing KB4502496.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4502496) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4502496 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4502496
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml b/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml index ad5f5d081d..a70457e0ab 100644 --- a/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml +++ b/windows/release-information/status-windows-10-1607-and-windows-server-2016.yml @@ -60,8 +60,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -81,8 +81,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Windows may not start on certain Lenovo and Fujitsu laptops with less than 8GB of RAM
    Windows may fail to start on certain Lenovo and Fujitsu laptops that have less than 8 GB of RAM.

    See details >
    OS Build 14393.2608

    November 13, 2018
    KB4467691
    Resolved External
    January 23, 2020
    02:08 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 14393.3274

    October 08, 2019
    KB4519998
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 14393.2724

    January 08, 2019
    KB4480961
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1709.yml b/windows/release-information/status-windows-10-1709.yml index b0ee5c7ec5..de65b88d9b 100644 --- a/windows/release-information/status-windows-10-1709.yml +++ b/windows/release-information/status-windows-10-1709.yml @@ -60,8 +60,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -80,8 +80,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 16299.1387

    September 10, 2019
    KB4516066
    Resolved
    KB4534318
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 16299.1451

    October 08, 2019
    KB4520004
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 16299.904

    January 08, 2019
    KB4480978
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1803.yml b/windows/release-information/status-windows-10-1803.yml index f390bca9da..db738bc8ee 100644 --- a/windows/release-information/status-windows-10-1803.yml +++ b/windows/release-information/status-windows-10-1803.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -84,8 +84,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 17134.1006

    September 10, 2019
    KB4516058
    Resolved
    KB4534308
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 17134.1069

    October 08, 2019
    KB4520008
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Certain operations performed on a Cluster Shared Volume may fail
    Operations performed on files or folders on a CSV may fail with the error: STATUS_BAD_IMPERSONATION_LEVEL (0xC00000A5).

    See details >
    OS Build 17134.523

    January 08, 2019
    KB4480966
    Mitigated
    April 25, 2019
    02:00 PM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml b/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml index da6e037493..b1fc3e7ceb 100644 --- a/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml +++ b/windows/release-information/status-windows-10-1809-and-windows-server-2019.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + + @@ -85,8 +85,8 @@ sections: - type: markdown text: "
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Unable to create local users in Chinese, Japanese and Korean during device setup
    You might be unable to create users in Chinese, Japanese and Korean using Input Method Editor (IME) during OOBE.

    See details >
    OS Build 17763.737

    September 10, 2019
    KB4512578
    Resolved
    KB4534321
    January 23, 2020
    02:00 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 17763.805

    October 08, 2019
    KB4519338
    Mitigated External
    November 05, 2019
    03:36 PM PT
    Devices with some Asian language packs installed may receive an error
    Devices with Asian language packs installed may receive the error, \"0x800f0982 - PSFX_E_MATCHING_COMPONENT_NOT_FOUND.\"

    See details >
    OS Build 17763.437

    April 09, 2019
    KB4493509
    Mitigated
    May 03, 2019
    10:59 AM PT
    - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1903.yml b/windows/release-information/status-windows-10-1903.yml index 4b98890fff..4fe4e28478 100644 --- a/windows/release-information/status-windows-10-1903.yml +++ b/windows/release-information/status-windows-10-1903.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + +
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Issues with some older versions of Avast and AVG anti-virus products
    Microsoft and Avast has identified compatibility issues with some versions of Avast and AVG Antivirus.

    See details >
    N/A

    Mitigated External
    November 25, 2019
    05:25 PM PT
    TLS connections might fail or timeout
    Transport Layer Security (TLS) connections might fail or timeout when connecting or attempting a resumption.

    See details >
    OS Build 18362.418

    October 08, 2019
    KB4517389
    Mitigated External
    November 05, 2019
    03:36 PM PT
    @@ -83,8 +83,8 @@ sections: - type: markdown text: " - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " diff --git a/windows/release-information/status-windows-10-1909.yml b/windows/release-information/status-windows-10-1909.yml index 355ff2a8c2..6029fe13f7 100644 --- a/windows/release-information/status-windows-10-1909.yml +++ b/windows/release-information/status-windows-10-1909.yml @@ -64,8 +64,8 @@ sections: - type: markdown text: "
    This table offers a summary of current active issues and those issues that have been resolved in the last 30 days.

    - - + +
    SummaryOriginating updateStatusLast updated
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    “Reset this PC” feature might fail
    “Reset this PC” feature is also called “Push Button Reset” or PBR.

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244

    See details >
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    February 15, 2020
    01:22 AM PT
    Issues with some older versions of Avast and AVG anti-virus products
    Microsoft and Avast has identified compatibility issues with some versions of Avast and AVG Antivirus.

    See details >
    N/A

    Mitigated External
    November 25, 2019
    05:25 PM PT
    " @@ -82,8 +82,8 @@ sections: - type: markdown text: " - - + +
    DetailsOriginating updateStatusHistory
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2019
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    “Reset this PC” feature might fail
    Using the “Reset this PC” feature, also called “Push Button Reset” or PBR, might fail. You might restart into recovery with “Choose an option” at the top of the screen with various options or you might restart to your desktop and receive the error “There was a problem resetting your PC”.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016
    Workaround: The standalone security update, KB4524244 has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Update (LCU), Monthly Rollup or Security Only update.

    If you have installed this update and are experiencing this issue, the following steps should allow you to reset your device:
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
    5. Upon restart use the “Reset this PC” feature and you should not encounter this issue.

    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    You might encounter issues with KB4524244
    You might encounter issues trying to install or after installing KB4524244.

    Affected platforms:
    • Client: Windows 10, version 1909; Windows 10, version 1903; Windows 10, version 1809; Windows 10 Enterprise LTSC 2019; Windows 10, version 1803; Windows 10, version 1709; Windows 10 Enterprise LTSC 2016; Windows 10, version 1607; Windows 10 Enterprise LTSC 2015; Windows 8.1
    • Server: Windows Server, version 1909; Windows Server, version 1903; Windows Server, version 1809; Windows Server 2019; Windows Server, version 1803; Windows Server, version 1709 ; Windows Server 2016; Windows Server 2012 R2; Windows Server 2012
    Workaround: To help a sub-set of affected devices, the standalone security update (KB4524244) has been removed and will not re-offered from Windows Update, Windows Server Update Services (WSUS) or Microsoft Update Catalog. Note This does not affect any other update, including Latest Cumulative Updates (LCUs), Monthly Rollups or Security Only updates.

    If this update is installed and you are experiencing issues, you can uninstall this update.
    1. Select the start button or Windows Desktop Search and type update history and select View your Update history.
    2. On the Settings/View update history dialog window, Select Uninstall Updates.
    3. On the Installed Updates dialog window, find and select KB4524244 and select the Uninstall button.
    4. Restart your device.
     
    Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.

    Back to top
    N/A
    February 11, 2020
    KB4524244
    Mitigated
    Last updated:
    February 15, 2020
    01:22 AM PT

    Opened:
    February 15, 2020
    12:02 AM PT
    " From dbb3f3d6257c36a4371bc364cee389c993a8f9e9 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Fri, 21 Feb 2020 12:03:21 +0500 Subject: [PATCH 106/150] Update surface-hub-update-history.md --- devices/surface-hub/surface-hub-update-history.md | 1 - 1 file changed, 1 deletion(-) diff --git a/devices/surface-hub/surface-hub-update-history.md b/devices/surface-hub/surface-hub-update-history.md index 5d6989d80b..50af49ec5c 100644 --- a/devices/surface-hub/surface-hub-update-history.md +++ b/devices/surface-hub/surface-hub-update-history.md @@ -530,7 +530,6 @@ This update to the Surface Hub includes quality improvements and security fixes. ## Related topics -* [Windows 10 feature roadmap](https://go.microsoft.com/fwlink/p/?LinkId=785967) * [Windows 10 release information](https://go.microsoft.com/fwlink/p/?LinkId=724328) * [Windows 10 November update: FAQ](https://windows.microsoft.com/windows-10/windows-update-faq) * [Microsoft Surface update history](https://go.microsoft.com/fwlink/p/?LinkId=724327) From b2cf8944da6adb8d07452383625eceefda24745d Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Fri, 21 Feb 2020 16:34:31 +0500 Subject: [PATCH 107/150] Update audit-filtering-platform-policy-change.md --- .../auditing/audit-filtering-platform-policy-change.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/windows/security/threat-protection/auditing/audit-filtering-platform-policy-change.md b/windows/security/threat-protection/auditing/audit-filtering-platform-policy-change.md index 4103970aa4..204a9b6320 100644 --- a/windows/security/threat-protection/auditing/audit-filtering-platform-policy-change.md +++ b/windows/security/threat-protection/auditing/audit-filtering-platform-policy-change.md @@ -32,14 +32,6 @@ Audit Filtering Platform Policy Change allows you to audit events generated by c Windows Filtering Platform (WFP) enables independent software vendors (ISVs) to filter and modify TCP/IP packets, monitor or authorize connections, filter Internet Protocol security (IPsec)-protected traffic, and filter remote procedure calls (RPCs). -This subcategory is outside the scope of this document. - -| Computer Type | General Success | General Failure | Stronger Success | Stronger Failure | Comments | -|-------------------|-----------------|-----------------|------------------|------------------|---------------------------------------------------------| -| Domain Controller | - | - | - | - | This subcategory is outside the scope of this document. | -| Member Server | - | - | - | - | This subcategory is outside the scope of this document. | -| Workstation | - | - | - | - | This subcategory is outside the scope of this document. | - - 4709(S): IPsec Services was started. - 4710(S): IPsec Services was disabled. From d8e3e0e9bf6ebbdb4e3c67cf2bfc4714069f40d1 Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Fri, 21 Feb 2020 08:45:17 -0800 Subject: [PATCH 108/150] Updating autopilot mail to be accurate HoloLens AutoPilot Preview ; != hlappreview@service.microsoft.com @scooley --- devices/hololens/hololens-insider.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/hololens/hololens-insider.md b/devices/hololens/hololens-insider.md index 3d8c8eb80a..c5b4546772 100644 --- a/devices/hololens/hololens-insider.md +++ b/devices/hololens/hololens-insider.md @@ -61,7 +61,7 @@ Here's a quick summary of what's new: - Support for FIDO2 Security Keys to enable secure and easy authentication for shared devices - Seamlessly apply a provisioning package from a USB drive to your HoloLens - Use a provisioning packages to enroll your HoloLens to your Mobile Device Management system -- Use Windows AutoPilot to set up and pre-configure new devices, quickly getting them ready for productive use. Send a note to hlappreview@service.microsoft.com to join the preview. +- Use Windows AutoPilot to set up and pre-configure new devices, quickly getting them ready for productive use. Send a note to hlappreview@microsoft.com to join the preview. - Dark Mode - many Windows apps support both dark and light modes, and now HoloLens customers can choose the default mode for apps that support both color schemes! Based on customer feedback, with this update we are setting the default app mode to "dark," but you can easily change this setting at any time. Navigate to Settings > System > Colors to find "Choose your default app mode." - Support for additional system voice commands - Hand Tracking improvements to reduce the tendency to close the index finger when pointing. This should make button pressing and 2D slate usage feel more accurate From e3ba16ab264549a99b7f2f5fe251cc55df48010b Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 21 Feb 2020 09:07:07 -0800 Subject: [PATCH 109/150] Update index.md --- windows/security/threat-protection/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index fe2f573495..968151ac71 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -100,7 +100,6 @@ Endpoint detection and response capabilities are put in place to detect, investi In conjunction with being able to quickly respond to advanced attacks, Microsoft Defender ATP offers automatic investigation and remediation capabilities that help reduce the volume of alerts in minutes at scale. - [Automated investigation and remediation](microsoft-defender-atp/automated-investigations.md) -- [Overview of automated investigation and remediation](microsoft-defender-atp/automated-investigations.md) - [View details and results of automated investigations](microsoft-defender-atp/auto-investigation-action-center.md) - [View and approve remediation actions](microsoft-defender-atp/manage-auto-investigation.md) @@ -147,4 +146,4 @@ Integrate Microsoft Defender Advanced Threat Protection into your existing workf **[Microsoft Threat Protection](https://docs.microsoft.com/microsoft-365/security/mtp/microsoft-threat-protection)**
    - With Microsoft Threat Protection, Microsoft Defender ATP and various Microsoft security solutions form a unified pre- and post-breach enterprise defense suite that natively integrates across endpoint, identity, email, and applications to detect, prevent, investigate and automatically respond to sophisticated attacks. \ No newline at end of file + With Microsoft Threat Protection, Microsoft Defender ATP and various Microsoft security solutions form a unified pre- and post-breach enterprise defense suite that natively integrates across endpoint, identity, email, and applications to detect, prevent, investigate and automatically respond to sophisticated attacks. From 6c2448aa4717a09b17b96e9c443d1ccf83462536 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Fri, 21 Feb 2020 09:53:09 -0800 Subject: [PATCH 110/150] no more secure score --- .openpublishing.redirection.json | 12 +- windows/security/threat-protection/TOC.md | 5 - windows/security/threat-protection/index.md | 12 +- .../advanced-features.md | 1 - .../configure-email-notifications.md | 1 - .../data-retention-settings.md | 1 - .../enable-secure-score.md | 2 +- .../machines-view-overview.md | 2 +- ...oft-defender-advanced-threat-protection.md | 6 +- .../microsoft-defender-atp/oldTOC.txt | 6 - .../microsoft-defender-atp/onboard.md | 1 - .../microsoft-defender-atp/overview.md | 2 +- .../microsoft-defender-atp/portal-overview.md | 2 +- .../microsoft-defender-atp/product-brief.md | 15 +- .../secure-score-dashboard.md | 315 ------------------ .../security-operations-dashboard.md | 2 +- .../threat-and-vuln-mgt-scenarios.md | 3 +- .../microsoft-defender-atp/tvm-remediation.md | 8 +- .../microsoft-defender-atp/use.md | 4 +- .../why-use-microsoft-antivirus.md | 2 +- 20 files changed, 41 insertions(+), 361 deletions(-) delete mode 100644 windows/security/threat-protection/microsoft-defender-atp/secure-score-dashboard.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 8012e7c7c5..1e5f3dcc03 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1729,7 +1729,17 @@ { "source_path": "windows/security/threat-protection/windows-defender-atp/microsoft-defender-atp/overview-secure-score.md", "redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configuration-score", -"redirect_document_id": true +"redirect_document_id": false +}, +{ +"source_path": "windows/security/threat-protection/windows-defender-atp/microsoft-defender-atp/secure-score-dashboard.md", +"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configuration-score", +"redirect_document_id": false +}, +{ +"source_path": "windows/security/threat-protection/windows-defender-atp/microsoft-defender-atp/enable-secure-score.md", +"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configuration-score", +"redirect_document_id": false }, { "source_path": "windows/security/threat-protection/windows-defender-atp/partner-applications.md", diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index c969d4994f..6ae84d007a 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -108,7 +108,6 @@ #### [Use the automated investigation and remediation dashboard](microsoft-defender-atp/manage-auto-investigation.md) #### [Manage actions related to automated investigation and remediation](microsoft-defender-atp/auto-investigation-action-center.md) -### [Secure score](microsoft-defender-atp/overview-secure-score.md) ### [Threat analytics](microsoft-defender-atp/threat-analytics.md) ### [Advanced hunting]() @@ -342,9 +341,6 @@ #### [Privacy](microsoft-defender-atp/mac-privacy.md) #### [Resources](microsoft-defender-atp/mac-resources.md) - -### [Configure Secure score dashboard security controls](microsoft-defender-atp/secure-score-dashboard.md) - ### [Configure and manage Microsoft Threat Experts capabilities](microsoft-defender-atp/configure-microsoft-threat-experts.md) ### [Management and API support]() @@ -561,7 +557,6 @@ #### [Update data retention settings](microsoft-defender-atp/data-retention-settings.md) #### [Configure alert notifications](microsoft-defender-atp/configure-email-notifications.md) #### [Enable and create Power BI reports using Windows Defender Security center data](microsoft-defender-atp/powerbi-reports.md) -#### [Enable Secure score security controls](microsoft-defender-atp/enable-secure-score.md) #### [Configure advanced features](microsoft-defender-atp/advanced-features.md) ### [Permissions]() diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index 16ddcac988..fe37c119b1 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -1,7 +1,7 @@ --- title: Threat Protection (Windows 10) description: Learn how Microsoft Defender ATP helps protect against threats. -keywords: threat protection, Microsoft Defender Advanced Threat Protection, attack surface reduction, next generation protection, endpoint detection and response, automated investigation and response, microsoft threat experts, secure score, advanced hunting, cyber threat hunting, web threat protection +keywords: threat protection, Microsoft Defender Advanced Threat Protection, attack surface reduction, next generation protection, endpoint detection and response, automated investigation and response, microsoft threat experts, configuration score, advanced hunting, cyber threat hunting, web threat protection search.product: eADQiWindows 10XVcnh ms.prod: w10 ms.mktglfcycl: deploy @@ -106,14 +106,12 @@ In conjunction with being able to quickly respond to advanced attacks, Microsoft -**[Secure score](microsoft-defender-atp/overview-secure-score.md)**
    +**[Configuration Score](microsoft-defender-atp/configuration-score.md)**
    >[!NOTE] -> Secure score is now part of [Threat & Vulnerability Management](microsoft-defender-atp/next-gen-threat-and-vuln-mgt.md) as [Configuration score](microsoft-defender-atp/configuration-score.md). The secure score page will be available for a few weeks. View the [Secure score](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview-secure-score) page. +> Secure score is now part of [Threat & Vulnerability Management](microsoft-defender-atp/next-gen-threat-and-vuln-mgt.md) as [Configuration score](microsoft-defender-atp/configuration-score.md). -Microsoft Defender ATP includes a secure score to help you dynamically assess the security state of your enterprise network, identify unprotected systems, and take recommended actions to improve the overall security of your organization. -- [Asset inventory](microsoft-defender-atp/secure-score-dashboard.md) -- [Recommended improvement actions](microsoft-defender-atp/secure-score-dashboard.md) -- [Secure score](microsoft-defender-atp/overview-secure-score.md) +Microsoft Defender ATP includes a configuration score to help you dynamically assess the security state of your enterprise network, identify unprotected systems, and take recommended actions to improve the overall security of your organization. +- [Configuration score](microsoft-defender-atp/configuration-score.md) - [Threat analytics](microsoft-defender-atp/threat-analytics.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md b/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md index 4b41111aaa..2326198e30 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md +++ b/windows/security/threat-protection/microsoft-defender-atp/advanced-features.md @@ -189,4 +189,3 @@ You'll have access to upcoming features which you can provide feedback on to hel - [Update data retention settings](data-retention-settings.md) - [Configure alert notifications](configure-email-notifications.md) - [Enable and create Power BI reports using Microsoft Defender ATP data](powerbi-reports.md) -- [Enable Secure Score security controls](enable-secure-score.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configure-email-notifications.md b/windows/security/threat-protection/microsoft-defender-atp/configure-email-notifications.md index 8fafbb0b85..96650774c3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/configure-email-notifications.md +++ b/windows/security/threat-protection/microsoft-defender-atp/configure-email-notifications.md @@ -100,5 +100,4 @@ This section lists various issues that you may encounter when using email notifi ## Related topics - [Update data retention settings](data-retention-settings.md) - [Enable and create Power BI reports using Microsoft Defender ATP data](powerbi-reports.md) -- [Enable Secure Score security controls](enable-secure-score.md) - [Configure advanced features](advanced-features.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/data-retention-settings.md b/windows/security/threat-protection/microsoft-defender-atp/data-retention-settings.md index 703b8a3412..d2df7a0c6e 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/data-retention-settings.md +++ b/windows/security/threat-protection/microsoft-defender-atp/data-retention-settings.md @@ -44,5 +44,4 @@ During the onboarding process, a wizard takes you through the general settings o - [Update data retention settings](data-retention-settings.md) - [Configure alert notifications in Microsoft Defender ATP](configure-email-notifications.md) - [Enable and create Power BI reports using Microsoft Defender ATP data](powerbi-reports.md) -- [Enable Secure Score security controls](enable-secure-score.md) - [Configure advanced features](advanced-features.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/enable-secure-score.md b/windows/security/threat-protection/microsoft-defender-atp/enable-secure-score.md index 8829cf492a..76c04110e7 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/enable-secure-score.md +++ b/windows/security/threat-protection/microsoft-defender-atp/enable-secure-score.md @@ -38,7 +38,7 @@ Set the baselines for calculating the score of security controls on the Secure S 3. Click **Save preferences**. ## Related topics -- [View the Secure Score dashboard](secure-score-dashboard.md) +- [View the Threat & Vulnerability Management dashboard](tvm-dashboard-insights.md) - [Update data retention settings for Microsoft Defender ATP](data-retention-settings.md) - [Configure alert notifications in Microsoft Defender ATP](configure-email-notifications.md) - [Enable and create Power BI reports using Microsoft Defender ATP data](powerbi-reports.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/machines-view-overview.md b/windows/security/threat-protection/microsoft-defender-atp/machines-view-overview.md index 3380258c96..6b96503525 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/machines-view-overview.md +++ b/windows/security/threat-protection/microsoft-defender-atp/machines-view-overview.md @@ -78,7 +78,7 @@ Filter by machines that are well configured or require attention based on the se - **Well configured** - Machines have the security controls well configured. - **Requires attention** - Machines where improvements can be made to increase the overall security posture of your organization. -For more information, see [View the Secure Score dashboard](secure-score-dashboard.md). +For more information, see [View the Threat & Vulnerability Management dashboard](tvm-dashboard-insights.md). ### Threat mitigation status diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-advanced-threat-protection.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-advanced-threat-protection.md index b08c20b0a4..9c596b4ec9 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-advanced-threat-protection.md @@ -98,11 +98,11 @@ In conjunction with being able to quickly respond to advanced attacks, Microsoft -**[Secure score](overview-secure-score.md)**
    +**[Configuration score](configuration-score.md)**
    > [!NOTE] -> Secure score is now part of [Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) as [Configuration score](configuration-score.md). The secure score page will be available for a few weeks. View the [Secure score](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview-secure-score) page. +> Secure score is now part of [Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) as [Configuration score](configuration-score.md). -Microsoft Defender ATP includes a secure score to help you dynamically assess the security state of your enterprise network, identify unprotected systems, and take recommended actions to improve the overall security of your organization. +Microsoft Defender ATP includes a configuration score to help you dynamically assess the security state of your enterprise network, identify unprotected systems, and take recommended actions to improve the overall security of your organization. diff --git a/windows/security/threat-protection/microsoft-defender-atp/oldTOC.txt b/windows/security/threat-protection/microsoft-defender-atp/oldTOC.txt index a65e4c2dbb..51d5efdc49 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/oldTOC.txt +++ b/windows/security/threat-protection/microsoft-defender-atp/oldTOC.txt @@ -95,9 +95,6 @@ #### [Manage actions related to automated investigation and remediation](auto-investigation-action-center.md) -### [Secure score](overview-secure-score.md) - - ### [Threat analytics](threat-analytics.md) @@ -298,8 +295,6 @@ ##### [Use the mpcmdrun.exe command line tool to manage next generation protection](../windows-defender-antivirus/command-line-arguments-windows-defender-antivirus.md) -### [Configure Secure score dashboard security controls](secure-score-dashboard.md) - ### [Configure and manage Microsoft Threat Experts capabilities](configure-microsoft-threat-experts.md) @@ -481,7 +476,6 @@ ##### [Update data retention settings](data-retention-settings.md) ##### [Configure alert notifications](configure-email-notifications.md) ##### [Enable and create Power BI reports using Windows Security app data](powerbi-reports.md) -##### [Enable Secure score security controls](enable-secure-score.md) ##### [Configure advanced features](advanced-features.md) #### [Permissions]() diff --git a/windows/security/threat-protection/microsoft-defender-atp/onboard.md b/windows/security/threat-protection/microsoft-defender-atp/onboard.md index 0d041b05e3..c304bcfd54 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/onboard.md +++ b/windows/security/threat-protection/microsoft-defender-atp/onboard.md @@ -31,7 +31,6 @@ Topic | Description :---|:--- [Configure attack surface reduction capabilities](configure-attack-surface-reduction.md) | By ensuring configuration settings are properly set and exploit mitigation techniques are applied, these set of capabilities resist attacks and exploitations. [Configure next generation protection](../windows-defender-antivirus/configure-windows-defender-antivirus-features.md) | Configure next generation protection to catch all types of emerging threats. -[Configure Secure score dashboard security controls](secure-score-dashboard.md) | Configure the security controls in Secure score to increase the security posture of your organization. [Configure Microsoft Threat Experts capabilities](configure-microsoft-threat-experts.md) | Configure and manage how you would like to get cybersecurity threat intelligence from Microsoft Threat Experts. [Configure Microsoft Threat Protection integration](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/threat-protection-integration)| Configure other solutions that integrate with Microsoft Defender ATP. [Management and API support](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/management-apis)| Pull alerts to your SIEM or use APIs to create custom alerts. Create and build Power BI reports. diff --git a/windows/security/threat-protection/microsoft-defender-atp/overview.md b/windows/security/threat-protection/microsoft-defender-atp/overview.md index 0e926f6f8d..8600ed540e 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/overview.md +++ b/windows/security/threat-protection/microsoft-defender-atp/overview.md @@ -38,7 +38,7 @@ Topic | Description [Next generation protection](../windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md) | Learn about the antivirus capabilities in Microsoft Defender ATP so you can protect desktops, portable computers, and servers. [Endpoint detection and response](overview-endpoint-detection-response.md) | Understand how Microsoft Defender ATP continuously monitors your organization for possible attacks against systems, networks, or users in your organization and the features you can use to mitigate and remediate threats. [Automated investigation and remediation](automated-investigations.md) | In conjunction with being able to quickly respond to advanced attacks, Microsoft Defender ATP offers automatic investigation and remediation capabilities that help reduce the volume of alerts in minutes at scale. -[Secure score](overview-secure-score.md) | Quickly assess the security posture of your organization, see machines that require attention, as well as recommendations for actions to better protect your organization - all in one place. +[Configuration score](configuration-score.md) | Your configuration score shows the collective security configuration state of your machines across application, operating system, network, accounts, and security controls. [Microsoft Threat Experts](microsoft-threat-experts.md) | Managed cybersecurity threat hunting service. Learn how you can get expert-driven insights and data through targeted attack notification and access to experts on demand.

    **NOTE:**

    Microsoft Defender ATP customers need to apply for the Microsoft Threat Experts managed threat hunting service to get proactive Targeted Attack Notifications and to collaborate with experts on demand. Experts on Demand is an add-on service. Targeted Attack Notifications are always included after you have been accepted into Microsoft Threat Experts managed threat hunting service.

    If you are not enrolled yet and would like to experience its benefits, go to **Settings** > **General** > **Advanced features** > **Microsoft Threat Experts** to apply. Once accepted, you will get the benefits of Targeted Attack Notifications, and start a 90-day trial of Experts on Demand. Contact your Microsoft representative to get a full Experts on Demand subscription. [Advanced hunting](advanced-hunting-overview.md) | Use a powerful query-based threat-hunting tool to proactively find breach activity and create custom detection rules. [Management and APIs](management-apis.md) | Microsoft Defender ATP supports a wide variety of tools to help you manage and interact with the platform so that you can integrate the service into your existing workflows. diff --git a/windows/security/threat-protection/microsoft-defender-atp/portal-overview.md b/windows/security/threat-protection/microsoft-defender-atp/portal-overview.md index 480df72feb..ceb8637a40 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/portal-overview.md +++ b/windows/security/threat-protection/microsoft-defender-atp/portal-overview.md @@ -122,5 +122,5 @@ Icon | Description ## Related topics - [Understand the Microsoft Defender Advanced Threat Protection portal](use.md) - [View the Security operations dashboard](security-operations-dashboard.md) -- [View the Secure Score dashboard and improve your secure score](secure-score-dashboard.md) +- [View the Threat & Vulnerability Management dashboard](tvm-dashboard-insights.md) - [View the Threat analytics dashboard and take recommended mitigation actions](threat-analytics.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/product-brief.md b/windows/security/threat-protection/microsoft-defender-atp/product-brief.md index 2a83d109de..e69a6bc890 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/product-brief.md +++ b/windows/security/threat-protection/microsoft-defender-atp/product-brief.md @@ -36,33 +36,33 @@ Capability | Description **Threat and Vulnerability Management** | This built-in capability uses a game-changing risk-based approach to the discovery, prioritization, and remediation of endpoint vulnerabilities and misconfigurations. **Attack Surface Reduction** | The attack surface reduction set of capabilities provide the first line of defense in the stack. By ensuring configuration settings are properly set and exploit mitigation techniques are applied, these set of capabilities resist attacks and exploitations. **Next Generation Protection** | To further reinforce the security perimeter of the organizations network, Microsoft Defender ATP uses next generation protection designed to catch all types of emerging threats. -**Endpoint Detection & Response** | Endpoint detection and response capabilities are put in place to detect, investigate, and respond to advanced threats that may have made it past the first two security pillars. -**Auto Investigation & Remediation** | In conjunction with being able to quickly respond to advanced attacks, Microsoft Defender ATP offers automatic investigation and remediation capabilities that help reduce the volume of alerts in minutes at scale. +**Endpoint Detection & Response** | Endpoint detection and response capabilities are put in place to detect, investigate, and respond to advanced threats that may have made it past the first two security pillars. +**Auto Investigation & Remediation** | In conjunction with being able to quickly respond to advanced attacks, Microsoft Defender ATP offers automatic investigation and remediation capabilities that help reduce the volume of alerts in minutes at scale. **Microsoft Threat Experts** | Microsoft Defender ATP's new managed threat hunting service provides proactive hunting, prioritization, and additional context and insights that further empower Security operation centers (SOCs) to identify and respond to threats quickly and accurately. -**Secure Score** | Microsoft Defender ATP includes a secure score to help dynamically assess the security state of the enterprise network, identify unprotected systems, and take recommended actions to improve the overall security of the organization. +**Configuration Score** | Microsoft Defender ATP includes configuration score to help dynamically assess the security state of the enterprise network, identify unprotected systems, and take recommended actions to improve the overall security of the organization. **Advance Hunting** | Create custom threat intelligence and use a powerful search and query tool to hunt for possible threats in the organization. **Management and API** | Integrate Microsoft Defender Advanced Threat Protection into existing workflows. **Microsoft Threat Protection** | Microsoft Defender ATP is part of the Microsoft Threat Protection solution that helps implement end-to-end security across possible attack surfaces in the modern workplace. Bring the power of Microsoft threat protection to the organization. | | Microsoft Defender ATP uses the following combination of technology built into Windows 10 and Microsoft's robust cloud service: -- **Endpoint behavioral sensors**: Embedded in Windows 10, these sensors +- **Endpoint behavioral sensors**: Embedded in Windows 10, these sensors collect and process behavioral signals from the operating system and sends this sensor data to your private, isolated, cloud instance of Microsoft Defender ATP. - -- **Cloud security analytics**: Leveraging big-data, machine-learning, and +- **Cloud security analytics**: Leveraging big-data, machine-learning, and unique Microsoft optics across the Windows ecosystem, enterprise cloud products (such as Office 365), and online assets, behavioral signals are translated into insights, detections, and recommended responses to advanced threats. -- **Threat intelligence**: Generated by Microsoft hunters, security teams, +- **Threat intelligence**: Generated by Microsoft hunters, security teams, and augmented by threat intelligence provided by partners, threat intelligence enables Microsoft Defender ATP to identify attacker tools, techniques, and procedures, and generate alerts when these are observed in collected sensor data. ## Licensing requirements + Microsoft Defender Advanced Threat Protection requires one of the following Microsoft Volume Licensing offers: - Windows 10 Enterprise E5 @@ -71,4 +71,5 @@ Microsoft Defender Advanced Threat Protection requires one of the following Micr - Microsoft 365 A5 (M365 A5) ## Related topic + - [Prepare deployment](prepare-deployment.md) \ No newline at end of file diff --git a/windows/security/threat-protection/microsoft-defender-atp/secure-score-dashboard.md b/windows/security/threat-protection/microsoft-defender-atp/secure-score-dashboard.md deleted file mode 100644 index 1ac2ee7415..0000000000 --- a/windows/security/threat-protection/microsoft-defender-atp/secure-score-dashboard.md +++ /dev/null @@ -1,315 +0,0 @@ ---- -title: Configure the security controls in Secure score -description: Configure the security controls in Secure score -keywords: secure score, dashboard, security recommendations, security control state, security score, score improvement, microsoft secure score, security controls, security control, improvement opportunities, edr, antivirus, av, os security updates -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: dolmont -author: DulceMontemayor -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: conceptual ---- - -# Configure the security controls in Secure score - -**Applies to:** - -* [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) - -> [!NOTE] -> Secure score is now part of [Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) as [Configuration score](configuration-score.md). The secure score page will be available for a few weeks. View the [Secure score](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview-secure-score) page. - -Each security control lists recommendations that you can take to increase the security posture of your organization. - -### Endpoint detection and response (EDR) optimization - -A well-configured machine complies to the minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for your Endpoint detection and response tool. - -> [!IMPORTANT] -> This feature is available for machines on Windows 10, version 1607 or later. - -#### Minimum baseline configuration setting for EDR - -* Microsoft Defender ATP sensor is on -* Data collection is working correctly -* Communication to Microsoft Defender ATP service is not impaired - -##### Recommended actions - -You can take the following actions to increase the overall security score of your organization: - -* Turn on sensor -* Fix sensor data collection -* Fix impaired communications - -For more information, see [Fix unhealthy sensors](fix-unhealthy-sensors.md). - -### Windows Defender Antivirus (Windows Defender AV) optimization -A well-configured machine complies to the minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for Windows Defender AV. - -> [!IMPORTANT] -> This feature is available for machines on Windows 10, version 1607 or later. - -#### Minimum baseline configuration setting for Windows Defender AV: -A well-configured machine for Windows Defender AV meets the following requirements: - -- Windows Defender AV is reporting correctly -- Windows Defender AV is turned on -- Security intelligence is up-to-date -- Real-time protection is on -- Potentially Unwanted Application (PUA) protection is enabled - -You can take the following actions to increase the overall security score of your organization: - ->[!NOTE] -> For the Windows Defender Antivirus properties to show, you'll need to ensure that the Windows Defender Antivirus Cloud-based protection is properly configured on the machine. - -- Fix antivirus reporting - - This recommendation is displayed when the Windows Defender Antivirus is not properly configured to report its health state. For more information on fixing the reporting, see [Configure and validate network connections](../windows-defender-antivirus/configure-network-connections-windows-defender-antivirus.md). -- Turn on antivirus -- Update antivirus Security intelligence -- Turn on real-time protection -- Turn on PUA protection - -For more information, see [Configure Windows Defender Antivirus](../windows-defender-antivirus/configure-windows-defender-antivirus-features.md). - -### OS security updates optimization - -This tile shows you the number of machines that require the latest security updates. It also shows machines that are running on the latest Windows Insider preview build and serves as a reminder to ensure that users should run the latest builds. - -> [!IMPORTANT] -> This feature is available for machines on Windows 10, version 1607 or later. - -You can take the following actions to increase the overall security score of your organization: - -* Install the latest security updates -* Fix sensor data collection - * The Microsoft Defender ATP service relies on sensor data collection to determine the security state of a machine. The service will not be able to determine the security state of machines that are not reporting sensor data properly. It's important to ensure that sensor data collection is working properly. For more information, see [Fix unhealthy sensors](fix-unhealthy-sensors.md). - -For more information, see [Windows Update Troubleshooter](https://support.microsoft.com/help/4027322/windows-windows-update-troubleshooter). - -### Windows Defender Exploit Guard (Windows Defender EG) optimization - - -A well-configured machine complies to the minimum baseline configuration setting. This tile shows you a list of actions to apply on machines to meet the minimum baseline configuration setting for Microsoft Defender EG. When endpoints are configured according to the baseline the Microsoft Defender EG events shows on the Microsoft Defender ATP Machine timeline. - -> [!IMPORTANT] -> This security control is only applicable for machines with Windows 10, version 1709 or later. - -#### Minimum baseline configuration setting for Windows Defender EG - -Machines are considered "well configured" for Microsoft Defender EG if the following requirements are met: - -* System level protection settings are configured correctly -* Attack Surface Reduction rules are configured correctly -* Controlled Folder Access setting is configured correctly - -##### System level protection - -The following system level configuration settings must be set to **On or Force On**: - -1. Control Flow Guard -2. Data Execution Prevention (DEP) -3. Randomize memory allocations (Bottom-up ASLR) -4. Validate exception chains (SEHOP) -5. Validate heap integrity - -> [!NOTE] -> The setting **Force randomization for images (Mandatory ASLR)** is currently excluded from the baseline. -> Consider configuring **Force randomization for images (Mandatory ASLR)** to **On or Force On** for better protection. - -##### Attack Surface Reduction (ASR) rules - -The following ASR rules must be configured to **Block mode**: - -Rule description | GUIDs --|- -Block executable content from email client and webmail | BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550 -Block Office applications from creating child processes | D4F940AB-401B-4EFC-AADC-AD5F3C50688A -Block Office applications from creating executable content | 3B576869-A4EC-4529-8536-B80A7769E899 -Impede JavaScript and VBScript to launch executables | D3E037E1-3EB8-44C8-A917-57927947596D -Block execution of potentially obfuscated scripts | 5BEB7EFE-FD9A-4556-801D-275E5FFC04CC -Block Win32 imports from Macro code in Office | 92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B - -> [!NOTE] -> The setting **Block Office applications from injecting into other processes** with GUID 75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84 is excluded from the baseline. -> Consider enabling this rule in **Audit** or **Block mode** for better protection. - -##### Controlled Folder Access - -The Controlled Folder Access setting must be configured to **Audit mode** or **Enabled**. - -> [!NOTE] -> Audit mode, allows you to see audit events in the Microsoft Defender ATP Machine timeline however it does not block suspicious applications. -> Consider enabling Controlled Folder Access for better protection. - -##### Recommended actions - -You can take the following actions to increase the overall security score of your organization: - -- Turn on all system-level Exploit Protection settings -- Set all ASR rules to enabled or audit mode -- Turn on Controlled Folder Access -- Turn on Windows Defender Antivirus on compatible machines - -### Windows Defender Application Guard (Windows Defender AG) optimization -A well-configured machine complies to the minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for Windows Defender AG. When endpoints are configured according to the baseline, Windows Defender AG events shows on the Microsoft Defender ATP Machine timeline. - -A well-configured machine complies to a minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for Microsoft Defender AG. When endpoints are configured according to the baseline, Microsoft Defender AG events shows on the Microsoft Defender ATP Machine timeline. - -> [!IMPORTANT] -> This security control is only applicable for machines with Windows 10, version 1709 or later. - -#### Minimum baseline configuration setting for Windows Defender AG: -A well-configured machine for Windows Defender AG meets the following requirements: - -- Hardware and software prerequisites are met -- Windows Defender AG is turned on compatible machines -- Managed mode is turned on - -You can take the following actions to increase the overall security score of your organization: - -* Ensure hardware and software prerequisites are met - - > [!NOTE] - > This improvement item does not contribute to the security score in itself because it's not a prerequisite for Microsoft Defender AG. It gives an indication of a potential reason why Microsoft Defender AG is not turned on. - -* Turn on Microsoft Defender AG on compatible machines -* Turn on managed mode - -For more information, see [Microsoft Defender Application Guard overview](../windows-defender-application-guard/wd-app-guard-overview.md). - -### Windows Defender SmartScreen optimization - -A well-configured machine complies to a minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for Microsoft Defender SmartScreen. - -> [!WARNING] -> Data collected by Microsoft Defender SmartScreen might be stored and processed outside of the storage location you have selected for your Microsoft Defender ATP data. - -> [!IMPORTANT] -> This security control is only applicable for machines with Windows 10, version 1709 or later. - -#### Minimum baseline configuration setting for Windows Defender SmartScreen: - -The following settings must be configured with the following settings: - -* Check apps and files: **Warn** or **Block** -* Microsoft Defender SmartScreen for Microsoft Edge: **Warn** or **Block** -* Microsoft Defender SmartScreen for Microsoft store apps: **Warn** or **Off** - -You can take the following actions to increase the overall security score of your organization: - -- Set **Check app and files** to **Warn** or **Block** -- Set **Windows Defender SmartScreen for Microsoft Edge** to **Warn** or **Block** -- Set **Windows Defender SmartScreen for Microsoft store apps** to **Warn** or **Off** - -For more information, see [Windows Defender SmartScreen](../windows-defender-smartscreen/windows-defender-smartscreen-overview.md). - -* Set **Check app and files** to **Warn** or **Block** -* Set **Windows Defender SmartScreen for Microsoft Edge** to **Warn** or **Block** -* Set **Windows Defender SmartScreen for Microsoft store apps** to **Warn** or **Off** - -For more information, see [Windows Defender SmartScreen](../windows-defender-smartscreen/windows-defender-smartscreen-overview.md). - -### Windows Defender Firewall optimization - -A well-configured machine must have Microsoft Defender Firewall turned on and enabled for all profiles so that inbound connections are blocked by default. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for Microsoft Defender Firewall. - -> [!IMPORTANT] -> This security control is only applicable for machines with Windows 10, version 1709 or later. - -#### Minimum baseline configuration setting for Windows Defender Firewall - -* Microsoft Defender Firewall is turned on for all network connections -* Secure domain profile by enabling Microsoft Defender Firewall and ensure that Inbound connections are set to Blocked -* Secure private profile by enabling Microsoft Defender Firewall and ensure that Inbound connections are set to Blocked -* Secure public profile is configured by enabling Microsoft Defender Firewall and ensure that Inbound connections are set to Blocked - -For more information on Windows Defender Firewall settings, see [Planning settings for a basic firewall policy](https://docs.microsoft.com/windows/security/identity-protection/windows-firewall/planning-settings-for-a-basic-firewall-policy). - -> [!NOTE] -> If Windows Defender Firewall is not your primary firewall, consider excluding it from the security score calculations and make sure that your third-party firewall is configured in a securely. - -##### Recommended actions - -You can take the following actions to increase the overall security score of your organization: - -* Turn on firewall -* Secure domain profile -* Secure private profile -* Secure public profile -* Verify secure configuration of third-party firewall -* Fix sensor data collection - * The Microsoft Defender ATP service relies on sensor data collection to determine the security state of a machine. The service will not be able to determine the security state of machines that are not reporting sensor data properly. It's important to ensure that sensor data collection is working properly. For more information, see [Fix unhealthy sensors](fix-unhealthy-sensors.md). - -For more information, see [Windows Defender Firewall with Advanced Security](https://docs.microsoft.com/windows/security/identity-protection/windows-firewall/windows-firewall-with-advanced-security). - -### BitLocker optimization - -A well-configured machine complies to the minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for BitLocker. - -> [!IMPORTANT] -> This security control is only applicable for machines with Windows 10, version 1803 or later. - -#### Minimum baseline configuration setting for BitLocker - -* Ensure all supported drives are encrypted -* Ensure that all suspended protection on drives resume protection -* Ensure that drives are compatible - -##### Recommended actions - -You can take the following actions to increase the overall security score of your organization: - -* Encrypt all supported drives -* Resume protection on all drives -* Ensure drive compatibility -* Fix sensor data collection - * The Microsoft Defender ATP service relies on sensor data collection to determine the security state of a machine. The service will not be able to determine the security state of machines that are not reporting sensor data properly. It's important to ensure that sensor data collection is working properly. For more information, see [Fix unhealthy sensors](fix-unhealthy-sensors.md). - -For more information, see [Bitlocker](https://docs.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview). - -### Windows Defender Credential Guard optimization -A well-configured machine complies to the minimum baseline configuration setting. This tile shows you a list of actions to apply on endpoints to meet the minimum baseline configuration setting for Windows Defender Credential Guard. - -> [!IMPORTANT] -> This security control is only applicable for machines with Windows 10, version 1709 or later. - -#### Minimum baseline configuration setting for Windows Defender Credential Guard: -Well-configured machines for Windows Defender Credential Guard meets the following requirements: - -- Hardware and software prerequisites are met -- Windows Defender Credential Guard is turned on compatible machines - -##### Recommended actions - -You can take the following actions to increase the overall security score of your organization: - -* Ensure hardware and software prerequisites are met -* Turn on Credential Guard -* Fix sensor data collection - * The Microsoft Defender ATP service relies on sensor data collection to determine the security state of a machine. The service will not be able to determine the security state of machines that are not reporting sensor data properly. It's important to ensure that sensor data collection is working properly. For more information, see [Fix unhealthy sensors](fix-unhealthy-sensors.md). - -For more information, see [Manage Windows Defender Credential Guard](https://docs.microsoft.com/windows/security/identity-protection/credential-guard/credential-guard-manage). - ->Want to experience Microsoft Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-sadashboard-belowfoldlink) - -## Related topics - -* [Overview of Secure score](overview-secure-score.md) -* [Risk-based Threat & Vulnerability Management](next-gen-threat-and-vuln-mgt.md) -* [Threat & Vulnerability Management dashboard overview](tvm-dashboard-insights.md) -* [Exposure score](tvm-exposure-score.md) -* [Configuration score](configuration-score.md) -* [Security recommendations](tvm-security-recommendation.md) -* [Remediation](tvm-remediation.md) -* [Software inventory](tvm-software-inventory.md) -* [Weaknesses](tvm-weaknesses.md) -* [Scenarios](threat-and-vuln-mgt-scenarios.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/security-operations-dashboard.md b/windows/security/threat-protection/microsoft-defender-atp/security-operations-dashboard.md index ea54e6d0ea..00820b5fe4 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/security-operations-dashboard.md +++ b/windows/security/threat-protection/microsoft-defender-atp/security-operations-dashboard.md @@ -121,5 +121,5 @@ Click the user account to see details about the user account. For more informati ## Related topics - [Understand the Microsoft Defender Advanced Threat Protection portal](use.md) - [Portal overview](portal-overview.md) -- [View the Secure Score dashboard and improve your secure score](secure-score-dashboard.md) +- [View the Threat & Vulnerability Management dashboard](tvm-dashboard-insights.md) - [View the Threat analytics dashboard and take recommended mitigation actions](threat-analytics.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/threat-and-vuln-mgt-scenarios.md b/windows/security/threat-protection/microsoft-defender-atp/threat-and-vuln-mgt-scenarios.md index 7df11c3d9e..9f6f5b45c6 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/threat-and-vuln-mgt-scenarios.md +++ b/windows/security/threat-protection/microsoft-defender-atp/threat-and-vuln-mgt-scenarios.md @@ -85,8 +85,9 @@ To lower down your threat and vulnerability exposure: 6. Review the machine **Security recommendation** tab again. The recommendation you've chosen to remediate is removed from the security recommendation list, and the exposure score decreases. ## Improve your security configuration + >[!NOTE] -> Secure score is now part of Threat & Vulnerability Management as [configuration score](configuration-score.md). The secure score page is available for a few weeks. View the [secure score](https://securitycenter.windows.com/securescore) page. +> Secure score is now part of Threat & Vulnerability Management as [configuration score](configuration-score.md). You can improve your security configuration when you remediate issues from the security recommendations list. As you do so, your configuration score improves, which means your organization becomes more resilient against cybersecurity threats and vulnerabilities. diff --git a/windows/security/threat-protection/microsoft-defender-atp/tvm-remediation.md b/windows/security/threat-protection/microsoft-defender-atp/tvm-remediation.md index ffd3002549..a0465dd642 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/tvm-remediation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/tvm-remediation.md @@ -66,10 +66,10 @@ When you submit a remediation request from Threat & Vulnerability Management, it It creates a security task which will be tracked in Threat & Vulnerability Management **Remediation** page, and it also creates a remediation ticket in Microsoft Intune. -The dashboard will show that status of your top remediation activities. Click any of the entries and it will take you to the **Remediation** page. You can mark the remediation activity as completed after the IT administration team remediates the task. +The dashboard will show that status of your top remediation activities. Click any of the entries and it will take you to the **Remediation** page. You can mark the remediation activity as completed after the IT administration team remediates the task. ## When to file for exception instead of remediating issues -You can file exceptions to exclude certain recommendation from showing up in reports and affecting risk scores or secure scores. +You can file exceptions to exclude certain recommendation from showing up in reports and affecting your configuration score. When you select a security recommendation, it opens up a flyout screen with details and options for your next step. You can either **Open software page**, choose from **Remediation options**, go through **Exception options** to file for exceptions, or **Report inaccuracy**. @@ -113,10 +113,10 @@ Clicking the link opens up to the **Security recommendations** page, where you c - **In effect** - The exception that you've filed is in progress ### Exception impact on scores -Creating an exception can potentially affect the Exposure Score (for both types of weaknesses) and Secure Score (for configurations) of your organization in the following manner: +Creating an exception can potentially affect the Exposure Score (for both types of weaknesses) and Configuration Score (for configurations) of your organization in the following manner: - **No impact** - Removes the recommendation from the lists (which can be reverse through filters), but will not affect the scores - **Mitigation-like impact** - As if the recommendation was mitigated (and scores will be adjusted accordingly) when you select it as a compensating control. -- **Hybrid** - Provides visibility on both No impact and Mitigation-like impact. It shows both the Exposure Score and Secure Score results out of the exception option that you made +- **Hybrid** - Provides visibility on both No impact and Mitigation-like impact. It shows both the Exposure Score and Configuration Score results out of the exception option that you made The exception impact shows on both the Security recommendations page column and in the flyout pane. diff --git a/windows/security/threat-protection/microsoft-defender-atp/use.md b/windows/security/threat-protection/microsoft-defender-atp/use.md index dbf6830312..1b86e94b66 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/use.md +++ b/windows/security/threat-protection/microsoft-defender-atp/use.md @@ -29,7 +29,7 @@ Microsoft Defender Security Center is the portal where you can access Microsoft Use the **Security operations** dashboard to gain insight on the various alerts on machines and users in your network. -Use the **Secure Score** dashboard to expand your visibility on the overall security posture of your organization. You'll see machines that require attention and recommendations that can help you reduce the attack surface in your organization. +Use the **Threat & Vulnerability Management** dashboard to expand your visibility on the overall security posture of your organization. You'll see machines that require attention and recommendations that can help you reduce the attack surface in your organization. Use the **Threat analytics** dashboard to continually assess and control risk exposure to Spectre and Meltdown. @@ -39,5 +39,5 @@ Topic | Description :---|:--- [Portal overview](portal-overview.md) | Understand the portal layout and area descriptions. [View the Security operations dashboard](security-operations-dashboard.md) | The Microsoft Defender ATP **Security operations dashboard** provides a snapshot of your network. You can view aggregates of alerts, the overall status of the service of the machines on your network, investigate machines, files, and URLs, and see snapshots of threats seen on machines. -[View the Secure Score dashboard and improve your secure score](secure-score-dashboard.md) | The **Secure Score dashboard** expands your visibility into the overall security posture of your organization. From this dashboard, you'll be able to quickly assess the security posture of your organization, see machines that require attention, as well as recommendations for actions to further reduce the attack surface in your organization - all in one place. +[View the Threat & Vulnerability Management dashboard](tvm-dashboard-insights.md) | The **Threat & Vulnerability Management dashboard** lets you view exposure and configuration scores side-by-side with top security recommendations, software vulnerability, remediation activities, and exposed machines. [View the Threat analytics dashboard and take recommended mitigation actions](threat-analytics.md) | The **Threat analytics** dashboard helps you continually assess and control risk exposure to threats. Use the charts to quickly identify machines for the presence or absence of mitigations. \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-antivirus/why-use-microsoft-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/why-use-microsoft-antivirus.md index 57b00a8aa0..9ba7a43bf9 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/why-use-microsoft-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/why-use-microsoft-antivirus.md @@ -34,7 +34,7 @@ Although you can use a non-Microsoft antivirus solution with Microsoft Defender | |Advantage |Why it matters | |--|--|--| |1|Antivirus signal sharing |Microsoft applications and services share signals across your enterprise organization, providing a stronger single platform. See [Insights from the MITRE ATT&CK-based evaluation of Windows Defender ATP](https://www.microsoft.com/security/blog/2018/12/03/insights-from-the-mitre-attack-based-evaluation-of-windows-defender-atp/). | -|2|Threat analytics and your secure score |Windows Defender Antivirus collects underlying system data used by [threat analytics](../microsoft-defender-atp/threat-analytics.md) and [secure score](../microsoft-defender-atp/overview-secure-score.md). This provides your organization's security team with more meaningful information, such as recommendations and opportunities to improve your organization's security posture. | +|2|Threat analytics and your configuration score |Windows Defender Antivirus collects underlying system data used by [threat analytics](../microsoft-defender-atp/threat-analytics.md) and [configuration score](../microsoft-defender-atp/configuration-score.md). This provides your organization's security team with more meaningful information, such as recommendations and opportunities to improve your organization's security posture. | |3|Performance |Microsoft Defender ATP is designed to work with Windows Defender Antivirus, so you get better performance when you use these offerings together. [Evaluate Windows Defender Antivirus](evaluate-windows-defender-antivirus.md) and [Microsoft Defender ATP](../microsoft-defender-atp/evaluate-atp.md).| |4|Details about blocked malware |More details and actions for blocked malware are available with Windows Defender Antivirus and Microsoft Defender ATP. [Understand malware & other threats](../intelligence/understanding-malware.md).| |5|Network protection |Your organization's security team can protect your network by blocking specific URLs and IP addresses. [Protect your network](../microsoft-defender-atp/network-protection.md).| From 0c5d83786e197895f5ce32f2b373085a582df757 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 21 Feb 2020 10:32:29 -0800 Subject: [PATCH 111/150] Update manage-auto-investigation.md --- .../manage-auto-investigation.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md index 04e76fc5f1..2114c8e188 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md @@ -21,7 +21,22 @@ ms.topic: conceptual When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. For example, some actions, such as removing malware, are taken automatically. Other actions require review and approval to proceed. -As a best practice, make sure to approve (or reject) pending actions as soon as possible. This helps your automated investigations complete in a timely manner. +## Remediation actions + +When a verdict of *Malicious* is reached for a piece of evidence, Microsoft Defender Advanced Threat Protection takes one of the following remediation actions automatically: +- Quarantine file +- Remove registry key +- Kill process +- Stop service +- Remove registry key +- Disable driver +- Remove scheduled task + +Evidence determined as *Suspicious* results in pending actions that require approval. As a best practice, make sure to approve (or reject) pending actions as soon as possible. This helps your automated investigations complete in a timely manner. + +No actions are taken when evidence is determined to be *Clean*. + +In Microsoft Defender Advanced Threat Protection, all verdicts are tracked and viewable in the Microsoft Defender Security Center. ## Review pending actions @@ -35,7 +50,6 @@ As a best practice, make sure to approve (or reject) pending actions as soon as You can also select multiple investigations to approve or reject actions on multiple investigations. - ## Review completed actions From c884a85484cc9907322a6169ce0733436eb74b85 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 21 Feb 2020 10:38:06 -0800 Subject: [PATCH 112/150] AIR fixes --- .../auto-investigation-action-center.md | 4 +--- .../microsoft-defender-atp/automated-investigations.md | 6 ++++++ .../microsoft-defender-atp/manage-auto-investigation.md | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md index d297b71baf..fdb2c392fa 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md +++ b/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center.md @@ -18,8 +18,7 @@ ms.topic: article # View details and results of automated investigations - -Pending and completed actions are listed in the Action center ([https://securitycenter.windows.com/action-center](https://securitycenter.windows.com/action-center)) and the Investigations list ([https://securitycenter.windows.com/investigations](https://securitycenter.windows.com/investigations)). +Pending and completed [remediation actions](manage-auto-investigation.md#remediation-actions) are listed in the **Action center** ([https://securitycenter.windows.com/action-center](https://securitycenter.windows.com/action-center)) and the **Investigations** page ([https://securitycenter.windows.com/investigations](https://securitycenter.windows.com/investigations)). >[!NOTE] >If your organization has implemented role-based access to manage portal access, only authorized users or user groups who have permission to view the machine or machine group will be able to view the entire investigation. @@ -65,7 +64,6 @@ On the **Investigations** page, you can view details and use filters to focus on |**Tags** |Filter using manually added tags that capture the context of an automated investigation.| |**Comments** |Select between filtering the list between automated investigations that have comments and those that don't.| - ## Automated investigation status An automated investigation can be have one of the following status values: diff --git a/windows/security/threat-protection/microsoft-defender-atp/automated-investigations.md b/windows/security/threat-protection/microsoft-defender-atp/automated-investigations.md index 346bd331f0..17a56b7252 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/automated-investigations.md +++ b/windows/security/threat-protection/microsoft-defender-atp/automated-investigations.md @@ -85,3 +85,9 @@ When a pending action is approved, the entity is then remediated and this new st ## Next step - [Learn about the automated investigations dashboard](manage-auto-investigation.md) + +## Related articles + +- [Automated investigation and response in Office 365 Advanced Threat Protection](https://docs.microsoft.com/microsoft-365/security/office-365-security/office-365-air) + +- [Automated investigation and response in Microsoft Threat Protection](https://docs.microsoft.com/microsoft-365/security/mtp/mtp-autoir) \ No newline at end of file diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md index 2114c8e188..8289129ad0 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md @@ -63,4 +63,6 @@ In Microsoft Defender Advanced Threat Protection, all verdicts are tracked and v ## Related articles -[Advanced Hunting](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-overview) \ No newline at end of file +- [Automated investigation and response in Office 365 Advanced Threat Protection](https://docs.microsoft.com/microsoft-365/security/office-365-security/office-365-air) + +- [Automated investigation and response in Microsoft Threat Protection](https://docs.microsoft.com/microsoft-365/security/mtp/mtp-autoir) \ No newline at end of file From f68814cc566f967e7178854e44de23a5996e7dd8 Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Fri, 21 Feb 2020 11:43:17 -0800 Subject: [PATCH 113/150] Update surface-hub-2s-onprem-powershell.md Removes duplicate powershell snippet --- devices/surface-hub/surface-hub-2s-onprem-powershell.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/devices/surface-hub/surface-hub-2s-onprem-powershell.md b/devices/surface-hub/surface-hub-2s-onprem-powershell.md index fb2c98dcbd..6a0553f72e 100644 --- a/devices/surface-hub/surface-hub-2s-onprem-powershell.md +++ b/devices/surface-hub/surface-hub-2s-onprem-powershell.md @@ -26,12 +26,6 @@ $ExchSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUr Import-PSSession $ExchSession ``` -```PowerShell -$ExchServer = Read-Host "Please Enter the FQDN of your Exchange Server" -$ExchSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://$ExchServer/PowerShell/ -Authentication Kerberos -Credential (Get-Credential) -Import-PSSession $ExchSession -``` - ## Create the device account ```PowerShell From e411d2ce309d2c31cc1d95adbb4c26e44914ea6d Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Fri, 21 Feb 2020 12:02:33 -0800 Subject: [PATCH 114/150] Update dataeraser-arch.png Updates screenshot --- devices/surface/images/dataeraser-arch.png | Bin 173037 -> 136667 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/devices/surface/images/dataeraser-arch.png b/devices/surface/images/dataeraser-arch.png index 07eb456002f6ea7c6cb663014dfeae5671670701..5010120cf167b44884f4149e0fbb494446f14ad9 100644 GIT binary patch literal 136667 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

    fMu* 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 BP%RR;&S1CF&5(S{sF3c{WSRZiOiWgZ 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 z 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 pPV~4V!;=BSk-&*UQW$&5%Wc<}o?l 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%0Dog953#w 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

    {> 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 LNkvXXu0mjfqK}|G From 147a23a68dec25829a71968854c0919a9f803577 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 21 Feb 2020 12:24:22 -0800 Subject: [PATCH 115/150] Update manage-auto-investigation.md --- .../microsoft-defender-atp/manage-auto-investigation.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md index 8289129ad0..a9250abb97 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md @@ -19,10 +19,10 @@ ms.topic: conceptual # Review and approve actions following an automated investigation -When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. For example, some actions, such as removing malware, are taken automatically. Other actions require review and approval to proceed. - ## Remediation actions +When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. For example, some actions, such as removing malware, are taken automatically. Other actions require review and approval to proceed. + When a verdict of *Malicious* is reached for a piece of evidence, Microsoft Defender Advanced Threat Protection takes one of the following remediation actions automatically: - Quarantine file - Remove registry key @@ -32,11 +32,11 @@ When a verdict of *Malicious* is reached for a piece of evidence, Microsoft Defe - Disable driver - Remove scheduled task -Evidence determined as *Suspicious* results in pending actions that require approval. As a best practice, make sure to approve (or reject) pending actions as soon as possible. This helps your automated investigations complete in a timely manner. +Evidence determined as *Suspicious* results in pending actions that require approval. As a best practice, make sure to [approve (or reject) pending actions](#review-pending-actions) as soon as possible. This helps your automated investigations complete in a timely manner. No actions are taken when evidence is determined to be *Clean*. -In Microsoft Defender Advanced Threat Protection, all verdicts are tracked and viewable in the Microsoft Defender Security Center. +In Microsoft Defender Advanced Threat Protection, all verdicts are [tracked and viewable in the Microsoft Defender Security Center](#review-completed-actions). ## Review pending actions From 2f90d2df6a53d4298715df1963e027ed5faec1f7 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 21 Feb 2020 13:43:37 -0800 Subject: [PATCH 116/150] add bullet --- .../microsoft-defender-atp/manage-indicators.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md b/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md index be8b72641f..ae1856f3eb 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md @@ -125,7 +125,8 @@ It's important to understand the following prerequisites prior to creating indic > For web protection scenarios, we recommend using the built-in capabilities in Microsoft Edge. Microsoft Edge leverages Network Protection (link) to inspect network traffic and allows blocks for TCP, HTTP, and HTTPS (TLS):
    > NOTE: >- IP is supported for all three protocols ->- Encrypted URLs can only be blocked on first party browsers +>- Encrypted URLs (full path) can only be blocked on first party browsers +>- Encrypted URLS (FQDN only) can be blocked outside of first party browsers >- Full URL path blocks can be applied on the domain level and all unencrypted URLs >[!NOTE] From 799227966db9bc198b59c6566f736604de6ea203 Mon Sep 17 00:00:00 2001 From: John Liu <49762389+ShenLanJohn@users.noreply.github.com> Date: Fri, 21 Feb 2020 13:54:00 -0800 Subject: [PATCH 117/150] CAT Auto Pulish for Windows Release Messages - CAT_AutoPublish_20200221123051 (#2109) Co-authored-by: Direesh Kumar Kandakatla --- windows/release-information/windows-message-center.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/release-information/windows-message-center.yml b/windows/release-information/windows-message-center.yml index ba231e5da7..30fd3229a9 100644 --- a/windows/release-information/windows-message-center.yml +++ b/windows/release-information/windows-message-center.yml @@ -50,6 +50,7 @@ sections: text: " + From cf12480e69ee33ff8fbe5908285bacd85d811f9c Mon Sep 17 00:00:00 2001 From: John Liu <49762389+ShenLanJohn@users.noreply.github.com> Date: Fri, 21 Feb 2020 14:17:42 -0800 Subject: [PATCH 118/150] CAT Auto Pulish for Windows Release Messages - 20200221140728 (#2111) * Updating autopilot mail to be accurate HoloLens AutoPilot Preview ; != hlappreview@service.microsoft.com @scooley * Update manage-auto-investigation.md * add bullet * CAT Auto Pulish for Windows Release Messages - CAT_AutoPublish_20200221123051 (#2109) Co-authored-by: Direesh Kumar Kandakatla Co-authored-by: Evan Miller Co-authored-by: Denise Vangel-MSFT Co-authored-by: Gary Moore Co-authored-by: jcaparas Co-authored-by: Direesh Kumar Kandakatla --- devices/hololens/hololens-insider.md | 2 +- windows/release-information/windows-message-center.yml | 1 + .../microsoft-defender-atp/manage-auto-investigation.md | 8 ++++---- .../microsoft-defender-atp/manage-indicators.md | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/devices/hololens/hololens-insider.md b/devices/hololens/hololens-insider.md index 3d8c8eb80a..c5b4546772 100644 --- a/devices/hololens/hololens-insider.md +++ b/devices/hololens/hololens-insider.md @@ -61,7 +61,7 @@ Here's a quick summary of what's new: - Support for FIDO2 Security Keys to enable secure and easy authentication for shared devices - Seamlessly apply a provisioning package from a USB drive to your HoloLens - Use a provisioning packages to enroll your HoloLens to your Mobile Device Management system -- Use Windows AutoPilot to set up and pre-configure new devices, quickly getting them ready for productive use. Send a note to hlappreview@service.microsoft.com to join the preview. +- Use Windows AutoPilot to set up and pre-configure new devices, quickly getting them ready for productive use. Send a note to hlappreview@microsoft.com to join the preview. - Dark Mode - many Windows apps support both dark and light modes, and now HoloLens customers can choose the default mode for apps that support both color schemes! Based on customer feedback, with this update we are setting the default app mode to "dark," but you can easily change this setting at any time. Navigate to Settings > System > Colors to find "Choose your default app mode." - Support for additional system voice commands - Hand Tracking improvements to reduce the tendency to close the index finger when pointing. This should make button pressing and 2D slate usage feel more accurate diff --git a/windows/release-information/windows-message-center.yml b/windows/release-information/windows-message-center.yml index ba231e5da7..30fd3229a9 100644 --- a/windows/release-information/windows-message-center.yml +++ b/windows/release-information/windows-message-center.yml @@ -50,6 +50,7 @@ sections: text: "
    MessageDate
    Status of February 2020 “C” release
    The optional monthly “C” release for February 2020 for all supported versions of Windows and Windows Server prior to Windows 10, version 1903 and Windows Server, version 1903 will be available in the near term. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
    February 21, 2020
    12:00 PM PT
    Compatibility issue with some Windows Server container images
    If you are encountering issues with Windows Server container images, please see KB4542617.
    February 13, 2020
    03:21 PM PT
    Take action: February 2020 security update available for all supported versions of Windows
    The February 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
    February 11, 2020
    08:00 AM PT
    Take action: ESU security updates available for Windows 7 SP1, Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
    Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2008 SP2 reached end of support on January 14, 2020. For customers who have purchased Extended Security Updates (ESU), the first monthly ESU security updates are now available. If your organization has not yet been able to complete your transition to Windows 10, Windows Server 2016, or Windows Server 2019 and want to continue to receive security updates for your current version of Windows, you will need to purchase Extended Security Updates. For information on how to do so, please see How to get Extended Security Updates for eligible Windows devices, Windows 7 ESU frequently ask questions, and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 ESU frequently asked questions.

    We recommend ESU customers review the applicable KB article below for prerequisites and other important information you will need to deploy these updates.

    The following updates were released today for Windows Server 2008 SP2:
    The following updates were released today for Windows 7 SP1 and Windows Server 2008 R2 SP1:
    February 11, 2020
    08:00 AM PT
    + diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md index 8289129ad0..a9250abb97 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md @@ -19,10 +19,10 @@ ms.topic: conceptual # Review and approve actions following an automated investigation -When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. For example, some actions, such as removing malware, are taken automatically. Other actions require review and approval to proceed. - ## Remediation actions +When an automated investigation runs, a verdict is generated for each piece of evidence investigated. Verdicts can be *Malicious*, *Suspicious*, or *Clean*. Depending on the type of threat and resulting verdict, remediation actions occur automatically or upon approval by your organization’s security operations team. For example, some actions, such as removing malware, are taken automatically. Other actions require review and approval to proceed. + When a verdict of *Malicious* is reached for a piece of evidence, Microsoft Defender Advanced Threat Protection takes one of the following remediation actions automatically: - Quarantine file - Remove registry key @@ -32,11 +32,11 @@ When a verdict of *Malicious* is reached for a piece of evidence, Microsoft Defe - Disable driver - Remove scheduled task -Evidence determined as *Suspicious* results in pending actions that require approval. As a best practice, make sure to approve (or reject) pending actions as soon as possible. This helps your automated investigations complete in a timely manner. +Evidence determined as *Suspicious* results in pending actions that require approval. As a best practice, make sure to [approve (or reject) pending actions](#review-pending-actions) as soon as possible. This helps your automated investigations complete in a timely manner. No actions are taken when evidence is determined to be *Clean*. -In Microsoft Defender Advanced Threat Protection, all verdicts are tracked and viewable in the Microsoft Defender Security Center. +In Microsoft Defender Advanced Threat Protection, all verdicts are [tracked and viewable in the Microsoft Defender Security Center](#review-completed-actions). ## Review pending actions diff --git a/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md b/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md index be8b72641f..ae1856f3eb 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md +++ b/windows/security/threat-protection/microsoft-defender-atp/manage-indicators.md @@ -125,7 +125,8 @@ It's important to understand the following prerequisites prior to creating indic > For web protection scenarios, we recommend using the built-in capabilities in Microsoft Edge. Microsoft Edge leverages Network Protection (link) to inspect network traffic and allows blocks for TCP, HTTP, and HTTPS (TLS):
    > NOTE: >- IP is supported for all three protocols ->- Encrypted URLs can only be blocked on first party browsers +>- Encrypted URLs (full path) can only be blocked on first party browsers +>- Encrypted URLS (FQDN only) can be blocked outside of first party browsers >- Full URL path blocks can be applied on the domain level and all unencrypted URLs >[!NOTE] From e2507339bb48bc37021607db51264ebd87c6d398 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 21 Feb 2020 14:28:15 -0800 Subject: [PATCH 119/150] remove layout metadata per landing page requirements --- windows/deployment/update/windows-as-a-service.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/deployment/update/windows-as-a-service.md b/windows/deployment/update/windows-as-a-service.md index 89b24aea50..613250332f 100644 --- a/windows/deployment/update/windows-as-a-service.md +++ b/windows/deployment/update/windows-as-a-service.md @@ -1,7 +1,6 @@ --- title: Windows as a service -ms.prod: windows-10 -layout: LandingPage +ms.prod: windows-10 ms.topic: landing-page ms.manager: elizapo audience: itpro From 825584cf8dcd6ca6423b93d5b6bbf430afb61aa2 Mon Sep 17 00:00:00 2001 From: Jordan Geurten Date: Fri, 21 Feb 2020 15:06:13 -0800 Subject: [PATCH 120/150] Update select-types-of-rules-to-create.md --- .../select-types-of-rules-to-create.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index 67a0e29bf9..9a34189383 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -120,9 +120,9 @@ There is a defined list of SIDs which WDAC recognizes as admins. If a filepath a WDAC's list of well-known admin SIDs are:
    S-1-3-0; S-1-5-18; S-1-5-19; S-1-5-20; S-1-5-32-544; S-1-5-32-549; S-1-5-32-550; S-1-5-32-551; S-1-5-32-577; S-1-5-32-559; S-1-5-32-568; S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394; S-1-15-2-95739096-486727260-2033287795-3853587803-1685597119-444378811-2746676523. -When generating filepath rules using [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), a unique, fully-qualified path rule is generated for every file discovered in the scanned path(s). To create rules that instead allow all files under a specified folder path, use [New-CIPolicyRule](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) to define rules containing wildcards and include them in your [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) scan using the -Rules switch. +When generating filepath rules using [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), a unique, fully-qualified path rule is generated for every file discovered in the scanned path(s). To create rules that instead allow all files under a specified folder path, use [New-CIPolicyRule](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) to define rules containing wildcards using the [-FilePathRules](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) switch. -Wildcards can be used at the beginning or end of a path rule: only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. C:\\* would include C:\foo\\* ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. \*\bar.exe would allow C:\bar.exe and C:\foo\bar.exe). Wildcards in the middle of a path are not supported (ex. C:\\*\foo.exe). Without a wildcard, the rule will allow only a specific file (ex. C:\foo\bar.exe).
    Supported macros: %WINDIR%, %SYSTEM32%, %OSDRIVE%. +Wildcards can be used at the beginning or end of a path rule: only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. C:\\* would include C:\foo\\* ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. \*\bar.exe would allow C:\bar.exe and C:\foo\bar.exe). Wildcards in the middle of a path are not supported (ex. C:\\*\foo.exe). Without a wildcard, the rule will allow only a specific file (ex. C:\foo\bar.exe).
    The use of macros are also supported and useful in the scenario where the OS is installed elsewhere than the C:\ drive. Supported macros: %OSDRIVE%, %WINDIR%, %SYSTEM32%. > [!NOTE] > Due to an existing bug, you can not combine Path-based ALLOW rules with any DENY rules in a single policy. Instead, either separate DENY rules into a separate Base policy or move the Path-based ALLOW rules into a supplemental policy as described in [Deploy multiple WDAC policies.](deploy-multiple-windows-defender-application-control-policies.md) From 5d1179bd2bf4097ebc9b53a17ae40405d0deacba Mon Sep 17 00:00:00 2001 From: Jordan Geurten Date: Fri, 21 Feb 2020 15:07:38 -0800 Subject: [PATCH 121/150] Update select-types-of-rules-to-create.md --- .../select-types-of-rules-to-create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index 9a34189383..582356b671 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -120,7 +120,7 @@ There is a defined list of SIDs which WDAC recognizes as admins. If a filepath a WDAC's list of well-known admin SIDs are:
    S-1-3-0; S-1-5-18; S-1-5-19; S-1-5-20; S-1-5-32-544; S-1-5-32-549; S-1-5-32-550; S-1-5-32-551; S-1-5-32-577; S-1-5-32-559; S-1-5-32-568; S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394; S-1-15-2-95739096-486727260-2033287795-3853587803-1685597119-444378811-2746676523. -When generating filepath rules using [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), a unique, fully-qualified path rule is generated for every file discovered in the scanned path(s). To create rules that instead allow all files under a specified folder path, use [New-CIPolicyRule](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) to define rules containing wildcards using the [-FilePathRules](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) switch. +When generating filepath rules using [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), a unique, fully-qualified path rule is generated for every file discovered in the scanned path(s). To create rules that instead allow all files under a specified folder path, use [New-CIPolicyRule](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) to define rules containing wildcards using the [-FilePathRules](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule#parameters) switch. Wildcards can be used at the beginning or end of a path rule: only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. C:\\* would include C:\foo\\* ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. \*\bar.exe would allow C:\bar.exe and C:\foo\bar.exe). Wildcards in the middle of a path are not supported (ex. C:\\*\foo.exe). Without a wildcard, the rule will allow only a specific file (ex. C:\foo\bar.exe).
    The use of macros are also supported and useful in the scenario where the OS is installed elsewhere than the C:\ drive. Supported macros: %OSDRIVE%, %WINDIR%, %SYSTEM32%. From 017e2845935b9f4c3c0a51edd3c954ff5ad1105b Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 18:41:06 -0800 Subject: [PATCH 122/150] Edit pass: microsoft-defender-atp-linux @mjcaparas Edit is complete. Please review to ensure I didn't change the technical meaning. Once changes are approved, sign off and we can merge. Thanks! Kelly --- .../microsoft-defender-atp-linux.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md index f42311c713..6497259a59 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md @@ -18,12 +18,12 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Microsoft Defender Advanced Threat Protection for Linux +# Microsoft Defender ATP for Linux -This topic describes how to install, configure, update, and use Microsoft Defender ATP for Linux. +This topic describes how to install, configure, update, and use Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux. > [!CAUTION] -> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to lead to performance problems and unpredictable side effects. +> Running other third-party endpoint protection products alongside Microsoft Defender ATP for Linux is likely to cause performance problems and unpredictable system errors. ## How to install Microsoft Defender ATP for Linux @@ -34,10 +34,10 @@ This topic describes how to install, configure, update, and use Microsoft Defend - Beginner-level experience in Linux and BASH scripting - Administrative privileges on the device (in case of manual deployment) -### Known Issues +### Known issues -- Logged on users do not appear in the ATP portal -- In SUSE distributions, if installation of *libatomic1* fails, validate that your OS is registered: +- Logged on users do not appear in the ATP portal. +- In SUSE distributions, if the installation of *libatomic1* fails, you should validate that your OS is registered: ```bash $ sudo SUSEConnect --status-text @@ -49,11 +49,11 @@ There are several methods and deployment tools that you can use to install and c In general you need to take the following steps: -- Ensure that you have a Microsoft Defender ATP subscription and have access to the Microsoft Defender ATP Portal +- Ensure that you have a Microsoft Defender ATP subscription, and that you have access to the Microsoft Defender ATP portal. - Deploy Microsoft Defender ATP for Linux using one of the following deployment methods: - - Via the command-line tool: + - The command-line tool: - [Manual deployment](linux-install-manually.md) - - Via third-party management tools: + - Third-party management tools: - [Deploy using Puppet configuration management tool](linux-install-with-puppet.md) - [Deploy using Ansbile configuration management tool](linux-install-with-ansible.md) @@ -76,7 +76,7 @@ After you've enabled the service, you may need to configure your network or fire ### Network connections -The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs, or you may need to create an *allow* rule specifically for them. +The following table lists the services and their associated URLs that your network must be able to connect to. You should ensure that there are no firewall or network filtering rules that would deny access to these URLs. If there are, you may need to create an *allow* rule specifically for them. | Service location | DNS record | | ---------------------------------------- | ----------------------- | From 9f3a64350c34827a8b469a976d248acddd7c2e12 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 19:44:20 -0800 Subject: [PATCH 123/150] Update linux-install-manually.md @mjcaparas The edit is complete. Since "install" and "deploy" were used interchangeably here, I changed most instances to "install" for consistency since that seemed more accurate. Feel free to make a different call. Note also that I changed the instances of "Microsoft Linux software repository" to just "Linux software repository," as including Microsoft could be problematic from a copyright standpoint. I couldn't find that usage anywhere either, but if you know for sure that Microsoft should be included, you can reject those changes. Please review and once approved, we can merge. Thanks, Kelly --- .../linux-install-manually.md | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 9626030b11..e3bd873642 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -1,7 +1,7 @@ --- -title: Installing Microsoft Defender ATP for Linux manually +title: Install Microsoft Defender ATP for Linux manually ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Linux manually, from the command line. +description: Describes how to install Microsoft Defender ATP for Linux manually from the command line. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -18,24 +18,24 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Manual deployment +# Install Microsoft Defender ATP for Linux manually **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Linux manually. A successful deployment requires the completion of all of the following steps: +This topic describes how to install Microsoft Defender ATP for Linux manually. A successful installation requires the completion of all of the following tasks: -- [Configure Microsoft's Linux Software Repository](#configure-microsoft-linux-software-repository) +- [Configure the Linux software repository](#configure-the-linux-software-repository) - [Application installation](#application-installation) -- [Download onboarding packages](#download-onboarding-package) +- [Download the onboarding package](#download-the-onboarding-package) - [Client configuration](#client-configuration) ## Prerequisites and system requirements Before you get started, see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -## Configure Microsoft Linux Software Repository +## Configure the Linux software repository Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. Instructions for configuring your device to use one of these repositories are provided below. @@ -45,9 +45,9 @@ In order to preview new features and provide early feedback, it is recommended t ### RHEL and variants (CentOS and Oracle EL) -- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` +- Note your distribution and version, and identify the closest entry for it under `https://packages.microsoft.com/config/`. - In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step: + In the below commands, replace *[distro]* and *[version]* with the information you've identified: > [!NOTE] > In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. @@ -77,9 +77,9 @@ In order to preview new features and provide early feedback, it is recommended t ### SLES and variants -- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` +- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. - In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. + In the below commands, replace *[distro]* and *[version]* with the information you've identified: ```bash $ sudo zypper addrepo -c -f -n microsoft-[channel] https://packages.microsoft.com/config/[distro]/[version]/[channel].repo @@ -106,9 +106,9 @@ In order to preview new features and provide early feedback, it is recommended t $ sudo apt-get install curl ``` -- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config` +- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config`. - In the below command, replace *[distro]* and *[version]* with the information identified in the previous step: + In the below command, replace *[distro]* and *[version]* with the information you've identified: ```bash $ curl -o microsoft.list https://packages.microsoft.com/config/[distro]/[version]/[channel].list @@ -140,13 +140,13 @@ In order to preview new features and provide early feedback, it is recommended t ``` -- Install the https driver in case not already present: +- Install the https driver if not already present: ```bash $ sudo apt-get install apt-transport-https ``` -- Update the repository metadata +- Update the repository metadata: ```bash $ sudo apt-get update @@ -154,31 +154,31 @@ In order to preview new features and provide early feedback, it is recommended t ## Application installation -- RHEL and variants (CentOS and Oracle EL) +- RHEL and variants (CentOS and Oracle EL): ```bash sudo yum install mdatp ``` -- SLES and variants +- SLES and variants: ```bash sudo zypper install mdatp ``` -- Ubuntu and Debian system +- Ubuntu and Debian system: ```bash sudo apt-get install mdatp ``` -## Download onboarding package +## Download the onboarding package Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, select **Linux Server** as the operating system. In the second drop down, select **Local Script (for up to 10 machines)** as the deployment method. -3. Click on **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. +2. In the first drop-down menu, select **Linux Server** as the operating system. In the second drop-down menu, select **Local Script (for up to 10 machines)** as the deployment method. +3. Select **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux.png) @@ -199,13 +199,13 @@ Download the onboarding package from Microsoft Defender Security Center: 1. Copy WindowsDefenderATPOnboarding.py to the target machine. - Initially the client machine is not associated with an organization. Note that the *orgId* attribute is blank. + Initially the client machine is not associated with an organization. Note that the *orgId* attribute is blank: ```bash $ mdatp --health orgId ``` -2. Run WindowsDefenderATPOnboarding.py (note that in order to run this command you must have `python` installed on the device). +2. Run WindowsDefenderATPOnboarding.py (note that in order to run this command you must have `python` installed on the device): ```bash $ python WindowsDefenderATPOnboarding.py @@ -218,7 +218,7 @@ Download the onboarding package from Microsoft Defender Security Center: [your organization identifier] ``` -4. A few minutes following the completion of the installation, you can see the status by running the following command. A return value of `1` denotes that the product is functioning as expected. +4. A few minutes after completing the installation, you can see the status by running the following command (a return value of `1` denotes that the product is functioning as expected): ```bash $ mdatp --health healthy @@ -227,7 +227,7 @@ Download the onboarding package from Microsoft Defender Security Center: 5. Run a detection test to verify that the machine is properly onboarded and reporting to the service. Perform the following steps on the newly onboarded machine: - - Ensure that real-time protection is enabled (denoted by a result of `1` from running the following command). + - Ensure that real-time protection is enabled (denoted by a result of `1` from running the following command): ```bash $ mdatp --health realTimeProtectionEnabled From a3b27a212e6cda1593716a5705185ecd496c95c7 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 20:15:16 -0800 Subject: [PATCH 124/150] Update linux-install-with-puppet.md @mjcaparas Edit complete! Again, we're using "install" and "deploy" interchangeably. In most cases, I think "install" is more accurate and seems to be what's used in the code, but "deploy" has a slightly different meaning and might be more accurate in some instances, so it would be good to get crisper with the usage. TOC titles don't need to map verbatim to H1 headings, but if you stick with the TOC version, use "Puppet-based installation" (or Puppet-based deployment if switching to that language throughout). On line 172: do you mean "2 if the device is not yet onboarded"? Thanks! Kelly --- .../linux-install-with-puppet.md | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index 783fd9d3ad..d03507dd0a 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -1,7 +1,7 @@ --- -title: Installing Microsoft Defender ATP for Linux with Puppet +title: Install Microsoft Defender ATP for Linux with Puppet ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Linux, using Puppet. +description: Describes how to install Microsoft Defender ATP for Linux using Puppet. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -18,16 +18,16 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Puppet based deployment +# Install Microsoft Defender ATP for Linux with Puppet **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Linux through Puppet. A successful deployment requires the completion of all of the following steps: +This topic describes how to install Microsoft Defender ATP for Linux using Puppet. A successful installation requires the completion of all of the following tasks: -- [Download onboarding packages](#download-onboarding-package) -- [Create Puppet manifest](#create-puppet-manifest) +- [Download the onboarding package](#download-the-onboarding-package) +- [Create Puppet manifest](#create-a-puppet-manifest) - [Deployment](#deployment) - [Check onboarding status](#check-onboarding-status) @@ -35,15 +35,15 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported Puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to the [Puppet documentation](https://puppet.com/docs) for details. +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported Puppet modules, such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to the [Puppet documentation](https://puppet.com/docs) for details. -## Download onboarding package +## Download the onboarding package Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, select **Linux Server** as the operating system. In the second drop down, select **Your preferred Linux configuration management tool** as the deployment method. -3. Click on **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. +2. In the first drop-down menu, select **Linux Server** as the operating system. In the second drop-down menu, select **Your preferred Linux configuration management tool** as the deployment method. +3. Select **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux-2.png) @@ -58,11 +58,11 @@ Download the onboarding package from Microsoft Defender Security Center: inflating: mdatp_onboard.json ``` -## Create Puppet manifest +## Create a Puppet manifest -You need to create a Puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by a Puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your Puppet server. +You need to create a Puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by a Puppet server. This example makes use of the *apt* module available from puppetlabs, and assumes that the apt module has been installed on your Puppet server. -Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your Puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your Puppet server. Copy the mdatp_onboard.json file created in above step to *install_mdatp/files* folder. Create a *init.pp* file which contains the deployment instructions. +Create the folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your Puppet installation. This is typically located in */etc/puppetlabs/code/environments/production/modules* on your Puppet server. Copy the mdatp_onboard.json file created above to the *install_mdatp/files* folder. Create an *init.pp* file that contains the deployment instructions: ```bash $ pwd @@ -78,7 +78,7 @@ install_mdatp ### Contents of `install_mdatp/manifests/init.pp` -Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. +Microsoft Defender ATP for Linux can be installed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insider-fast* can try out new features before devices in *prod*. @@ -86,7 +86,7 @@ In order to preview new features and provide early feedback, it is recommended t Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. -In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. +In the below commands, replace *[distro]* and *[version]* with the information you've identified: > [!NOTE] > In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. @@ -130,7 +130,7 @@ class install_mdatp { ## Deployment -Include the above manifest in your site.pp file. +Include the above manifest in your site.pp file: ```bash $ cat /etc/puppetlabs/code/environments/production/manifests/site.pp @@ -141,7 +141,7 @@ node "default" { Enrolled agent devices periodically poll the Puppet Server, and install new configuration profiles and policies as soon as they are detected. -## Monitoring Puppet deployment +## Monitor Puppet deployment On the agent machine, you can also check the onboarding status by running: @@ -155,7 +155,7 @@ orgId : "[your organization identifier]" - **licensed**: This confirms that the device is tied to your organization. -- **orgId**: your Microsoft Defender ATP organization identifier. +- **orgId**: This is your Microsoft Defender ATP organization identifier. ## Check onboarding status @@ -169,16 +169,16 @@ The above command prints `1` if the product is onboarded and functioning as expe If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: -- 1 if the device is not yet onboarded -- 3 if the connection to the daemon cannot be established +- 1 if the device is not yet onboarded. +- 3 if the connection to the daemon cannot be established. -## Logging installation issues +## Log installation issues See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -Create a module *remove_mdatp* similar to *install_mdatp* with following contents in *init.pp* file +Create a module *remove_mdatp* similar to *install_mdatp* with the following contents in *init.pp* file: ```bash class remove_mdatp { From d8645c694b380be60dd1a25593c77d84bbd1c30c Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 20:31:41 -0800 Subject: [PATCH 125/150] Update linux-install-with-ansible.md @mjcaparas Edit complete. Again, TOC title could be "Ansible-based installation" (or deployment). Thanks, Kelly --- .../linux-install-with-ansible.md | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index ebe4a8e842..489504c74a 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -1,7 +1,7 @@ --- -title: Installing Microsoft Defender ATP for Linux with Puppet +title: Install Microsoft Defender ATP for Linux with Ansible ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Linux, using Puppet. +description: Describes how to install Microsoft Defender ATP for Linux using Ansible. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -18,15 +18,15 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Ansible based deployment +# Install Microsoft Defender ATP for Linux with Ansible **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to deploy Microsoft Defender ATP for Linux through Ansible. A successful deployment requires the completion of all of the following steps: +This topic describes how to install Microsoft Defender ATP for Linux using Ansible. A successful installation requires the completion of all of the following tasks: -- [Download onboarding package](#download-onboarding-package) +- [Download the onboarding package](#download-the-onboarding-package) - [Create Ansible YAML files](#create-ansible-yaml-files) - [Deployment](#deployment) - [References](#references) @@ -35,14 +35,14 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Ansi Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -- Ansible needs to be installed at least on one computer (we will call it master) -- Passwordless SSH must be configured for root user between the master and all clients +- Ansible needs to be installed on at least on one computer (we will call it master). +- Passwordless SSH must be configured for the root user between the master and all clients. - The following software must be installed on all clients: - - python-apt - - curl - - unzip + - Python-apt + - Curl + - Unzip -- All host must be listed in the following format in `/etc/ansible/hosts` file: +- All host must be listed in the following format in the `/etc/ansible/hosts` file: ```bash [servers] @@ -50,19 +50,19 @@ Before you get started, please see [the main Microsoft Defender ATP for Linux pa host2 ansible_ssh_host=51.143.50.51 ``` -- Ping test +- Ping test: ```bash $ ansible -m ping all ``` -## Download onboarding package +## Download the onboarding package Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, select **Linux Server** as the operating system. In the second drop down, select **Your preferred Linux configuration management tool** as the deployment method. -3. Click on **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. +2. In the first drop-down menu, select **Linux Server** as the operating system. In the second drop-down menu, select **Your preferred Linux configuration management tool** as the deployment method. +3. Select **Download onboarding package**. Save the file as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux-2.png) @@ -79,9 +79,9 @@ Download the onboarding package from Microsoft Defender Security Center: ## Create Ansible YAML files -Create subtask / role files which contribute to an actual task. Create the below files under the `/etc/ansible/roles` directory. +Create subtask or role files that contribute to an actual task. Create the below files under the `/etc/ansible/roles` directory. -- Copy onboarding package to all client machines: +- Copy the onboarding package to all client machines: ```bash $ cat /etc/ansible/roles/copy_onboarding_pkg.yml @@ -94,7 +94,7 @@ Create subtask / role files which contribute to an actual task. Create the below mode: '0644' ``` -- Create a `setup.sh` script which operates on the onboarding file: +- Create a `setup.sh` script that operates on the onboarding file: ```bash $ cat /root/setup.sh @@ -127,7 +127,7 @@ Create subtask / role files which contribute to an actual task. Create the below script: /root/setup.sh ``` -- Add the Microsoft Defender ATP repository and key +- Add the Microsoft Defender ATP repository and key. Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. @@ -137,7 +137,7 @@ Create subtask / role files which contribute to an actual task. Create the below Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. - In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. + In the below commands, replace *[distro]* and *[version]* with the information you've identified. > [!NOTE] > In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. @@ -173,7 +173,7 @@ Create subtask / role files which contribute to an actual task. Create the below enabled: Yes ``` -- Create the actual install / uninstall YAML files under `/etc/ansible/playbooks` +- Create the actual install/uninstall YAML files under `/etc/ansible/playbooks`. - For apt-based distributions use the following YAML file: @@ -225,28 +225,28 @@ Create subtask / role files which contribute to an actual task. Create the below ## Deployment -Now run the tasks files under `/etc/ansible/playbooks/` +Now run the tasks files under `/etc/ansible/playbooks/`. -- Installation +- Installation: ```bash $ ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts ``` -- Validation / configuration +- Validation/configuration: ```bash $ ansible -m shell -a 'mdatp --connectivity-test' all $ ansible -m shell -a 'mdatp --health' all ``` -- Uninstallation +- Uninstallation: ```bash $ ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts ``` -## Logging installation issues +## Log installation issues See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. @@ -258,4 +258,4 @@ See [Logging installation issues](linux-resources.md#logging-installation-issues - [Add and remove APT repositories](https://docs.ansible.com/ansible/latest/modules/apt_repository_module.html) -- [Manage apt-packages](https://docs.ansible.com/ansible/latest/modules/apt_module.html) \ No newline at end of file +- [Manage apt-packages](https://docs.ansible.com/ansible/latest/modules/apt_module.html) From ae89297431aafa38bf1d67b7c56b734c6b51f6d6 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 20:39:15 -0800 Subject: [PATCH 126/150] Update linux-install-with-puppet.md --- .../linux-install-with-puppet.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index d03507dd0a..c1eef92f29 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -1,7 +1,7 @@ --- -title: Install Microsoft Defender ATP for Linux with Puppet +title: Deploy Microsoft Defender ATP for Linux with Puppet ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Linux using Puppet. +description: Describes how to deploy Microsoft Defender ATP for Linux using Puppet. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -18,13 +18,13 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Install Microsoft Defender ATP for Linux with Puppet +# Deploy Microsoft Defender ATP for Linux with Puppet **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to install Microsoft Defender ATP for Linux using Puppet. A successful installation requires the completion of all of the following tasks: +This topic describes how to deploy Microsoft Defender ATP for Linux using Puppet. A successful deployment requires the completion of all of the following tasks: - [Download the onboarding package](#download-the-onboarding-package) - [Create Puppet manifest](#create-a-puppet-manifest) @@ -78,7 +78,7 @@ install_mdatp ### Contents of `install_mdatp/manifests/init.pp` -Microsoft Defender ATP for Linux can be installed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. +Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insider-fast* can try out new features before devices in *prod*. From e70a4be669bc68bbdab5c3037f93b4fb5671290c Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 20:43:48 -0800 Subject: [PATCH 127/150] Update linux-install-manually.md --- .../microsoft-defender-atp/linux-install-manually.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index e3bd873642..9b9fc9f351 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -1,7 +1,7 @@ --- -title: Install Microsoft Defender ATP for Linux manually +title: Deploy Microsoft Defender ATP for Linux manually ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Linux manually from the command line. +description: Describes how to deploy Microsoft Defender ATP for Linux manually from the command line. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -18,13 +18,13 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Install Microsoft Defender ATP for Linux manually +# Deploy Microsoft Defender ATP for Linux manually **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to install Microsoft Defender ATP for Linux manually. A successful installation requires the completion of all of the following tasks: +This topic describes how to deploy Microsoft Defender ATP for Linux manually. A successful deployment requires the completion of all of the following tasks: - [Configure the Linux software repository](#configure-the-linux-software-repository) - [Application installation](#application-installation) @@ -246,7 +246,7 @@ Download the onboarding package from Microsoft Defender Security Center: $ mdatp --threat --list --pretty ``` -## Logging installation issues +## Log installation issues See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. From 8ee3e9dbd459ed9df2a44e4d4e1127d2dce87d4e Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sat, 22 Feb 2020 20:48:50 -0800 Subject: [PATCH 128/150] Update linux-install-with-ansible.md --- .../microsoft-defender-atp/linux-install-with-ansible.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 489504c74a..51aaaf6a64 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -1,7 +1,7 @@ --- -title: Install Microsoft Defender ATP for Linux with Ansible +title: Deploy Microsoft Defender ATP for Linux with Ansible ms.reviewer: -description: Describes how to install Microsoft Defender ATP for Linux using Ansible. +description: Describes how to deploy Microsoft Defender ATP for Linux using Ansible. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -18,13 +18,13 @@ ms.collection: M365-security-compliance ms.topic: conceptual --- -# Install Microsoft Defender ATP for Linux with Ansible +# Deploy Microsoft Defender ATP for Linux with Ansible **Applies to:** - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -This topic describes how to install Microsoft Defender ATP for Linux using Ansible. A successful installation requires the completion of all of the following tasks: +This topic describes how to deploy Microsoft Defender ATP for Linux using Ansible. A successful deployment requires the completion of all of the following tasks: - [Download the onboarding package](#download-the-onboarding-package) - [Create Ansible YAML files](#create-ansible-yaml-files) From f04040d1dbfd9eda115c8c1a991e7344ef70ce73 Mon Sep 17 00:00:00 2001 From: ImranHabib <47118050+joinimran@users.noreply.github.com> Date: Sun, 23 Feb 2020 19:19:24 +0500 Subject: [PATCH 129/150] Link Update Updated the missing link. Problem: https://github.com/MicrosoftDocs/windows-itpro-docs/issues/5782 --- .../use-powershell-cmdlets-windows-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md index 8631d5a627..005aafd92e 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md @@ -30,7 +30,7 @@ For a list of the cmdlets and their functions and available parameters, see the PowerShell cmdlets are most useful in Windows Server environments that don't rely on a graphical user interface (GUI) to configure software. > [!NOTE] -> PowerShell cmdlets should not be used as a replacement for a full network policy management infrastructure, such as [Microsoft Endpoint Configuration Manager](https://docs.microsoft.com/configmgr), [Group Policy Management Console](https://technet.microsoft.com/library/cc731212.aspx), or [Windows Defender Antivirus Group Policy ADMX templates](https://support.microsoft.com/kb/927367). +> PowerShell cmdlets should not be used as a replacement for a full network policy management infrastructure, such as [Microsoft Endpoint Configuration Manager](https://docs.microsoft.com/configmgr), [Group Policy Management Console](https://technet.microsoft.com/library/cc731212.aspx), or [Windows Defender Antivirus Group Policy ADMX templates](https://www.microsoft.com/download/100591). Changes made with PowerShell will affect local settings on the endpoint where the changes are deployed or made. This means that deployments of policy with Group Policy, Microsoft Endpoint Configuration Manager, or Microsoft Intune can overwrite changes made with PowerShell. From dd3664679afbc4bf01f5284eb51de20f1c2a3ed0 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sun, 23 Feb 2020 15:49:25 -0800 Subject: [PATCH 130/150] Update linux-updates.md @mjcaparas Edit complete! Thanks, Kelly --- .../threat-protection/microsoft-defender-atp/linux-updates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md index 0870f1d408..74979b6c15 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md @@ -1,7 +1,7 @@ --- title: Deploy updates for Microsoft Defender ATP for Linux ms.reviewer: -description: Describes how to control updates for Microsoft Defender ATP for Linux in enterprise environments. +description: Describes how to deploy updates for Microsoft Defender ATP for Linux in enterprise environments. keywords: microsoft, defender, atp, linux, updates, deploy search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -26,7 +26,7 @@ ms.topic: conceptual Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. -To update Microsoft Defender ATP for Linux manually, execute the following command: +To update Microsoft Defender ATP for Linux manually, execute one of the following commands: ## RHEL and variants (CentOS and Oracle EL) From f5f73579e4a88fd7b4a2581cbdefe041864d0235 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sun, 23 Feb 2020 16:11:40 -0800 Subject: [PATCH 131/150] Update linux-static-proxy-configuration.md @mjcaparas Edit complete. A few comments: - TOC title should be sentence case "Static proxy configuration" instead of title case. - Line 48: Is "prepended" the intended term? - Line 73: Implies that two commands follow, but there's only one command beneath. Thanks! Kelly --- .../linux-static-proxy-configuration.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md index 4ced587060..43330660a0 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-static-proxy-configuration.md @@ -1,7 +1,7 @@ --- -title: Microsoft Defender ATP for Linux Static Proxy Discovery +title: Microsoft Defender ATP for Linux static proxy discovery ms.reviewer: -description: Describes how to configure Microsoft Defender ATP for static proxy discovery +description: Describes how to configure Microsoft Defender ATP for static proxy discovery. keywords: microsoft, defender, atp, linux, installation, proxy search.product: eADQiWindows 10XVcnh search.appverid: met150 @@ -24,11 +24,11 @@ ms.topic: conceptual - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -Microsoft Defender ATP can discover a proxy server via the ```HTTPS_PROXY``` environment variable. This setting must be configured **both** at installation time and after the product has been installed. +Microsoft Defender ATP can discover a proxy server using the ```HTTPS_PROXY``` environment variable. This setting must be configured **both** at installation time and after the product has been installed. ## Installation time configuration -During installation, the ```HTTPS_PROXY``` environment variable must be passed to the package manager. The package manager can read this variable in any of these three ways: +During installation, the ```HTTPS_PROXY``` environment variable must be passed to the package manager. The package manager can read this variable in any of the following ways: - The ```HTTPS_PROXY``` variable is defined in ```/etc/environment``` with the following line: @@ -36,16 +36,16 @@ During installation, the ```HTTPS_PROXY``` environment variable must be passed t HTTPS_PROXY=”http://proxy.server:port/” ``` -- The `HTTPS_PROXY` variable is defined in the package manager global configuration. For example, in Ubuntu 18.04, you can add the following line to `/etc/apt/apt.conf.d/proxy.conf` +- The `HTTPS_PROXY` variable is defined in the package manager global configuration. For example, in Ubuntu 18.04, you can add the following line to `/etc/apt/apt.conf.d/proxy.conf`: ```bash Acquire::https::Proxy "http://proxy.server:port/"; ``` -> [!CAUTION] -> Note that above two methods could define the proxy to use for other applications on your system. Use this method with caution, or only if this is mean to be a generally global configuration. + > [!CAUTION] + > Note that above two methods could define the proxy to use for other applications on your system. Use this method with caution, or only if this is meant to be a generally global configuration. -- The `HTTPS_PROXY` variable is prepended to the installation and/or uninstallation commands. For example with the APT package manager, prepend the variable as follows when installing Microsoft Defender ATP: +- The `HTTPS_PROXY` variable is prepended to the installation or uninstallation commands. For example, with the APT package manager, prepend the variable as follows when installing Microsoft Defender ATP: ```bash $ HTTPS_PROXY=”http://proxy.server:port/" apt install mdatp @@ -60,17 +60,17 @@ Note that installation and uninstallation will not necessarily fail if a proxy i ## Post installation configuration -After installation, the `HTTPS_PROXY` environment variable must be defined in the Microsoft Defender ATP service file. To do this, open `/lib/systemd/system/mdatp.service` in a text editor while running as the root user. Then, you can propagate the variable to the service in one of two ways: +After installation, the `HTTPS_PROXY` environment variable must be defined in the Microsoft Defender ATP service file. To do this, open `/lib/systemd/system/mdatp.service` in a text editor while running as the root user. You can then propagate the variable to the service in one of two ways: - Uncomment the line `#Environment=HTTPS_PROXY="http://address:port”` and specify your static proxy address. -- Add a line `EnvironmentFile=/path/to/env/file`. This path can point to `/etc/environment` or a custom file, either of which needs to the following line: +- Add a line `EnvironmentFile=/path/to/env/file`. This path can point to `/etc/environment` or a custom file, either of which needs to add the following line: ```bash HTTPS_PROXY=”http://proxy.server:port/” ``` -After modifying the `mdatp.service` file, save and close it. Restart the service so the changes can go into effect. In Ubuntu, this involves two commands: +After modifying the `mdatp.service` file, save and close it. Restart the service so the changes can be applied. In Ubuntu, this involves two commands: ```bash $ systemctl daemon-reload; systemctl restart mdatp From 35a5b869d9d77a70b98a71fe39b16b4cf928883a Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sun, 23 Feb 2020 16:55:40 -0800 Subject: [PATCH 132/150] Update linux-preferences.md @mjcaparas Edit complete! Thanks, Kelly --- .../linux-preferences.md | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md index d98c03bf83..4229bd1d87 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md @@ -25,17 +25,17 @@ ms.topic: conceptual - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) >[!IMPORTANT] ->This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, please refer to the [Resources](linux-resources.md#configuring-from-the-command-line) page. +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, see [Resources](linux-resources.md#configuring-from-the-command-line). -In enterprise environments, Microsoft Defender ATP for Linux can be managed through a configuration profile. This profile is deployed from management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. +In enterprise environments, Microsoft Defender ATP for Linux can be managed through a configuration profile. This profile is deployed from the management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. -This topic describes the structure of this profile (including a recommended profile that you can use to get started) and instructions for how to deploy the profile. +This topic describes the structure of this profile (including a recommended profile that you can use to get started) and instructions on how to deploy the profile. ## Configuration profile structure -The configuration profile is a .json file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can either be simple (such as a numerical value) or complex, such as a nested list of preferences. +The configuration profile is a .json file that consists of entries identified by a key (which denotes the name of the preference), followed by a value, which depends on the nature of the preference. Values can be simple, such as a numerical value, or complex, such as a nested list of preferences. -Typically, you would use a configuration management tool to push a file with name ```mdatp_maanged.json``` at location ```/etc/opt/microsoft/mdatp/managed/``` +Typically, you would use a configuration management tool to push a file with the name ```mdatp_maanged.json``` at the location ```/etc/opt/microsoft/mdatp/managed/```. The top level of the configuration profile includes product-wide preferences and entries for subareas of the product, which are explained in more detail in the next sections. @@ -51,7 +51,7 @@ The *antivirusEngine* section of the configuration profile is used to manage the #### Enable / disable real-time protection -Whether real-time protection (scan files as they are accessed) is enabled or not. +Detemines whether real-time protection (scan files as they are accessed) is enabled or not. ||| |:---|:---| @@ -61,12 +61,12 @@ Whether real-time protection (scan files as they are accessed) is enabled or not #### Enable / disable passive mode -Whether the antivirus engine runs in passive mode or not. In passive mode: -- Real-time protection is turned off -- On-demand scanning is turned on -- Automatic threat remediation is turned off -- Security intelligence updates are turned on -- Status menu icon is hidden +Detemines whether the antivirus engine runs in passive mode or not. In passive mode: +- Real-time protection is turned off. +- On-demand scanning is turned on. +- Automatic threat remediation is turned off. +- Security intelligence updates are turned on. +- Status menu icon is hidden. ||| |:---|:---| @@ -77,7 +77,7 @@ Whether the antivirus engine runs in passive mode or not. In passive mode: #### Exclusion merge policy -Specify the merge policy for exclusions. This can be a combination of administrator-defined and user-defined exclusions (`merge`) or only administrator-defined exclusions (`admin_only`). This setting can be used to restrict local users from defining their own exclusions. +Specifies the merge policy for exclusions. It can be a combination of administrator-defined and user-defined exclusions (`merge`) or only administrator-defined exclusions (`admin_only`). This setting can be used to restrict local users from defining their own exclusions. ||| |:---|:---| @@ -141,7 +141,7 @@ Used to exclude content from the scan by file extension. **Process excluded from the scan** -Specify a process for which all file activity is excluded from scanning. The process can be specified either by its name (e.g. `cat`) or full path (e.g. `/bin/cat`). +Specifies a process for which all file activity is excluded from scanning. The process can be specified either by its name (e.g. `cat`) or full path (e.g. `/bin/cat`). ||| |:---|:---| @@ -182,7 +182,7 @@ The *threatTypeSettings* preference in the antivirus engine is used to control h **Threat type** -Type of the threat for which the behavior is configured. +Type of threat for which the behavior is configured. ||| |:---|:---| @@ -194,9 +194,9 @@ Type of the threat for which the behavior is configured. Action to take when coming across a threat of the type specified in the preceding section. Can be: -- **Audit**: your device is not protected against this type of threat, but an entry about the threat is logged. -- **Block**: your device is protected against this type of threat and you are notified in the user interface and the security console. -- **Off**: your device is not protected against this type of threat and nothing is logged. +- **Audit**: The device is not protected against this type of threat, but an entry about the threat is logged. +- **Block**: The device is protected against this type of threat and you are notified in the user interface and the security console. +- **Off**: The device is not protected against this type of threat and nothing is logged. ||| |:---|:---| @@ -206,7 +206,7 @@ Action to take when coming across a threat of the type specified in the precedin #### Threat type settings merge policy -Specify the merge policy for threat type settings. This can be a combination of administrator-defined and user-defined settings (`merge`) or only administrator-defined settings (`admin_only`). This setting can be used to restrict local users from defining their own settings for different threat types. +Specifies the merge policy for threat type settings. This can be a combination of administrator-defined and user-defined settings (`merge`) or only administrator-defined settings (`admin_only`). This setting can be used to restrict local users from defining their own settings for different threat types. ||| |:---|:---| @@ -215,9 +215,9 @@ Specify the merge policy for threat type settings. This can be a combination of | **Possible values** | merge (default)
    admin_only | | **Comments** | Available in Microsoft Defender ATP version 100.83.73 or higher. | -### Cloud delivered protection preferences +### Cloud-delivered protection preferences -The *cloudService* entry in the configuration profile is used to configure the cloud driven protection feature of the product. +The *cloudService* entry in the configuration profile is used to configure the cloud-driven protection feature of the product. ||| |:---|:---| @@ -227,7 +227,7 @@ The *cloudService* entry in the configuration profile is used to configure the c #### Enable / disable cloud delivered protection -Whether cloud delivered protection is enabled on the device or not. To improve the security of your services, we recommend keeping this feature turned on. +Determines whether cloud-delivered protection is enabled on the device or not. To improve the security of your services, we recommend keeping this feature turned on. ||| |:---|:---| @@ -261,12 +261,12 @@ To get started, we recommend the following configuration profile for your enterp The following configuration profile will: -- Enable real-time protection (RTP) +- Enable real-time protection (RTP). - Specify how the following threat types are handled: - - **Potentially unwanted applications (PUA)** are blocked - - **Archive bombs** (file with a high compression rate) are audited to the product logs -- Enable cloud delivered protection -- Enable automatic sample submission + - **Potentially unwanted applications (PUA)** are blocked. + - **Archive bombs** (file with a high compression rate) are audited to the product logs. +- Enable cloud-delivered protection. +- Enable automatic sample submission. ### Sample profile @@ -353,4 +353,4 @@ The following configuration profile contains entries for all settings described ## Configuration profile deployment -Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. Microsoft Defender ATP for Linux reads the managed configuration from the file */etc/opt/microsoft/mdatp/managed/mdatp_managed.json* +Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. Microsoft Defender ATP for Linux reads the managed configuration from the */etc/opt/microsoft/mdatp/managed/mdatp_managed.json* file. From d15f142285194c6843b9248924cc6c35d9860b4d Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Sun, 23 Feb 2020 17:11:54 -0800 Subject: [PATCH 133/150] Update linux-resources.md @mjcaparas Edit is complete! Let me know if you have any questions. Thanks! Kelly --- .../microsoft-defender-atp/linux-resources.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md index bacff9314f..388b235ac3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md @@ -1,5 +1,5 @@ --- -title: Microsoft Defender ATP for Linux Resources +title: Microsoft Defender ATP for Linux resources ms.reviewer: description: Describes resources for Microsoft Defender ATP for Linux, including how to uninstall it, how to collect diagnostic logs, CLI commands, and known issues with the product. keywords: microsoft, defender, atp, linux, installation, deploy, uninstallation, puppet, ansible, linux, redhat, ubuntu, debian, sles, suse, centos @@ -24,7 +24,7 @@ ms.topic: conceptual - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) -## Collecting diagnostic information +## Collect diagnostic information If you can reproduce a problem, please increase the logging level, run the system for some time, and restore the logging level to the default. @@ -37,9 +37,9 @@ If you can reproduce a problem, please increase the logging level, run the syste Operation succeeded ``` -2. Reproduce the problem +2. Reproduce the problem. -3. Run `sudo mdatp --diagnostic --create` to backup Microsoft Defender ATP's logs. The files will be stored inside of a .zip archive. This command will also print out the file path to the backup after the operation succeeds. +3. Run `sudo mdatp --diagnostic --create` to backup Microsoft Defender ATP's logs. The files will be stored inside of a .zip archive. This command will also print out the file path to the backup after the operation succeeds: ```bash $ sudo mdatp --diagnostic --create @@ -56,23 +56,23 @@ If you can reproduce a problem, please increase the logging level, run the syste Operation succeeded ``` -## Logging installation issues +## Log installation issues If an error occurs during installation, the installer will only report a general failure. The detailed log will be saved to `/var/log/microsoft/mdatp_install.log`. If you experience issues during installation, send us this file so we can help diagnose the cause. -## Uninstalling +## Uninstall There are several ways to uninstall Microsoft Defender ATP for Linux. If you are using a configuration tool such as Puppet, please follow the package uninstallation instructions for the configuration tool. ### Manual uninstallation -- ```sudo yum remove mdatp``` for RHEL and variants(CentOS and Oracle EL) -- ```sudo zypper remove mdatp``` for SLES and variants -- ```sudo apt-get purge mdatp``` for Ubuntu and Debian systems +- ```sudo yum remove mdatp``` for RHEL and variants(CentOS and Oracle EL). +- ```sudo zypper remove mdatp``` for SLES and variants. +- ```sudo apt-get purge mdatp``` for Ubuntu and Debian systems. -## Configuring from the command line +## Configure from the command line Important tasks, such as controlling product settings and triggering on-demand scans, can be done from the command line: From 0c3deda22d777cda2e6175b3afaeddf1932dfeeb Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 24 Feb 2020 15:11:47 +0200 Subject: [PATCH 134/150] ATP - raw export feature to GA --- windows/security/threat-protection/TOC.md | 2 +- .../images/machine-info-datatype-example.png | Bin 58909 -> 20627 bytes .../images/storage-account-event-schema.png | Bin 79824 -> 83575 bytes .../microsoft-defender-atp/raw-data-export.md | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b541b24f03..8208331b97 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -496,7 +496,7 @@ #### [Pull detections to your SIEM tools]() #### [Raw data streaming API]() -##### [Raw data streaming (preview)](microsoft-defender-atp/raw-data-export.md) +##### [Raw data streaming](microsoft-defender-atp/raw-data-export.md) ##### [Stream advanced hunting events to Azure Events hub](microsoft-defender-atp/raw-data-export-event-hub.md) ##### [Stream advanced hunting events to your storage account](microsoft-defender-atp/raw-data-export-storage.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/machine-info-datatype-example.png b/windows/security/threat-protection/microsoft-defender-atp/images/machine-info-datatype-example.png index 41c451506b0a8e29138e5f22e84deab1ad060c59..598ea2fd785fa80751fa0eb5fadb2ff9382b3192 100644 GIT binary patch literal 20627 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 JEFxQn{121k<1hdK diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/storage-account-event-schema.png b/windows/security/threat-protection/microsoft-defender-atp/images/storage-account-event-schema.png index d9409e3ab1d80a24f51355e54e3ae503cf7325c5..88b27a033286799fd502841b7ca9bae2c276b24b 100644 GIT binary patch literal 83575 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 mH0epxnMiSpUw Date: Mon, 24 Feb 2020 15:14:25 +0200 Subject: [PATCH 135/150] 1 --- .../microsoft-defender-atp/raw-data-export-event-hub.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md b/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md index 0b3f53d6f2..9bc6ebcb3f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md +++ b/windows/security/threat-protection/microsoft-defender-atp/raw-data-export-event-hub.md @@ -79,7 +79,7 @@ To get the data types for event properties do the following: ``` -- Here is an example for Machine Info event: +- Here is an example for Device Info event: ![Image of event hub resource Id](images/machine-info-datatype-example.png) From 3b58615ff860fd87991617c4bd8711b42cc7d167 Mon Sep 17 00:00:00 2001 From: Amrut Kale Date: Mon, 24 Feb 2020 19:10:21 +0530 Subject: [PATCH 136/150] Update TOC.md Update the sentence case as per review comment. --- windows/security/threat-protection/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index d09defdcd2..dc6112a767 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -349,7 +349,7 @@ ##### [Ansible based deployment](microsoft-defender-atp/linux-install-with-ansible.md) #### [Update](microsoft-defender-atp/linux-updates.md) #### [Configure]() -##### [Static Proxy Configuration](microsoft-defender-atp/linux-static-proxy-configuration.md) +##### [Static proxy configuration](microsoft-defender-atp/linux-static-proxy-configuration.md) ##### [Set preferences](microsoft-defender-atp/linux-preferences.md) #### [Resources](microsoft-defender-atp/linux-resources.md) From e86d3fd2601dbffc7d543d49995b2eccb9c15c0f Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Mon, 24 Feb 2020 07:13:52 -0800 Subject: [PATCH 137/150] Update linux-install-manually.md Updating anchors based on Resources heading changes. --- .../microsoft-defender-atp/linux-install-manually.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 9b9fc9f351..202daf5f2e 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -248,8 +248,8 @@ Download the onboarding package from Microsoft Defender Security Center: ## Log installation issues -See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Log installation issues](linux-resources.md#log-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation -See [Uninstalling](linux-resources.md#uninstalling) for details on how to remove Microsoft Defender ATP for Linux from client devices. +See [Uninstall](linux-resources.md#uninstall) for details on how to remove Microsoft Defender ATP for Linux from client devices. From c92dbc70560905ecfb265427d5c0a5fb6c50ddc5 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Mon, 24 Feb 2020 07:16:15 -0800 Subject: [PATCH 138/150] Update linux-install-with-ansible.md --- .../microsoft-defender-atp/linux-install-with-ansible.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 51aaaf6a64..2ec6fa1eb9 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -248,7 +248,7 @@ Now run the tasks files under `/etc/ansible/playbooks/`. ## Log installation issues -See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Log installation issues](linux-resources.md#log-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## References From b4b27872fb311a0829804b1406f26908874f18d4 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Mon, 24 Feb 2020 07:17:54 -0800 Subject: [PATCH 139/150] Update linux-install-with-puppet.md --- .../microsoft-defender-atp/linux-install-with-puppet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index c1eef92f29..a27c84b264 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -174,7 +174,7 @@ If the product is not healthy, the exit code (which can be checked through `echo ## Log installation issues -See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. +See [Log installation issues](linux-resources.md#log-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. ## Uninstallation From 0af20a18be6fec0d3eda55bfda6c86879932008d Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Mon, 24 Feb 2020 07:19:45 -0800 Subject: [PATCH 140/150] Update linux-preferences.md --- .../microsoft-defender-atp/linux-preferences.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md index 4229bd1d87..256186213a 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md @@ -25,7 +25,7 @@ ms.topic: conceptual - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux](microsoft-defender-atp-linux.md) >[!IMPORTANT] ->This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, see [Resources](linux-resources.md#configuring-from-the-command-line). +>This topic contains instructions for how to set preferences for Microsoft Defender ATP for Linux in enterprise environments. If you are interested in configuring the product on a device from the command-line, see [Resources](linux-resources.md#configure-from-the-command-line). In enterprise environments, Microsoft Defender ATP for Linux can be managed through a configuration profile. This profile is deployed from the management tool of your choice. Preferences managed by the enterprise take precedence over the ones set locally on the device. In other words, users in your enterprise are not able to change preferences that are set through this configuration profile. From 8ef94774afb9b138d505d942809a393baa2655d6 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 24 Feb 2020 09:36:33 -0800 Subject: [PATCH 141/150] Update use-powershell-cmdlets-windows-defender-antivirus.md --- .../use-powershell-cmdlets-windows-defender-antivirus.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md index 005aafd92e..76de6faff6 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md @@ -12,7 +12,7 @@ ms.localizationpriority: medium author: denisebmsft ms.author: deniseb ms.custom: nextgen -ms.date: 09/03/2018 +ms.date: 02/24/2020 ms.reviewer: manager: dansimp --- @@ -30,13 +30,13 @@ For a list of the cmdlets and their functions and available parameters, see the PowerShell cmdlets are most useful in Windows Server environments that don't rely on a graphical user interface (GUI) to configure software. > [!NOTE] -> PowerShell cmdlets should not be used as a replacement for a full network policy management infrastructure, such as [Microsoft Endpoint Configuration Manager](https://docs.microsoft.com/configmgr), [Group Policy Management Console](https://technet.microsoft.com/library/cc731212.aspx), or [Windows Defender Antivirus Group Policy ADMX templates](https://www.microsoft.com/download/100591). +> PowerShell cmdlets should not be used as a replacement for a full network policy management infrastructure, such as [Microsoft Endpoint Configuration Manager](https://docs.microsoft.com/configmgr), [Group Policy Management Console](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), or [Windows Defender Antivirus Group Policy ADMX templates](https://www.microsoft.com/download/100591). Changes made with PowerShell will affect local settings on the endpoint where the changes are deployed or made. This means that deployments of policy with Group Policy, Microsoft Endpoint Configuration Manager, or Microsoft Intune can overwrite changes made with PowerShell. You can [configure which settings can be overridden locally with local policy overrides](configure-local-policy-overrides-windows-defender-antivirus.md). -PowerShell is typically installed under the folder _%SystemRoot%\system32\WindowsPowerShell_. +PowerShell is typically installed under the folder `%SystemRoot%\system32\WindowsPowerShell`. ## Use Windows Defender Antivirus PowerShell cmdlets @@ -45,7 +45,7 @@ PowerShell is typically installed under the folder _%SystemRoot%\system32\Window 3. Enter the PowerShell command and any parameters. > [!NOTE] -> You may need to open an administrator-level version of PowerShell. Right-click the item in the Start menu, click **Run as administrator** and click **Yes** at the permissions prompt. +> You may need to open PowerShell in administrator mode. Right-click the item in the Start menu, click **Run as administrator** and click **Yes** at the permissions prompt. To open online help for any of the cmdlets type the following: From 7a64b2a955ebd87c2aa6bae074fd0b1a9e57af4d Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 24 Feb 2020 09:45:38 -0800 Subject: [PATCH 142/150] Update select-types-of-rules-to-create.md --- .../select-types-of-rules-to-create.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index 582356b671..d49d5822d7 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -14,7 +14,7 @@ author: jsuther1974 ms.reviewer: isbrahm ms.author: dansimp manager: dansimp -ms.date: 04/20/2018 +ms.date: 02/24/2020 --- # Understand WDAC policy rules and file rules @@ -28,7 +28,7 @@ Windows Defender Application Control (WDAC) provides control over a computer run ## Windows Defender Application Control policy rules -To modify the policy rule options of an existing WDAC policy XML, use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption). Note the following examples of how to use this cmdlet to add and remove a rule option on an existing WDAC policy: +To modify the policy rule options of an existing WDAC policy XML, use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption). The following examples show how to use this cmdlet to add and remove a rule option on an existing WDAC policy: - To ensure that UMCI is enabled for a WDAC policy that was created with the `-UserPEs` (user mode) option, add rule option 0 to an existing policy by running the following command: From 150f1f63d5fcc5b83d30721fc4fedc3665f204e6 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 24 Feb 2020 09:46:07 -0800 Subject: [PATCH 143/150] Update windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- .../select-types-of-rules-to-create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index d49d5822d7..cc271787a6 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -122,7 +122,7 @@ S-1-3-0; S-1-5-18; S-1-5-19; S-1-5-20; S-1-5-32-544; S-1-5-32-549; S-1-5-32-550; When generating filepath rules using [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), a unique, fully-qualified path rule is generated for every file discovered in the scanned path(s). To create rules that instead allow all files under a specified folder path, use [New-CIPolicyRule](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) to define rules containing wildcards using the [-FilePathRules](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule#parameters) switch. -Wildcards can be used at the beginning or end of a path rule: only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. C:\\* would include C:\foo\\* ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. \*\bar.exe would allow C:\bar.exe and C:\foo\bar.exe). Wildcards in the middle of a path are not supported (ex. C:\\*\foo.exe). Without a wildcard, the rule will allow only a specific file (ex. C:\foo\bar.exe).
    The use of macros are also supported and useful in the scenario where the OS is installed elsewhere than the C:\ drive. Supported macros: %OSDRIVE%, %WINDIR%, %SYSTEM32%. +Wildcards can be used at the beginning or end of a path rule; only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. C:\\* would include C:\foo\\* ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. \*\bar.exe would allow C:\bar.exe and C:\foo\bar.exe). Wildcards in the middle of a path are not supported (ex. C:\\*\foo.exe). Without a wildcard, the rule will allow only a specific file (ex. C:\foo\bar.exe).
    The use of macros is also supported and useful in scenarios where the system drive is different from the C:\ drive. Supported macros: %OSDRIVE%, %WINDIR%, %SYSTEM32%. > [!NOTE] > Due to an existing bug, you can not combine Path-based ALLOW rules with any DENY rules in a single policy. Instead, either separate DENY rules into a separate Base policy or move the Path-based ALLOW rules into a supplemental policy as described in [Deploy multiple WDAC policies.](deploy-multiple-windows-defender-application-control-policies.md) From 9c67bc341a4dd526ae557bebdb4ce957d1857dfa Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 24 Feb 2020 09:47:49 -0800 Subject: [PATCH 144/150] Update select-types-of-rules-to-create.md --- .../select-types-of-rules-to-create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index cc271787a6..97443ac815 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -122,7 +122,7 @@ S-1-3-0; S-1-5-18; S-1-5-19; S-1-5-20; S-1-5-32-544; S-1-5-32-549; S-1-5-32-550; When generating filepath rules using [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), a unique, fully-qualified path rule is generated for every file discovered in the scanned path(s). To create rules that instead allow all files under a specified folder path, use [New-CIPolicyRule](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule) to define rules containing wildcards using the [-FilePathRules](https://docs.microsoft.com/powershell/module/configci/new-cipolicyrule#parameters) switch. -Wildcards can be used at the beginning or end of a path rule; only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. C:\\* would include C:\foo\\* ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. \*\bar.exe would allow C:\bar.exe and C:\foo\bar.exe). Wildcards in the middle of a path are not supported (ex. C:\\*\foo.exe). Without a wildcard, the rule will allow only a specific file (ex. C:\foo\bar.exe).
    The use of macros is also supported and useful in scenarios where the system drive is different from the C:\ drive. Supported macros: %OSDRIVE%, %WINDIR%, %SYSTEM32%. +Wildcards can be used at the beginning or end of a path rule; only one wildcard is allowed per path rule. Wildcards placed at the end of a path authorize all files in that path and its subdirectories recursively (ex. `C:\\*` would include `C:\foo\\*` ). Wildcards placed at the beginning of a path will allow the exact specified filename under any path (ex. `*\bar.exe` would allow `C:\bar.exe` and `C:\foo\bar.exe`). Wildcards in the middle of a path are not supported (ex. `C:\\*\foo.exe`). Without a wildcard, the rule will allow only a specific file (ex. `C:\foo\bar.exe`).
    The use of macros is also supported and useful in scenarios where the system drive is different from the `C:\` drive. Supported macros: `%OSDRIVE%`, `%WINDIR%`, `%SYSTEM32%`. > [!NOTE] > Due to an existing bug, you can not combine Path-based ALLOW rules with any DENY rules in a single policy. Instead, either separate DENY rules into a separate Base policy or move the Path-based ALLOW rules into a supplemental policy as described in [Deploy multiple WDAC policies.](deploy-multiple-windows-defender-application-control-policies.md) From 481d27ca561876fcea775fb62932e4ae8c2d3dce Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 24 Feb 2020 09:55:08 -0800 Subject: [PATCH 145/150] Update use-windows-defender-application-control-with-intelligent-security-graph.md --- ...r-application-control-with-intelligent-security-graph.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md index d516a6f73a..9dc6ff0981 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md @@ -38,9 +38,9 @@ After that initial download and installation, the WDAC component will check for The reputation data on the client is rechecked periodically and enterprises can also specify that any cached reputation results are flushed on reboot. >[!NOTE] ->Admins needs to ensure that there is a WDAC policy in place to allow the system to boot and run any other authorized applications that may not be classified as being known good by the Intelligent Security Graph, for example custom line-of-business (LOB) apps. Since the Intelligent Security Graph is powered by global prevalence data, internal LOB apps may not be recognized as being known good. Other mechanisms like managed installer and explicit rules will help cover internal applications. Both Microsoft Endpoint Configuration Manager and Microsoft Intune can be used to create and push a WDAC policy to your client machines. +>Admins should make sure there is a WDAC policy in place to allow the system to boot and run any other authorized applications that may not be classified as being known good by the Intelligent Security Graph, such as custom line-of-business (LOB) apps. Since the Intelligent Security Graph is powered by global prevalence data, internal LOB apps may not be recognized as being known good. Other mechanisms like managed installer and explicit rules will help cover internal applications. Both Microsoft Endpoint Configuration Manager and Microsoft Intune can be used to create and push a WDAC policy to your client machines. -Other examples of WDAC policies are available in C:\Windows\schemas\CodeIntegrity\ExamplePolicies and can help authorize Windows OS components, WHQL signed drivers and all Store apps. Admins can reference and customize them as needed for their Windows Defender Application Control deployment or [create a custom WDAC policy](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy). +Other examples of WDAC policies are available in `C:\Windows\schemas\CodeIntegrity\ExamplePolicies` and can help authorize Windows OS components, WHQL signed drivers and all Store apps. Admins can reference and customize them as needed for their Windows Defender Application Control deployment or [create a custom WDAC policy](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy). ## Configuring Intelligent Security Graph authorization for Windows Defender Application Control @@ -81,7 +81,7 @@ In order to enable trust for executables based on classifications in the ISG, th ### Enable the necessary services to allow WDAC to use the ISG correctly on the client -In order for the heuristics used by the ISG to function properly, a number of component in Windows need to be enabled. The easiest way to do this is to run the appidtel executable in c:\windows\system32. +In order for the heuristics used by the ISG to function properly, a number of component in Windows need to be enabled. The easiest way to do this is to run the appidtel executable in `c:\windows\system32`. ``` appidtel start From 14cc50e75964e781805dec5e977804c450a68e83 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Mon, 24 Feb 2020 10:10:27 -0800 Subject: [PATCH 147/150] Update linux-install-manually.md --- .../microsoft-defender-atp/linux-install-manually.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 202daf5f2e..24930516c6 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -77,9 +77,9 @@ In order to preview new features and provide early feedback, it is recommended t ### SLES and variants -- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. +- Note your distribution and version, and identify the closest entry for it under `https://packages.microsoft.com/config/`. - In the below commands, replace *[distro]* and *[version]* with the information you've identified: + In the following commands, replace *[distro]* and *[version]* with the information you've identified: ```bash $ sudo zypper addrepo -c -f -n microsoft-[channel] https://packages.microsoft.com/config/[distro]/[version]/[channel].repo @@ -106,7 +106,7 @@ In order to preview new features and provide early feedback, it is recommended t $ sudo apt-get install curl ``` -- Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config`. +- Note your distribution and version, and identify the closest entry for it under `https://packages.microsoft.com/config`. In the below command, replace *[distro]* and *[version]* with the information you've identified: @@ -140,7 +140,7 @@ In order to preview new features and provide early feedback, it is recommended t ``` -- Install the https driver if not already present: +- Install the https driver if it's not already present: ```bash $ sudo apt-get install apt-transport-https @@ -205,7 +205,7 @@ Download the onboarding package from Microsoft Defender Security Center: $ mdatp --health orgId ``` -2. Run WindowsDefenderATPOnboarding.py (note that in order to run this command you must have `python` installed on the device): +2. Run WindowsDefenderATPOnboarding.py, and note that, in order to run this command, you must have `python` installed on the device: ```bash $ python WindowsDefenderATPOnboarding.py @@ -218,7 +218,7 @@ Download the onboarding package from Microsoft Defender Security Center: [your organization identifier] ``` -4. A few minutes after completing the installation, you can see the status by running the following command (a return value of `1` denotes that the product is functioning as expected): +4. A few minutes after you complete the installation, you can see the status by running the following command. A return value of `1` denotes that the product is functioning as expected: ```bash $ mdatp --health healthy From 54e85741752de588e6275c798ec98fd3588215b4 Mon Sep 17 00:00:00 2001 From: Kelly Baker Date: Mon, 24 Feb 2020 10:30:25 -0800 Subject: [PATCH 148/150] Update linux-install-with-ansible.md --- .../microsoft-defender-atp/linux-install-with-ansible.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 2ec6fa1eb9..8eae3591a3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -35,7 +35,7 @@ This topic describes how to deploy Microsoft Defender ATP for Linux using Ansibl Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -- Ansible needs to be installed on at least on one computer (we will call it master). +- Ansible needs to be installed on at least on one computer (we will call it the master). - Passwordless SSH must be configured for the root user between the master and all clients. - The following software must be installed on all clients: - Python-apt @@ -79,7 +79,7 @@ Download the onboarding package from Microsoft Defender Security Center: ## Create Ansible YAML files -Create subtask or role files that contribute to an actual task. Create the below files under the `/etc/ansible/roles` directory. +Create subtask or role files that contribute to an actual task. Create the following files under the `/etc/ansible/roles` directory. - Copy the onboarding package to all client machines: @@ -137,7 +137,7 @@ Create subtask or role files that contribute to an actual task. Create the below Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. - In the below commands, replace *[distro]* and *[version]* with the information you've identified. + In the following commands, replace *[distro]* and *[version]* with the information you've identified. > [!NOTE] > In case of Oracle EL and CentOS 8, replace *[distro]* with “rhel”. From 33dc8f0dc45f37052696d5759a65cd926334d0d2 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 24 Feb 2020 10:51:52 -0800 Subject: [PATCH 149/150] Update use-windows-defender-application-control-with-intelligent-security-graph.md --- ...control-with-intelligent-security-graph.md | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md index 9dc6ff0981..e34ac21abb 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md @@ -14,7 +14,6 @@ author: jsuther1974 ms.reviewer: isbrahm ms.author: dansimp manager: dansimp -ms.date: 06/14/2018 --- # Authorize reputable apps with the Intelligent Security Graph (ISG) @@ -24,14 +23,13 @@ ms.date: 06/14/2018 - Windows 10 - Windows Server 2016 and above -Application execution control can be difficult to implement in enterprises that do not have processes to effectively control the deployment of applications centrally through an IT managed system. -In such environments, users are empowered to acquire the applications they need for work, making accounting for all the applications that would need to be authorized for execution control a daunting task. +Application execution control can be difficult to implement in enterprises that do not have processes to effectively control the deployment of applications centrally through an IT managed system. In such environments, users are empowered to acquire the applications they need for work, making accounting for all the applications that would need to be authorized for execution control a daunting task. -Windows 10, version 1709 (also known as the Windows 10 Fall Creators Update) provides a new option, known as Intelligent Security Graph (ISG) authorization, that allows IT administrators to automatically authorize applications that Microsoft’s ISG recognizes as having known good reputation. The ISG option helps IT organizations take a significant first step towards going from having no application control at all to a simple means of preventing the execution of unknown and known bad software. +Windows 10, version 1709 (also known as the Windows 10 Fall Creators Update) provides a new option, known as the Microsoft Intelligent Security Graph authorization, that allows IT administrators to automatically authorize applications that the Microsoft Intelligent Security Graph recognizes as having known good reputation. The the Microsoft Intelligent Security Graph option helps IT organizations take a significant first step towards going from having no application control at all to a simple means of preventing the execution of unknown and known bad software. To learn more about the Microsoft Intelligent Security Graph, see the Security section in [Major services and features in Microsoft Graph](https://docs.microsoft.com/graph/overview-major-services). ## How does the integration between WDAC and the Intelligent Security Graph work? -The ISG relies on Microsoft’s vast security intelligence and machine learning analytics to help classify applications as having known good reputation. When users download applications on a system with WDAC enabled with the ISG authorization option specified, the reputation of the downloaded file, commonly an installer, is used to determine whether to run the installer and then that original reputation information is passed along to any files that were written by the installer. When any of these files try to execute after they are installed, the reputation data is used to help make the right policy authorization decision. +The the Microsoft Intelligent Security Graph relies on Microsoft’s vast security intelligence and machine learning analytics to help classify applications as having known good reputation. When users download applications on a system with WDAC enabled with the the Microsoft Intelligent Security Graph authorization option specified, the reputation of the downloaded file, commonly an installer, is used to determine whether to run the installer and then that original reputation information is passed along to any files that were written by the installer. When any of these files try to execute after they are installed, the reputation data is used to help make the right policy authorization decision. After that initial download and installation, the WDAC component will check for the presence of the positive reputation information when evaluating other application execution control rules specified in the policy. If there are no deny rules present for the file, it will be authorized based on the known good reputation classification. @@ -44,14 +42,14 @@ Other examples of WDAC policies are available in `C:\Windows\schemas\CodeIntegri ## Configuring Intelligent Security Graph authorization for Windows Defender Application Control -Setting up the ISG authorization is easy regardless of what management solution you use. Configuring the ISG option involves these basic steps: +Setting up the Microsoft Intelligent Security Graph authorization is easy regardless of what management solution you use. Configuring the Microsoft Intelligent Security Graph option involves these basic steps: -- [Ensure that the ISG option is enabled in the WDAC policy XML](#ensure-that-the-intelligent-security-graph-option-is-enabled-in-the-wdac-policy-xml) -- [Enable the necessary services to allow WDAC to use the ISG correctly on the client](#enable-the-necessary-services-to-allow-wdac-to-use-the-isg-correctly-on-the-client) +- [Ensure that the Microsoft Intelligent Security Graph option is enabled in the WDAC policy XML](#ensure-that-the-intelligent-security-graph-option-is-enabled-in-the-wdac-policy-xml) +- [Enable the necessary services to allow WDAC to use the Microsoft Intelligent Security Graph correctly on the client](#enable-the-necessary-services-to-allow-wdac-to-use-the-isg-correctly-on-the-client) ### Ensure that the Intelligent Security Graph option is enabled in the WDAC policy XML -In order to enable trust for executables based on classifications in the ISG, the **Enabled:Intelligent Security Graph authorization** option must be specified in the WDAC policy. This can be done with the Set-RuleOption cmdlet. In addition, it is recommended from a security perspective to also enable the **Enabled:Invalidate EAs on Reboot** option to invalidate the cached ISG results on reboot to force rechecking of applications against the ISG. Caution is advised if devices will regularly transition to and from environments that may not be able to access the ISG. The following example shows both options being set. +In order to enable trust for executables based on classifications in the Microsoft Intelligent Security Graph, the **Enabled:Intelligent Security Graph authorization** option must be specified in the WDAC policy. This can be done with the Set-RuleOption cmdlet. In addition, it is recommended from a security perspective to also enable the **Enabled:Invalidate EAs on Reboot** option to invalidate the cached Intelligent Security Graph results on reboot to force rechecking of applications against the Microsoft Intelligent Security Graph. Caution is advised if devices will regularly transition to and from environments that may not be able to access the Microsoft Intelligent Security Graph. The following example shows both options being set. ```code @@ -81,7 +79,7 @@ In order to enable trust for executables based on classifications in the ISG, th ### Enable the necessary services to allow WDAC to use the ISG correctly on the client -In order for the heuristics used by the ISG to function properly, a number of component in Windows need to be enabled. The easiest way to do this is to run the appidtel executable in `c:\windows\system32`. +In order for the heuristics used by the Microsoft Intelligent Security Graph to function properly, a number of component in Windows must be enabled. The easiest way to do this is to run the appidtel executable in `c:\windows\system32`. ``` appidtel start @@ -91,19 +89,19 @@ For WDAC policies deployed over MDM using the AppLocker CSP this step is not req ## Security considerations with the Intelligent Security Graph -Since the ISG is a heuristic-based mechanism, it does not provide the same security guarantees that explicit allow or deny rules do. It is best suited for deployment to systems where each user is configured as a standard user and there are other monitoring systems in place like Windows Defender Advanced Threat Protection to help provide optics into what users are doing. +Since the Microsoft Intelligent Security Graph is a heuristic-based mechanism, it does not provide the same security guarantees that explicit allow or deny rules do. It is best suited for deployment to systems where each user is configured as a standard user and there are other monitoring systems in place like Microsoft Defender Advanced Threat Protection to help provide optics into what users are doing. -Users with administrator privileges or malware running as an administrator user on the system may be able to circumvent the intent of WDAC when the ISG option is allowed by circumventing or corrupting the heuristics used to assign reputation to application executables. The ISG option uses the same heuristic tracking as managed installer and so for application installers that include an option to automatically run the application at the end of the installation process the heuristic may over-authorize. +Users with administrator privileges or malware running as an administrator user on the system may be able to circumvent the intent of WDAC when the Microsoft Intelligent Security Graph option is allowed by circumventing or corrupting the heuristics used to assign reputation to application executables. The Microsoft Intelligent Security Graph option uses the same heuristic tracking as managed installer and so for application installers that include an option to automatically run the application at the end of the installation process the heuristic may over-authorize. ## Known limitations with using the Intelligent Security Graph -Since the ISG relies on identifying executables as being known good, there are cases where it may classify legitimate executables as unknown, leading to blocks that need to be resolved either with a rule in the WDAC policy, a catalog signed by a certificate trusted in the WDAC policy or by deployment through a WDAC managed installer. Typically, this is due to an installer or application using a dynamic file as part of execution. These files do not tend to build up known good reputation. Auto-updating applications have also been observed using this mechanism and may be flagged by the ISG. +Since the Microsoft Intelligent Security Graph relies on identifying executables as being known good, there are cases where it may classify legitimate executables as unknown, leading to blocks that need to be resolved either with a rule in the WDAC policy, a catalog signed by a certificate trusted in the WDAC policy or by deployment through a WDAC managed installer. Typically, this is due to an installer or application using a dynamic file as part of execution. These files do not tend to build up known good reputation. Auto-updating applications have also been observed using this mechanism and may be flagged by the ISG. -Modern apps are not supported with the ISG heuristic and will need to be separately authorized in your WDAC policy. As modern apps are signed by the Microsoft Store and Microsoft Store for Business, it is straightforward to authorize modern apps with signer rules in the WDAC policy. +Modern apps are not supported with the Microsoft Intelligent Security Graph heuristics and will need to be separately authorized in your WDAC policy. As modern apps are signed by the Microsoft Store and Microsoft Store for Business, it is straightforward to authorize modern apps with signer rules in the WDAC policy. -The ISG heuristic does not authorize kernel mode drivers. The WDAC policy must have rules that allow the necessary drivers to run. +The Microsoft Intelligent Security Graph heuristics do not authorize kernel mode drivers. The WDAC policy must have rules that allow the necessary drivers to run. In some cases, the code integrity logs where WDAC errors and warnings are written will contain error events for native images generated for .NET assemblies. Typically, the error is functionally benign as a blocked native image will result in the corresponding assembly being re-interpreted. Review for functionality and performance for the related applications using the native images maybe necessary in some cases. >[!NOTE] -> A rule that explicitly allows an application will take precedence over the ISG rule that does not allow it. In this scenario, this policy is not compatible with Intune, where there is no option to add rules to the template that enables ISG. In most circumstances you would need to build a custom WDAC policy, including ISG if desired. +> A rule that explicitly allows an application will take precedence over the Microsoft Intelligent Security Graph rule that does not allow it. In this scenario, this policy is not compatible with Intune, where there is no option to add rules to the template that enables the Microsoft Intelligent Security Graph. In most circumstances you would need to build a custom WDAC policy, including the Microsoft Intelligent Security Graph, if desired. From 29dbffa751f370ceb543b087bfb6c77972a82a15 Mon Sep 17 00:00:00 2001 From: Thomas Raya Date: Mon, 24 Feb 2020 11:04:40 -0800 Subject: [PATCH 150/150] correct note format remove additional spaces to the right of > [!NOTE] on line 149, that cause the note to not render correctly. --- windows/client-management/mdm/dmclient-csp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/dmclient-csp.md b/windows/client-management/mdm/dmclient-csp.md index c961d51a7e..9469f12408 100644 --- a/windows/client-management/mdm/dmclient-csp.md +++ b/windows/client-management/mdm/dmclient-csp.md @@ -146,7 +146,7 @@ Supported operations are Get, Replace, and Delete.
    **Provider/*ProviderID*/SyncApplicationVersion** Optional. Used by the management server to set the DM session version that the server and device should use. Default is 1.0. In Windows 10, the DM session protocol version of the client is 2.0. If the server is updated to support 2.0, then you should set this value to 2.0. In the next session, check to see if there is a client behavior change between 1.0 and 2.0. -> [!NOTE]   +> [!NOTE] > This node is only supported in Windows 10 and later. Once you set the value to 2.0, it will not go back to 1.0.

    MessageDate
    Status of February 2020 “C” release
    The optional monthly “C” release for February 2020 for all supported versions of Windows and Windows Server prior to Windows 10, version 1903 and Windows Server, version 1903 will be available in the near term. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
    February 21, 2020
    12:00 PM PT
    Compatibility issue with some Windows Server container images
    If you are encountering issues with Windows Server container images, please see KB4542617.
    February 13, 2020
    03:21 PM PT
    Take action: February 2020 security update available for all supported versions of Windows
    The February 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
    February 11, 2020
    08:00 AM PT
    Take action: ESU security updates available for Windows 7 SP1, Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
    Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2008 SP2 reached end of support on January 14, 2020. For customers who have purchased Extended Security Updates (ESU), the first monthly ESU security updates are now available. If your organization has not yet been able to complete your transition to Windows 10, Windows Server 2016, or Windows Server 2019 and want to continue to receive security updates for your current version of Windows, you will need to purchase Extended Security Updates. For information on how to do so, please see How to get Extended Security Updates for eligible Windows devices, Windows 7 ESU frequently ask questions, and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 ESU frequently asked questions.

    We recommend ESU customers review the applicable KB article below for prerequisites and other important information you will need to deploy these updates.

    The following updates were released today for Windows Server 2008 SP2:
    The following updates were released today for Windows 7 SP1 and Windows Server 2008 R2 SP1:
    February 11, 2020
    08:00 AM PT

    Nw!{wb5X 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 z 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 z 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 WD)ZCh-*VP~$8YBl7G-BW?*9j7w!jhq literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index c3fe515c1d..6986fb5d5a 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -37,6 +37,12 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic ## Configure Microsoft Linux Software Repository +Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. Instructions for configuring your device to use this repository are provided below. + +The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insider-fast* can try out new features before devices in *prod*. + +In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to use the *insider-fast* channel. + ### RHEL and variants (CentOS and Oracle EL) - Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/` @@ -44,13 +50,13 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step: > [!NOTE] - > In case of Oracle EL and CentOS 8, use [distro] as “rhel”. + > In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. ```bash - $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.repo + $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/[distro]/[version]/[channel].repo ``` - For example, if you are running CentOS 7: + For example, if you are running CentOS 7 and wish to deploy MDATP for Linux from the *insider-fast* channel: ```bash $ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/centos/7/insiders-fast.repo @@ -76,10 +82,10 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. ```bash - $ sudo zypper addrepo -c -f -n microsoft-insiders-fast https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.repo + $ sudo zypper addrepo -c -f -n microsoft-[channel] https://packages.microsoft.com/config/[distro]/[version]/[channel].repo ``` - For example, if you are running SLES 12: + For example, if you are running SLES 12 and wish to deploy MDATP for Linux from the *insider-fast* channel: ```bash $ sudo zypper addrepo -c -f -n microsoft-insiders-fast https://packages.microsoft.com/config/sles/12/insiders-fast.repo @@ -105,10 +111,10 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic In the below command, replace *[distro]* and *[version]* with the information identified in the previous step: ```bash - $ curl -o microsoft.list https://packages.microsoft.com/config/[distro]/[version]/insiders-fast.list + $ curl -o microsoft.list https://packages.microsoft.com/config/[distro]/[version]/[channel].list ``` - For example, if you are running Ubuntu 18.04: + For example, if you are running Ubuntu 18.04 and wish to deploy MDATP for Linux from the *insider-fast* channel: ```bash $ curl -o microsoft.list https://packages.microsoft.com/config/ubuntu/18.04/insiders-fast.list @@ -117,7 +123,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic - Install the repository configuration: ```bash - $ sudo mv ./microsoft.list /etc/apt/sources.list.d/microsoft-insiders-fast.list + $ sudo mv ./microsoft.list /etc/apt/sources.list.d/microsoft-[channel].list ``` - Install the gpg package if not already installed: @@ -163,7 +169,7 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic - Ubuntu and Debian system ```bash - sudo apt-get install -t insiders-fast mdatp + sudo apt-get install mdatp ``` ## Download onboarding package @@ -171,42 +177,44 @@ Before you get started, see [the main Microsoft Defender ATP for Linux page](mic Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. -3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. +2. In Section 1 of the page, set operating system to **Linux Server** and Deployment method to **Local script**. +3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. - ![Windows Defender Security Center screenshot](images/atp-portal-onboarding-win-intune.png) + ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux.png) 4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file and create mdatp_onboard.json file as follows: + Extract the contents of the archive: ```bash $ ls -l total 8 - -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip - $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json + -rw-r--r-- 1 test staff 5752 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + inflating: WindowsDefenderATPOnboarding.py ``` ## Client configuration -1. Copy WindowsDefenderATPOnboarding.py to the machine where you deploy Microsoft Defender ATP for Linux. +1. Copy WindowsDefenderATPOnboarding.py to the target machine. - The client machine is not associated with orgId. Note that the *orgId* attribute is blank. + Initially the client machine is not associated with an organization. Note that the *orgId* attribute is blank. ```bash $ mdatp --health orgId ``` -2. Copy the mdatp_onboard.json created in earlier step to /etc/opt/microsoft/mdatp_onboard.json +2. Run WindowsDefenderATPOnboarding.py (note that in order to run this command you must have `python` installed on the device). ```bash - $ sudo cp mdatp.json /etc/opt/microsoft/mdatp/mdatp_onboard.json + $ python WindowsDefenderATPOnboarding.py ``` -3. Verify that the machine is now associated with your organization and reports a valid *orgId*: +3. Verify that the machine is now associated with your organization and reports a valid organization identifier: ```bash $ mdatp --health orgId - E6875323-A6C0-4C60-87AD-114BBE7439B8 + [your organization identifier] ``` 4. A few minutes following the completion of the installation, you can see the status by running the following command. A return value of `'1'` denotes that the product is functioning as expected. @@ -216,18 +224,23 @@ Download the onboarding package from Microsoft Defender Security Center: 1 ``` -5. Run a detection test -To verify that the machine is properly onboarded and reporting to the service, take the following steps on the newly onboarded machine: +5. Run a detection test to verify that the machine is properly onboarded and reporting to the service. Perform the following steps on the newly onboarded machine: + + - Ensure that real-time protection is enabled (denoted by a result of `1` from running the following command). + + ```bash + $ mdatp --health realTimeProtectionEnabled + 1 + ``` - - Ensure Real-time protection setting is ON ```mdatp --health realTimeProtectionEnabled``` - Open a Terminal window Copy and run the command below: ``` bash - curl -o ~/Downloads/eicar.com.txt http://www.eicar.org/download/eicar.com.txt + $ curl -o ~/Downloads/eicar.com.txt http://www.eicar.org/download/eicar.com.txt ``` -6. The file should have been quarantined by Microsoft Defender ATP for Linux. Use the following command to list all the detected threats: + - The file should have been quarantined by Microsoft Defender ATP for Linux. Use the following command to list all the detected threats: ```bash $ mdatp --threat --list --pretty diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 2c430ba593..016794bca5 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -59,19 +59,20 @@ Before you get started, please see [the main Microsoft Defender ATP for Linux pa Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +2. In the first drop down, set operating system to **Linux Server** and in second drop down, Deployment method to **Your preferred Linux configuration management tool**. 3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. - ![Windows Defender Security Center screenshot](images/atp-portal-onboarding-win-intune.png) + ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux-2.png) -4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file and create mdatp_onboard.json file as follows: +4. From a command prompt, verify that you have the file. Extract the contents of the archive: ```bash $ ls -l total 8 - -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip - $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json + -rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip + $ unzip WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + inflating: mdatp_onboard.json ``` ## Create Ansible YAML files @@ -91,16 +92,17 @@ Create subtask / role files which contribute to an actual task. Create below fil mode: '0644' ``` -- Create a `setup.sh` script which operates on onboarding blob +- Create a `setup.sh` script which operates on the onboarding file ```bash $ cat /root/setup.sh #!/bin/bash - # Unzip the file and creates license blob + # Unzip the file and create license file mkdir -p /etc/opt/microsoft/mdatp/ - unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' > /etc/opt/microsoft/mdatp/mdatp_onboard.json + unzip WindowsDefenderATPOnboardingPackage.zip + cp mdatp_onboard.json /etc/opt/microsoft/mdatp/mdatp_onboard.json # get the GPG key curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg @@ -125,82 +127,96 @@ Create subtask / role files which contribute to an actual task. Create below fil - Add the Microsoft Defender ATP repository and key - ```bash - $ cat add_apt_repo.yml - - name: Add Microsoft repository for MDATP - apt_repository: - repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/ubuntu/16.04/prod insiders-fast main - update_cache: yes - state: present - filename: microsoft-insiders-fast.list + Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. - - name: Add Microsoft APT key - apt_key: - keyserver: https://packages.microsoft.com/ - id: BC528686B50D79E339D3721CEB3E94ADBE1229C - ``` + The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insider-fast* can try out new features before devices in *prod*. -- For Yum based distributions use the following YML file + In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to use the *insider-fast* channel. - ```bash - $ cat add_yum_repo.yml - - name: Add Microsoft repository for MDATP - yum_repository: - name: packages-microsoft-com-prod-insiders-fast - description: Microsoft Defender ATP - file: microsoft-insiders-fast - baseurl: https://packages.microsoft.com/centos/7/insiders-fast/ - gpgcheck: yes - enabled: Yes - ``` + Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. -- Now create the actual install/uninstall YAML files under /etc/ansible/playbooks + In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. - ```bash - $ cat install_mdatp.yml - - hosts: servers + - For apt-based distributions use the following YAML file + + ```bash + $ cat add_apt_repo.yml + - name: Add Microsoft repository for MDATP + apt_repository: + repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/[distro]/[version]/prod [channel] main + update_cache: yes + state: present + filename: microsoft-[channel].list + + - name: Add Microsoft APT key + apt_key: + keyserver: https://packages.microsoft.com/ + id: BC528686B50D79E339D3721CEB3E94ADBE1229C + ``` + + - For yum-based distributions use the following YAML file + + ```bash + $ cat add_yum_repo.yml + - name: Add Microsoft repository for MDATP + yum_repository: + name: packages-microsoft-com-prod-[channel] + description: Microsoft Defender ATP + file: microsoft-[channel] + baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ + gpgcheck: yes + enabled: Yes + ``` + +- Create the actual install / uninstall YAML files under `/etc/ansible/playbooks` + + - For apt-based distributions use the following YAML file + + ```bash + $ cat install_mdatp.yml + - hosts: servers + tasks: + - include: ../roles/download_copy_blob.yml + - include: ../roles/setup_blob.yml + - include: ../roles/add_apt_repo.yml + - apt: + name: mdatp + state: latest + update_cache: yes + ``` + + ```bash + $ cat uninstall_mdatp.yml + - hosts: servers + tasks: + - apt: + name: mdatp + state: absent + ``` + + - For yum-based distributions use the following YAML file + + ```bash + $ cat install_mdatp_yum.yml + - hosts: servers tasks: - include: ../roles/download_copy_blob.yml - include: ../roles/setup_blob.yml - - include: ../roles/add_apt_repo.yml - - apt: + - include: ../roles/add_yum_repo.yml + - yum: name: mdatp state: latest - update_cache: yes - ``` + enablerepo: packages-microsoft-com-prod-insiders-fast + ``` - ```bash - $ cat uninstall_mdatp.yml - - hosts: servers - tasks: - - apt: - name: mdatp - state: absent - ``` - -- For the Yum based distribution - - ```bash - $ cat install_mdatp_yum.yml - - hosts: servers - tasks: - - include: ../roles/download_copy_blob.yml - - include: ../roles/setup_blob.yml - - include: ../roles/add_yum_repo.yml - - yum: - name: mdatp - state: latest - enablerepo: packages-microsoft-com-prod-insiders-fast - ``` - - ```bash - $ cat uninstall_mdatp_yum.yml - - hosts: servers - tasks: - - yum: - name: mdatp - state: absent - ``` + ```bash + $ cat uninstall_mdatp_yum.yml + - hosts: servers + tasks: + - yum: + name: mdatp + state: absent + ``` ## Deployment @@ -221,7 +237,10 @@ Now run the tasks files under `/etc/ansible/playbooks/` ## References -[Add or remove YUM repositories](https://docs.ansible.com/ansible/2.3/yum_repository_module.html)
    -[Manage packages with the yum package manager](https://docs.ansible.com/ansible/latest/modules/yum_module.html)
    -[Add and remove APT repositories](https://docs.ansible.com/ansible/latest/modules/apt_repository_module.html)
    -[Manage apt-packages](https://docs.ansible.com/ansible/latest/modules/apt_module.html) \ No newline at end of file +- [Add or remove YUM repositories](https://docs.ansible.com/ansible/2.3/yum_repository_module.html) + +- [Manage packages with the yum package manager](https://docs.ansible.com/ansible/latest/modules/yum_module.html) + +- [Add and remove APT repositories](https://docs.ansible.com/ansible/latest/modules/apt_repository_module.html) + +- [Manage apt-packages](https://docs.ansible.com/ansible/latest/modules/apt_module.html) \ No newline at end of file diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index f1af7f4cb0..a2f0a9375f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -42,19 +42,19 @@ In addition, for Puppet deployment, you need to be familiar with Puppet administ Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. -2. In the first drop down, set operating system to **Windows 10** and in second drop down, Deployment method to **Mobile Device Management / Microsoft Intune**. +2. In the first drop down, set operating system to **Linux Server** and in second drop down, Deployment method to **Your preferred Linux configuration management tool**. 3. Click on **Download package**. Save it as WindowsDefenderATPOnboardingPackage.zip. - ![Windows Defender Security Center screenshot](images/atp-portal-onboarding-win-intune.png) + ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux-2.png) -4. From a command prompt, verify that you have the file. - Extract the contents of the .zip file and create mdatp_onboard.json file as follows: +4. From a command prompt, verify that you have the file. Extract the contents of the archive: ```bash $ ls -l total 8 - -rw-r--r-- 1 test staff 6287 Oct 21 11:22 WindowsDefenderATPOnboardingPackage.zip - $ unzip -p WindowsDefenderATPOnboardingPackage.zip | python -c 'import sys,json;data={"onboardingInfo":"\n".join(sys.stdin.readlines())};print(json.dumps(data));' >mdatp_onboard.json + -rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip + Archive: WindowsDefenderATPOnboardingPackage.zip + inflating: mdatp_onboard.json ``` ## Create Puppet manifest diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md index fde2118685..e38317e818 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md @@ -254,7 +254,7 @@ The following configuration profile will: }, "cloudService":{ "automaticSampleSubmission":true, - "enabled":true, + "enabled":true } } ``` @@ -303,11 +303,11 @@ The following configuration profile contains entries for all settings described "cloudService":{ "enabled":true, "diagnosticLevel":"optional", - "automaticSampleSubmission":true, + "automaticSampleSubmission":true } } ``` ## Configuration profile deployment -Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. Microsoft M reads the managed configuration from the file */etc/opt/microsoft/mdatp/managed/mdatp_managed.json* +Once you've built the configuration profile for your enterprise, you can deploy it through the management tool that your enterprise is using. Microsoft Defender ATP for Linux reads the managed configuration from the file */etc/opt/microsoft/mdatp/managed/mdatp_managed.json* diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md index 295efbedca..00a3968eb8 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md @@ -60,7 +60,7 @@ If you can reproduce a problem, please increase the logging level, run the syste If an error occurs during installation, the installer will only report a general failure. -The detailed log will be saved to /var/log/microsoft/mdatp_install.log. If you experience issues during installation, send us this file so we can help diagnose the cause. +The detailed log will be saved to `/var/log/microsoft/mdatp_install.log`. If you experience issues during installation, send us this file so we can help diagnose the cause. ## Uninstalling diff --git a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md index 1205d192a5..0f13038052 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md +++ b/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-atp-linux.md @@ -59,8 +59,8 @@ In general you need to take the following steps: - Oracle Enterprise Linux 7 - Minimum kernel version 2.6.38 -- The **fanotify** kernel option must be enabled -- Disk space: 650 MB. +- The *fanotify* kernel option must be enabled +- Disk space: 650 MB After you've enabled the service, you may need to configure your network or firewall to allow outbound connections between it and your endpoints. @@ -96,23 +96,14 @@ The output from this command should be similar to the following: > `OK https://x.cp.wd.microsoft.com/api/report` > `OK https://cdn.x.cp.wd.microsoft.com/ping` -You can also use ```mdatp --connectivity-test``` to verify the connectivity. - +Once Microsoft Defender ATP is installed, connectivity can be validated by running the following command in Terminal: ```bash $ mdatp --connectivity-test -Running connectivity test -Testing connection with https://cdn.x.cp.wd.microsoft.com/ping ... [OK] -Testing connection with https://eu-cdn.x.cp.wd.microsoft.com/ping ... [OK] -Testing connection with https://wu-cdn.x.cp.wd.microsoft.com/ping ... [OK] -Testing connection with https://unitedstates.x.cp.wd.microsoft.com/api/report ... [OK] -Testing connection with https://ussus1eastprod.blob.core.windows.net ... [OK] -Testing connection with https://ussus1westprod.blob.core.windows.net ... [OK] ``` - ## How to update Microsoft Defender ATP for Linux -Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](linux-updates.md) +Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. To update Microsoft Defender ATP for Linux, refer to [Deploy updates for Microsoft Defender ATP for Linux](linux-updates.md). ## How to configure Microsoft Defender ATP for Linux @@ -120,17 +111,13 @@ Guidance for how to configure the product in enterprise environments is availabl ## Known Issues -- When a large volume of threats are encountered on the device, the product might exhibit increasingly large memory consumption (until the next product restart / system reboot). The engineering team is actively working on a mitigation for this - Logged on users do not appear in the ATP portal -- While we are working on creating a better onboarding experience for Linux in the Microsoft Defender Security Center portal, the steps below temporarily point to the Windows section of the portal for getting the onboarding package -- In SUSE distributions, if the libatomic1 failed to be installed please validate that your OS is registered by typing the following command in the terminal: +- In SUSE distributions, if installation of *libatomic1* fails, validate that your OS is registered: ```bash -sudo SUSEConnect --status-text +$ sudo SUSEConnect --status-text ``` ## Resources - For more information about logging, uninstalling, or other topics, see the [Resources](linux-resources.md) page. - -- [Privacy for Microsoft Defender ATP for Linux](linux-privacy.md) From 57b1726dd4d99b221d3dbbe36a08d93129ebbd1d Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 22:19:42 -0800 Subject: [PATCH 071/150] Cleanup --- .../linux-install-manually.md | 3 +- .../linux-install-with-ansible.md | 15 +++++---- .../linux-install-with-puppet.md | 33 +++++++++++++------ .../microsoft-defender-atp/linux-resources.md | 2 +- 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 6986fb5d5a..a7d5745aeb 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -178,7 +178,7 @@ Download the onboarding package from Microsoft Defender Security Center: 1. In Microsoft Defender Security Center, go to **Settings > Machine Management > Onboarding**. 2. In Section 1 of the page, set operating system to **Linux Server** and Deployment method to **Local script**. -3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. +3. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip. ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-linux.png) @@ -189,6 +189,7 @@ Download the onboarding package from Microsoft Defender Security Center: $ ls -l total 8 -rw-r--r-- 1 test staff 5752 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip + $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip inflating: WindowsDefenderATPOnboarding.py diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 016794bca5..e45283ab7d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -36,7 +36,7 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Ansi Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. - Ansible needs to be installed at least on one computer (we will call it master) -- Password less SSH must be configured for root user between Master and all clients +- Passwordless SSH must be configured for root user between the master and all clients - Below software must be installed on all clients - python-apt - curl @@ -79,7 +79,7 @@ Download the onboarding package from Microsoft Defender Security Center: Create subtask / role files which contribute to an actual task. Create below files under `/etc/ansible/roles` directory. -- Copy onboarding package on all client machines +- Copy onboarding package to all client machines ```bash $ cat /etc/ansible/roles/copy_onboarding_pkg.yml @@ -99,7 +99,7 @@ Create subtask / role files which contribute to an actual task. Create below fil #!/bin/bash - # Unzip the file and create license file + # Unzip the archive and create the onboarding file mkdir -p /etc/opt/microsoft/mdatp/ unzip WindowsDefenderATPOnboardingPackage.zip cp mdatp_onboard.json /etc/opt/microsoft/mdatp/mdatp_onboard.json @@ -109,7 +109,7 @@ Create subtask / role files which contribute to an actual task. Create below fil sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/ ``` -- Create onboarding blob +- Create the onboarding file ```bash $ cat setup_blob.yml @@ -121,7 +121,7 @@ Create subtask / role files which contribute to an actual task. Create below fil group: root mode: '0744' - - name: Run a script to create license blob + - name: Run a script to create the onboarding file script: /root/setup.sh ``` @@ -137,6 +137,9 @@ Create subtask / role files which contribute to an actual task. Create below fil In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. + > [!NOTE] + > In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. + - For apt-based distributions use the following YAML file ```bash @@ -206,7 +209,7 @@ Create subtask / role files which contribute to an actual task. Create below fil - yum: name: mdatp state: latest - enablerepo: packages-microsoft-com-prod-insiders-fast + enablerepo: packages-microsoft-com-prod-[channel] ``` ```bash diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index a2f0a9375f..dfd667c83c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -35,7 +35,7 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to [Puppet documentation](https://puppet.com/docs) for details. +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported Puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to the [Puppet documentation](https://puppet.com/docs) for details. ## Download onboarding package @@ -59,9 +59,9 @@ Download the onboarding package from Microsoft Defender Security Center: ## Create Puppet manifest -You need to create a puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your puppet server. +You need to create a Puppet manifest for deploying Microsoft Defender ATP for Linux to devices managed by a Puppet server. This example makes use of *apt* module available from puppetlabs and assumes that apt module has been installed on your Puppet server. -Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your puppet server. Copy the mdatp_onboard.json file created in above step to *install_mdatp/files* folder. Create *init.pp* file which will contain the deployment instructions. +Create a folders *install_mdatp/files* and *install_mdatp/manifests* under the modules folder of your Puppet installation. This typically is located in */etc/puppetlabs/code/environments/production/modules* on your Puppet server. Copy the mdatp_onboard.json file created in above step to *install_mdatp/files* folder. Create a *init.pp* file which contains the deployment instructions. ```bash $ pwd @@ -75,15 +75,28 @@ install_mdatp └── init.pp ``` -Contents of *install_mdatp/manifests/init.pp* +### Contents of `install_mdatp/manifests/init.pp` + +Microsoft Defender ATP for Linux can be deployed from one of the following channels (denoted below as *[channel]*): *insider-fast* or *prod*. Each of these channels corresponds to a Linux software repository. + +The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insider-fast* can try out new features before devices in *prod*. + +In order to preview new features and provide early feedback, it is recommended that you configure some devices in your enterprise to use the *insider-fast* channel. + +Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/`. + +In the below commands, replace *[distro]* and *[version]* with the information identified in the previous step. + +> [!NOTE] +> In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. ```puppet class install_mdatp { if ($osfamily == 'Debian') { apt::source { 'microsoftpackages' : - location => 'https://packages.microsoft.com/ubuntu/18.04/prod', # change the version and distro based on your OS - release => 'stable', + location => 'https://packages.microsoft.com/[distro]/[version]/prod', # change the version and distro based on your OS + release => '[channel]', repos => 'main', key => { 'id' => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF', @@ -93,7 +106,7 @@ class install_mdatp { } else { yumrepo { 'microsoftpackages' : - baseurl => 'https://packages.microsoft.com/rhel/7/prod', # change the version and distro based on your OS + baseurl => 'https://packages.microsoft.com/[distro]/[version]/[channel]', # change the version and distro based on your OS enabled => 1, gpgcheck => 1, gpgkey => 'https://packages.microsoft.com/keys/microsoft.asc' @@ -127,7 +140,7 @@ node "default" { Enrolled agent devices periodically poll the Puppet Server, and install new configuration profiles and policies as soon as they are detected. -## Monitoring puppet deployment +## Monitoring Puppet deployment On the agent machine, you can also check the onboarding status by running: @@ -135,13 +148,13 @@ On the agent machine, you can also check the onboarding status by running: $ mdatp --health ... licensed : true -orgId : "4751b7d4-ea75-4e8f-a1f5-6d640c65bc45" +orgId : "[your organization identifier]" ... ``` - **licensed**: This confirms that the device has an ATP license. -- **orgid**: Your Microsoft Defender ATP org id; it will be the same for your organization. +- **orgid**: your Microsoft Defender ATP org id; it will be the same for your organization. ## Check onboarding status diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md index 00a3968eb8..e3e5cf0f15 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-resources.md @@ -69,7 +69,7 @@ There are several ways to uninstall Microsoft Defender ATP for Linux. If you are ### Manual uninstallation - ```sudo apt-get purge mdatp``` for Debian and Ubuntu systems -- ```sudo yum remove mdatp``` for RHEL, Oracle Linux, CentOS based systems +- ```sudo yum remove mdatp``` for RHEL, Oracle Linux, and CentOS based systems ## Configuring from the command line From c9c874eb7e2d7f3ae55f9dae61317d4e7b6c4aac Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 22:41:16 -0800 Subject: [PATCH 072/150] More details; cleanup --- .../microsoft-defender-atp/linux-install-manually.md | 4 ++-- .../linux-install-with-ansible.md | 6 +++++- .../linux-install-with-puppet.md | 11 ++++++----- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index a7d5745aeb..cbb09354b6 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -189,7 +189,7 @@ Download the onboarding package from Microsoft Defender Security Center: $ ls -l total 8 -rw-r--r-- 1 test staff 5752 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip - + $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip inflating: WindowsDefenderATPOnboarding.py @@ -218,7 +218,7 @@ Download the onboarding package from Microsoft Defender Security Center: [your organization identifier] ``` -4. A few minutes following the completion of the installation, you can see the status by running the following command. A return value of `'1'` denotes that the product is functioning as expected. +4. A few minutes following the completion of the installation, you can see the status by running the following command. A return value of `1` denotes that the product is functioning as expected. ```bash $ mdatp --health healthy diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index e45283ab7d..471190a7e3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -77,7 +77,7 @@ Download the onboarding package from Microsoft Defender Security Center: ## Create Ansible YAML files -Create subtask / role files which contribute to an actual task. Create below files under `/etc/ansible/roles` directory. +Create subtask / role files which contribute to an actual task. Create the below files under the `/etc/ansible/roles` directory. - Copy onboarding package to all client machines @@ -238,6 +238,10 @@ Now run the tasks files under `/etc/ansible/playbooks/` `# ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts` +## Logging installation issues + +See [Logging installation issues](linux-resources.md#logging-installation-issues) for more information on how to find the automatically generated log that is created by the installer when an error occurs. + ## References - [Add or remove YUM repositories](https://docs.ansible.com/ansible/2.3/yum_repository_module.html) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md index dfd667c83c..5fdc1c6ff3 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-puppet.md @@ -35,7 +35,7 @@ This topic describes how to deploy Microsoft Defender ATP for Linux through Pupp Before you get started, please see [the main Microsoft Defender ATP for Linux page](microsoft-defender-atp-linux.md) for a description of prerequisites and system requirements for the current software version. -In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have a Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported Puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to the [Puppet documentation](https://puppet.com/docs) for details. +In addition, for Puppet deployment, you need to be familiar with Puppet administration tasks, have Puppet configured, and know how to deploy packages. Puppet has many ways to complete the same task. These instructions assume availability of supported Puppet modules such as *apt* to help deploy the package. Your organization might use a different workflow. Please refer to the [Puppet documentation](https://puppet.com/docs) for details. ## Download onboarding package @@ -53,6 +53,7 @@ Download the onboarding package from Microsoft Defender Security Center: $ ls -l total 8 -rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip + $ unzip WindowsDefenderATPOnboardingPackage.zip Archive: WindowsDefenderATPOnboardingPackage.zip inflating: mdatp_onboard.json ``` @@ -152,9 +153,9 @@ orgId : "[your organization identifier]" ... ``` -- **licensed**: This confirms that the device has an ATP license. +- **licensed**: This confirms that the device is tied to your organization. -- **orgid**: your Microsoft Defender ATP org id; it will be the same for your organization. +- **orgId**: your Microsoft Defender ATP organization identifier. ## Check onboarding status @@ -164,12 +165,12 @@ You can check that devices have been correctly onboarded by creating a script. F $ mdatp --health healthy ``` -The above command prints "1" if the product is onboarded and functioning as expected. +The above command prints `1` if the product is onboarded and functioning as expected. If the product is not healthy, the exit code (which can be checked through `echo $?`) indicates the problem: - 1 if the device is not yet onboarded -- 3 if the connection to the daemon cannot be established—for example, if the daemon is not running +- 3 if the connection to the daemon cannot be established ## Logging installation issues From bf5a4ff2348a4123e9dfbd192739a10e26a8fede Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 22:51:59 -0800 Subject: [PATCH 073/150] Update preferences --- .../linux-preferences.md | 47 ++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md index e38317e818..d98c03bf83 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-preferences.md @@ -75,6 +75,17 @@ Whether the antivirus engine runs in passive mode or not. In passive mode: | **Possible values** | false (default)
    true | | **Comments** | Available in Microsoft Defender ATP version 100.67.60 or higher. | +#### Exclusion merge policy + +Specify the merge policy for exclusions. This can be a combination of administrator-defined and user-defined exclusions (`merge`) or only administrator-defined exclusions (`admin_only`). This setting can be used to restrict local users from defining their own exclusions. + +||| +|:---|:---| +| **Key** | exclusionsMergePolicy | +| **Data type** | String | +| **Possible values** | merge (default)
    admin_only | +| **Comments** | Available in Microsoft Defender ATP version 100.83.73 or higher. | + #### Scan exclusions Entities that have been excluded from the scan. Exclusions can be specified by full paths, extensions, or file names. @@ -128,9 +139,9 @@ Used to exclude content from the scan by file extension. | **Possible values** | valid file extensions | | **Comments** | Applicable only if *$type* is *excludedFileExtension* | -**Name of excluded content** +**Process excluded from the scan** -Used to exclude content from the scan by file name. +Specify a process for which all file activity is excluded from scanning. The process can be specified either by its name (e.g. `cat`) or full path (e.g. `/bin/cat`). ||| |:---|:---| @@ -148,6 +159,17 @@ List of threats (identified by their name) that are not blocked by the product a | **Key** | allowedThreats | | **Data type** | Array of strings | +#### Disallowed threat actions + +Restricts the actions that the local user of a device can take when threats are detected. The actions included in this list are not displayed in the user interface. + +||| +|:---|:---| +| **Key** | disallowedThreatActions | +| **Data type** | Array of strings | +| **Possible values** | allow (restricts users from allowing threats)
    restore (restricts users from restoring threats from the quarantine) | +| **Comments** | Available in Microsoft Defender ATP version 100.83.73 or higher. | + #### Threat type settings The *threatTypeSettings* preference in the antivirus engine is used to control how certain threat types are handled by the product. @@ -182,6 +204,17 @@ Action to take when coming across a threat of the type specified in the precedin | **Data type** | String | | **Possible values** | audit (default)
    block
    off | +#### Threat type settings merge policy + +Specify the merge policy for threat type settings. This can be a combination of administrator-defined and user-defined settings (`merge`) or only administrator-defined settings (`admin_only`). This setting can be used to restrict local users from defining their own settings for different threat types. + +||| +|:---|:---| +| **Key** | threatTypeSettingsMergePolicy | +| **Data type** | String | +| **Possible values** | merge (default)
    admin_only | +| **Comments** | Available in Microsoft Defender ATP version 100.83.73 or higher. | + ### Cloud delivered protection preferences The *cloudService* entry in the configuration profile is used to configure the cloud driven protection feature of the product. @@ -270,6 +303,7 @@ The following configuration profile contains entries for all settings described "antivirusEngine":{ "enableRealTimeProtection":true, "passiveMode":false, + "exclusionsMergePolicy":"merge", "exclusions":[ { "$type":"excludedPath", @@ -284,11 +318,20 @@ The following configuration profile contains entries for all settings described { "$type":"excludedFileExtension", "extension":"pdf" + }, + { + "$type":"excludedFileName", + "name":"cat" } ], "allowedThreats":[ "EICAR-Test-File (not a virus)" ], + "disallowedThreatActions":[ + "allow", + "restore" + ], + "threatTypeSettingsMergePolicy":"merge", "threatTypeSettings":[ { "key":"potentially_unwanted_application", From 62c91eca754faec91fef5daa677e582cb93f304b Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 23:09:50 -0800 Subject: [PATCH 074/150] . --- .../linux-install-with-ansible.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 471190a7e3..262a71ba40 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -37,12 +37,12 @@ Before you get started, please see [the main Microsoft Defender ATP for Linux pa - Ansible needs to be installed at least on one computer (we will call it master) - Passwordless SSH must be configured for root user between the master and all clients -- Below software must be installed on all clients +- The following software must be installed on all clients: - python-apt - curl - unzip -- All host must be listed in the following format in `/etc/ansible/hosts` file +- All host must be listed in the following format in `/etc/ansible/hosts` file: ```bash [servers] @@ -79,7 +79,7 @@ Download the onboarding package from Microsoft Defender Security Center: Create subtask / role files which contribute to an actual task. Create the below files under the `/etc/ansible/roles` directory. -- Copy onboarding package to all client machines +- Copy onboarding package to all client machines: ```bash $ cat /etc/ansible/roles/copy_onboarding_pkg.yml @@ -92,7 +92,7 @@ Create subtask / role files which contribute to an actual task. Create the below mode: '0644' ``` -- Create a `setup.sh` script which operates on the onboarding file +- Create a `setup.sh` script which operates on the onboarding file: ```bash $ cat /root/setup.sh @@ -109,7 +109,7 @@ Create subtask / role files which contribute to an actual task. Create the below sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/ ``` -- Create the onboarding file +- Create the onboarding file: ```bash $ cat setup_blob.yml @@ -140,7 +140,7 @@ Create subtask / role files which contribute to an actual task. Create the below > [!NOTE] > In case of Oracle EL and CentOS 8, use *[distro]* as “rhel”. - - For apt-based distributions use the following YAML file + - For apt-based distributions use the following YAML file: ```bash $ cat add_apt_repo.yml @@ -157,7 +157,7 @@ Create subtask / role files which contribute to an actual task. Create the below id: BC528686B50D79E339D3721CEB3E94ADBE1229C ``` - - For yum-based distributions use the following YAML file + - For yum-based distributions use the following YAML file: ```bash $ cat add_yum_repo.yml @@ -173,7 +173,7 @@ Create subtask / role files which contribute to an actual task. Create the below - Create the actual install / uninstall YAML files under `/etc/ansible/playbooks` - - For apt-based distributions use the following YAML file + - For apt-based distributions use the following YAML file: ```bash $ cat install_mdatp.yml @@ -197,7 +197,7 @@ Create subtask / role files which contribute to an actual task. Create the below state: absent ``` - - For yum-based distributions use the following YAML file + - For yum-based distributions use the following YAML file: ```bash $ cat install_mdatp_yum.yml @@ -229,12 +229,12 @@ Now run the tasks files under `/etc/ansible/playbooks/` `# ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts` -- Validation / Configuration +- Validation / configuration `# ansible -m shell -a 'mdatp --connectivity-test' all`
    `# ansible -m shell -a 'mdatp --health' all` -- Un-Installation +- Uninstallation `# ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts` From 9fbc2c1e1423b7f3cd9008742fead4c382ffb469 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 23:12:44 -0800 Subject: [PATCH 075/150] . --- .../linux-install-with-ansible.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md index 262a71ba40..930f27761c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-with-ansible.md @@ -52,7 +52,9 @@ Before you get started, please see [the main Microsoft Defender ATP for Linux pa - Ping test - ```$ ansible -m ping all``` + ```bash + $ ansible -m ping all + ``` ## Download onboarding package @@ -227,16 +229,22 @@ Now run the tasks files under `/etc/ansible/playbooks/` - Installation - `# ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts` + ```bash + $ ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts + ``` - Validation / configuration - `# ansible -m shell -a 'mdatp --connectivity-test' all`
    - `# ansible -m shell -a 'mdatp --health' all` + ```bash + $ ansible -m shell -a 'mdatp --connectivity-test' all + $ ansible -m shell -a 'mdatp --health' all + ``` - Uninstallation - `# ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts` + ```bash + $ ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts + ``` ## Logging installation issues From 6d8e77b85d2c7b94035e9f263fa6aff08b001972 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Tue, 18 Feb 2020 23:18:50 -0800 Subject: [PATCH 076/150] . --- .../threat-protection/microsoft-defender-atp/linux-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md index a75a02fd2d..2d951143c0 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-updates.md @@ -26,7 +26,7 @@ ms.topic: conceptual Microsoft regularly publishes software updates to improve performance, security, and to deliver new features. -To update Microsoft Defender ATP for Linux manually, execute command +To update Microsoft Defender ATP for Linux manually, execute the following command: - ### For Debian family distros From 0d2ee0d912841fd8ae88b48661f13b0f5f329c0b Mon Sep 17 00:00:00 2001 From: John Liu <49762389+ShenLanJohn@users.noreply.github.com> Date: Wed, 19 Feb 2020 13:58:02 -0800 Subject: [PATCH 077/150] CAT Auto Pulish for Windows Release Messages - 20200219134607 (#2081) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update vpnv2-profile-xsd.md Eap should’t be in the example, because 1. MachineMethod can only be Certificate ------ see https://docs.microsoft.com/en-gb/windows/client-management/mdm/vpnv2-csp ........................VPNv2/ProfileName/NativeProfile/Authentication/MachineMethod This is only supported in IKEv2. This value can be one of the following: • Certificate 2. A profile conatins either UserMethod or MachineMethod but not both * Update advanced-troubleshooting-802-authentication.md * missing "r" in $OSArch https://github.com/MicrosoftDocs/windows-itpro-docs/issues/5972 * Update windows/client-management/advanced-troubleshooting-802-authentication.md Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> * Update windows/client-management/advanced-troubleshooting-802-authentication.md Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> * Update windows/client-management/advanced-troubleshooting-802-authentication.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> * Test, updated Caps * Update windows/client-management/advanced-troubleshooting-802-authentication.md Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> * Multiple corrections required (see notes) @Dansimp 1) This note is contradictory - need to clarify this: "> [!NOTE] > Device credential group policy setting is not supported for enrolling into Microsoft Intune. " 2) We should remove all references to "Primary Domain Controller" (PDC) - it's not the 90's with Windows NT 4.0 anymore ! 3) "Restart the Domain Controller for the policy to be available." A reboot is not required 4) "Enforce a GPO link" This is in contradiction with our recommended practices. We should not be suggesting this. * Update web-content-filtering.md fixed extra space * CAT Auto Pulish for Windows Release Messages - CAT_AutoPublish_20200219114538 (#2080) Co-authored-by: Direesh Kumar Kandakatla Co-authored-by: rogersoMS <44718379+rogersoMS@users.noreply.github.com> Co-authored-by: Daniel Simpson Co-authored-by: Office Content Publishing <34616516+officedocspr@users.noreply.github.com> Co-authored-by: Tina Burden Co-authored-by: Direesh Kumar Kandakatla --- ...nced-troubleshooting-802-authentication.md | 3 +-- ...device-automatically-using-group-policy.md | 8 ++------ .../mdm/vpnv2-profile-xsd.md | 1 - .../resolved-issues-windows-10-1507.yml | 10 ---------- .../resolved-issues-windows-10-1607.yml | 12 ----------- .../resolved-issues-windows-10-1709.yml | 20 ------------------- ...indows-10-1809-and-windows-server-2019.yml | 12 ----------- ...ndows-7-and-windows-server-2008-r2-sp1.yml | 12 ----------- ...windows-8.1-and-windows-server-2012-r2.yml | 20 ------------------- ...esolved-issues-windows-server-2008-sp2.yml | 20 ------------------- .../resolved-issues-windows-server-2012.yml | 20 ------------------- .../status-windows-10-1507.yml | 4 ++-- ...indows-10-1607-and-windows-server-2016.yml | 8 ++++---- .../status-windows-10-1709.yml | 8 ++++---- .../status-windows-10-1803.yml | 8 ++++---- ...indows-10-1809-and-windows-server-2019.yml | 8 ++++---- .../status-windows-10-1903.yml | 8 ++++---- .../status-windows-10-1909.yml | 8 ++++---- ...windows-8.1-and-windows-server-2012-r2.yml | 4 ++-- .../status-windows-server-2012.yml | 4 ++-- .../windows-message-center.yml | 4 +--- .../credential-guard-manage.md | 2 +- .../web-content-filtering.md | 4 ++-- 23 files changed, 37 insertions(+), 171 deletions(-) diff --git a/windows/client-management/advanced-troubleshooting-802-authentication.md b/windows/client-management/advanced-troubleshooting-802-authentication.md index 267386adc6..124846eb32 100644 --- a/windows/client-management/advanced-troubleshooting-802-authentication.md +++ b/windows/client-management/advanced-troubleshooting-802-authentication.md @@ -59,7 +59,7 @@ First, validate the type of EAP method being used: ![eap authentication type comparison](images/comparisontable.png) -If a certificate is used for its authentication method, check if the certificate is valid. For server (NPS) side, you can confirm what certificate is being used from the EAP property menu: +If a certificate is used for its authentication method, check if the certificate is valid. For server (NPS) side, you can confirm what certificate is being used from the EAP property menu. In **NPS snap-in**, go to **Policies** > **Network Policies**. Right click on the policy and select **Properties**. In the pop-up window, go to the **Constraints** tab and select the **Authentication Methods** section. ![Constraints tab of the secure wireless connections properties](images/eappropertymenu.png) @@ -118,4 +118,3 @@ Even if audit policy appears to be fully enabled, it sometimes helps to disable [Troubleshooting Windows Vista 802.11 Wireless Connections](https://technet.microsoft.com/library/cc766215%28v=ws.10%29.aspx)
    [Troubleshooting Windows Vista Secure 802.3 Wired Connections](https://technet.microsoft.com/library/cc749352%28v=ws.10%29.aspx) - diff --git a/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md b/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md index 4ced3aefe8..36ba902151 100644 --- a/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md +++ b/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md @@ -120,9 +120,6 @@ Requirements: > In Windows 10, version 1903, the MDM.admx file was updated to include an option to select which credential is used to enroll the device. **Device Credential** is a new option that will only have an effect on clients that have the Windows 10, version 1903 feature update installed. The default behavior for older releases is to revert to **User Credential**. -> [!NOTE] -> Device credential group policy setting is not supported for enrolling into Microsoft Intune. - When a group policy refresh occurs on the client, a task is created and scheduled to run every 5 minutes for the duration of one day. The task is called " Schedule created by enrollment client for automatically enrolling in MDM from AAD." To see the scheduled task, launch the [Task Scheduler app](#task-scheduler-app). @@ -174,7 +171,7 @@ Requirements: > 1803 -->[Administrative Templates (.admx) for Windows 10 April 2018 Update (1803)](https://www.microsoft.com/download/details.aspx?id=56880) or > 1809 --> [Administrative Templates for Windows 10 October 2018 Update (1809)](https://www.microsoft.com/download/details.aspx?id=57576) or > 1903 --> [Administrative Templates (.admx) for Windows 10 May 2019 Update (1903)](https://www.microsoft.com/download/details.aspx?id=58495&WT.mc_id=rss_alldownloads_all) -> 2. Install the package on the Primary Domain Controller (PDC). +> 2. Install the package on the Domain Controller. > 3. Navigate, depending on the version to the folder: > 1803 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 April 2018 Update (1803) v2**, or > 1809 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2018 Update (1809) v2**, or @@ -182,14 +179,13 @@ Requirements: > 4. Rename the extracted Policy Definitions folder to **PolicyDefinitions**. > 5. Copy PolicyDefinitions folder to **C:\Windows\SYSVOL\domain\Policies**. > (If this folder does not exist, then be aware that you will be switching to a [central policy store](https://support.microsoft.com/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) for your entire domain). -> 6. Restart the Primary Domain Controller for the policy to be available. +> 6. Restart the Domain Controller for the policy to be available. > This procedure will work for any future version as well. 1. Create a Group Policy Object (GPO) and enable the Group Policy **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **MDM** > **Enable automatic MDM enrollment using default Azure AD credentials**. 2. Create a Security Group for the PCs. 3. Link the GPO. 4. Filter using Security Groups. -5. Enforce a GPO link. ## Troubleshoot auto-enrollment of devices diff --git a/windows/client-management/mdm/vpnv2-profile-xsd.md b/windows/client-management/mdm/vpnv2-profile-xsd.md index dd82298d1b..1c13aa99ad 100644 --- a/windows/client-management/mdm/vpnv2-profile-xsd.md +++ b/windows/client-management/mdm/vpnv2-profile-xsd.md @@ -194,7 +194,6 @@ Here's the XSD for the ProfileXML node in VPNv2 CSP for Windows 10 and some pro IKEv2 Eap - Eap diff --git a/windows/release-information/resolved-issues-windows-10-1507.yml b/windows/release-information/resolved-issues-windows-10-1507.yml index 1edda2c7ba..7df978985d 100644 --- a/windows/release-information/resolved-issues-windows-10-1507.yml +++ b/windows/release-information/resolved-issues-windows-10-1507.yml @@ -33,7 +33,6 @@ sections: text: " -
    SummaryOriginating updateStatusDate resolved
    Intermittent issues when printing
    The print spooler service may intermittently have issues completing a print job and results print job failure.

    See details >
    OS Build 10240.18334

    September 23, 2019
    KB4522009
    Resolved
    KB4520011
    October 08, 2019
    10:00 AM PT
    Apps using Visual Basic 6 (VB6), VBA, and VBScript may stop responding with error
    Applications made using VB6, macros using VBA, and VBScript may stop responding and you may receive an error.

    See details >
    OS Build 10240.18305

    August 13, 2019
    KB4512497
    Resolved
    KB4517276
    August 17, 2019
    02:00 PM PT
    " @@ -52,12 +51,3 @@ sections: