练习 - 在 Azure 中运行 Windows Server 2016 虚拟机中启用 AppLocker

已完成

作为 Contoso 的高级管理员,你负责测试 Microsoft AppLocker,以便将来在 Azure 虚拟桌面环境中进行部署。 在企业中,此过程通常通过组策略对象、Intune 或 Configuration Manager 完成。 本练习不包括对这些工具或 Active Directory 域控制器的访问。

在本练习中,你将使用在 Azure 中运行的 Windows Server 2016 虚拟机。 由于这不是实验室的 Azure 虚拟桌面环境,因此 Windows 10 企业版不可用。 你将执行以下操作:

  • 打开 Azure Cloud Shell。
  • 创建资源组。
  • 部署 Windows Server 2016 虚拟机。
  • 连接到虚拟机。
  • 添加标准用户。
  • 启用 AppIDsrv 服务。
  • 禁用 Internet Explorer 增强的安全配置。
  • 下载并安装 Visual Studio Code 2019。
  • 启用 AppLocker。
  • 启用默认 AppLocker 规则。
  • 在部署的 Windows Server 2016 虚拟机上测试 AppLocker 配置。
  • 清理资源。
  • 使用 AppLocker 尝试演示。

注意

若要完成此练习单元,你需要拥有有效的 Azure 订阅。 如果你执行此练习,则可能会产生 Azure 订阅成本。 若要估算成本,请参阅 Windows 虚拟机定价。 本实验中概述的步骤适用于 Windows Server 2016 环境。

可通过多种方式在 Azure 上定义和部署虚拟机。 本练习使用 Azure Cloud Shell 中的 Azure CLI。

打开 Azure Cloud Shell

  1. 使用你的 Azure 凭据登录到 Azure 门户
  2. 选择搜索框旁边的 Cloud Shell 图标。 此时将打开“欢迎使用 Azure Cloud Shell”横幅。
  3. 你可能会收到一个提示,表明你没有装载存储,并要求你选择订阅并创建存储。 选择你的订阅,并在提示时选择“创建存储”。
  4. 在 Azure Cloud Shell 终端窗口中,选择 PowerShell 作为环境。

创建资源组

你现在需要创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 以下示例在 westus 位置创建名为 myResourceGroup 的资源组。 根据你所在的位置,你可以选择其他选项。

  1. 在 PowerShell CLI 中输入以下命令:
az group create -n myResourceGroup -l westus
  1. 使用以下命令验证新的资源组。 此命令将获取订阅中名为 myResourceGroup 的 Azure 资源组。
Get-AZResourceGroup -Name myResourceGroup

部署 Windows Server 2016 虚拟机

  1. 在 CLI 窗口中输入以下命令:
az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --admin-username myVMadmin
  1. 输入管理员密码并在系统提示时确认。

  2. 当显示“正在运行”消息时,表示正在部署计算机。 Azure 资源的部署需要 2 到 3 分钟。

    完成该过程后,将显示以下输出:

    {- Finished ..
     "fqdns": "",
     "id":"/subscriptions/************/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
     "location": "westus",
     "macAddress": "00-0D-3A-5A-75-FA",
     "powerState": "VM running",
     "privateIpAddress": "10.0.0.4",
     "publicIpAddress": "65.52.124.71", 
     "resourceGroup": "myResourceGroup",
     "zones": ""
    }
    
  3. 在远程桌面连接中使用公用地址。 使用管理员密码记下地址。

连接到虚拟机

使用以下步骤从本地计算机创建远程桌面会话。 将 IP 地址替换为虚拟机的公用 IP 地址。 出现提示时,输入 PowerShell 命令中指定的管理员用户名和关联的密码。

  1. 在 Windows 桌面上,在搜索窗口中输入 mstsc,然后选择“远程桌面连接”应用。
  2. 选择“显示选项”。 输入虚拟机的 IP 地址和管理员凭据,然后选择“连接”。 请勿选择保存登录配置。
  3. 如果收到消息“无法验证此远程计算机的身份。是否仍要连接?”,请选择“”。

添加标准用户

下一步是将标准用户添加到 myVM 服务器。

  1. 现在应该可以使用 Windows 服务器管理器仪表板了。 如果不是,请选择“开始”,然后选择“服务器管理器”。
  2. 在仪表板上,选择“工具”,然后选择“计算机管理”。
  3. 在“系统工具”下,选择“本地用户和组”。 右键单击“用户”或激活其快捷菜单,然后选择“新建用户”。
  4. 输入用户名、全名和说明。 输入并确认密码,然后清除“用户下次登录时必须更改密码”复选框。
  5. 选择“创建”,然后选择“关闭”。
  6. 选择“”选项,然后搜索“远程桌面用户”。
  7. 右键单击“远程桌面用户”或激活其快捷菜单,然后选择“添加到组”。
  8. 在“远程桌面用户”属性对话框中,选择“添加”。
  9. 将你之前创建的标准用户添加到此组。
  10. 选择“确定”。
  11. 关闭“计算机管理”控制台。

启用 AppIDsrv 服务

应用程序标识服务 (AppIDsrv) 将确定并验证应用的身份。 停止此服务将禁止强制实施 AppLocker 策略。

  1. 右键单击任务栏,然后选择“任务管理器”,以启动任务管理器。

  2. 选择“更多详细信息”,然后选择“服务”选项卡。

  3. 向下滚动,直至看到 AppIDSvc。 右键单击它,然后选择“开始”。

    AppIDSrv 服务的状态现在应为“正在运行”。

  4. 关闭任务管理器。

禁用 Internet Explorer“增强的安全配置”

为发挥 AppLocker 的强大功能,我们需要禁用“增强的安全配置”。 默认情况下,Windows Server 2016 上的 Internet Explorer 中启用了此保护。 在禁用“增强的安全配置”的情况下,不会检查对 Internet 的访问。

  1. 在服务器管理器中,选择“本地服务器”。
  2. 在“属性”面板上,找到“IE 增强的安全配置”并选择“打开”链接。
  3. 为“管理员”和“用户”选择“关闭”按钮,关闭他们的“增强的安全配置”。
  4. 启动 Internet Explorer。 你应该会看到消息“Internet Explorer 增强的安全配置未启用”。

下载并安装 Visual Studio Code 2019

  1. 在 Visual Studio“下载”页面上下载并安装 Visual Studio 2019 社区版。 此版本免费。
  2. 当系统提示你运行或保存 Visual Studio .exe 文件时,请选择“运行”。
  3. 在安装过程中,接受所有默认值。 在安装过程中出现提示时,请选择“继续”和“安装”。 你不需要为此练习安装任何其他组件。
  4. 打开 Visual Studio 以确保它可以运行。 默认情况下,桌面或任务栏上没有快捷方式。 可在“开始”菜单上的“最近添加”下找到 Visual Studio
  5. 关闭 Visual Studio。

启用 AppLocker

  1. 在服务器管理器中,选择“工具”,然后选择“本地安全策略”。

  2. 在“安全设置”下,选择“应用程序控制策略”。

  3. 展开“应用程序控制策略”,然后选择“AppLocker”。 此时将出现 AppLocker 配置界面。

  4. 选择“配置规则强制”。 “AppLocker 属性”界面变为可用。

  5. 在“强制”选项卡上,这些默认规则未启用。 选择“可执行规则:已配置”复选框以启用可执行规则。

    注意

    确保设置设置为 “强制实施规则”, 而不是“仅审核”。 “仅审核”设置不会阻止任何应用,如果选择此设置,你可能不会如本文所述体验练习。

  6. 对“Windows 安装程序规则”、“脚本规则”和“封装应用规则”重复上述步骤。

  7. 选择“确定”。

启用默认 AppLocker 规则

  1. 在“本地安全策略”控制台中,在“安全设置”>“应用程序控制策略”>“AppLocker”下,右键单击“封装应用规则”。 然后选择“创建默认规则”。

    (默认规则)所有已签名的软件包应用”应显示在右侧面板上。

  2. 对“可执行规则”重复上一步。 你应该会看到创建的默认规则。

  3. 在左侧面板上,右键单击“可执行规则”,然后选择“创建新规则”。

  4. 此时将出现“创建可执行规则”面板。 选择“下一步”。

  5. 在“操作”下,选择“拒绝”。

  6. 单击“选择”。

  7. 此时将出现“选择用户或组”面板。 在“输入要选择的对象名称”框中,输入你之前创建的标准用户名。

  8. 选择“检查姓名”。 应会看到 myVM\“标准用户登录名”。

  9. 选择“确定”按钮。

  10. 选择“下一步”,选择“路径”,然后选择“下一步”。

  11. 选择“浏览文件夹”。 此时将显示“浏览文件夹”文件资源管理器。

  12. 选择“Program Files (x86)>“Microsoft Visual Studio>2019”。 然后,选择“确定”。

  13. 路径现在为 %PROGRAMFILES%\Microsoft Visual Studio\2019。 选择“下一步”。

  14. 在“例外”面板上选择“下一步”。

  15. 在“名称和描述”面板上选择“创建”。

    你现在应该在“可执行规则”面板上看到一条新的“拒绝”规则。

  16. 关闭“本地安全策略”窗口。

在 Windows Server 2016 虚拟机上测试 AppLocker 配置

  1. 注销你配置的已部署 Windows Server 虚拟机,然后使用你之前创建的标准用户帐户登录。

    远程桌面会话在注销时关闭。你必须启动另一个远程桌面会话,然后再次通过远程桌面客户端登录,如上所述。

  2. 在“开始”菜单上,选择“Visual Studio 2019”。

    你应该会看到消息“系统管理员已阻止这个应用”。

当在生产环境中强制实施 AppLocker 规则时,不包括在允许规则中的任何应用都将被阻止运行。

清理资源

可使用以下命令将不再需要的资源组、虚拟机和所有相关资源删除。 将资源组名称替换为你在自己的环境中创建的资源组名称 (myResourceGroup)。 如果选择不删除这些资源,则可能会产生与这些资源相关的成本。

az group delete --name myResourceGroup

此过程需要 2 到 3 分钟。

演示:在 Azure 虚拟桌面环境中使用 AppLocker

以下视频介绍了如何使用 AppLocker 来帮助保护 Azure 虚拟桌面部署的安全。