设备控制演练
适用于:
本文介绍查看设备控制工作原理的不同方法。 从默认设置开始,每个部分介绍如何配置设备控制以实现某些目标。
了解设备控制的默认状态
默认情况下, 设备控制 处于禁用状态,并且没有限制可以添加哪些设备。 对载入到 Defender for Endpoint 的设备启用了基本设备控制事件的审核。 可以在 设备控制报告中看到此活动。 对内置 PnP 审核策略 进行筛选会显示连接到环境中的终结点的设备。
Defender for Endpoint 中的设备控制基于设备的属性标识设备。 通过选择报表中的条目可查看设备属性。
设备 ID、供应商 ID (VID) 、序列号和总线类型都可用于标识设备 (请参阅 Microsoft Defender for Endpoint) 中的设备控制策略。 还可以通过搜索“即插即用设备连接”操作 (PnPDeviceConnected
) 在高级搜寻中获取数据,如以下示例查询中所示:
DeviceEvents
| where ActionType == "PnpDeviceConnected"
| extend parsed=parse_json(AdditionalFields)
| extend MediaClass = tostring(parsed.ClassName)
| extend MediaDeviceId = tostring(parsed.DeviceId)
| extend MediaDescription = tostring(parsed.DeviceDescription)
| extend MediaSerialNumber = tostring(parsed.SerialNumber)
| project Timestamp, DeviceId, DeviceName, AccountName, AccountDomain, MediaClass, MediaDeviceId, MediaDescription, MediaSerialNumber, parsed
| order by Timestamp desc
设备控制 (启用/禁用、默认强制和上次策略更新) 的状态通过 Get-MpComputerStatus 在设备上可用,如以下代码片段所示:
DeviceControlDefaultEnforcement :
DeviceControlPoliciesLastUpdated : 1/3/2024 12:51:56 PM
DeviceControlState : Disabled
将设备控制状态更改为在测试设备上启用。 确保通过检查 Get-MpComputerStatus 来应用策略,如以下代码片段所示:
DeviceControlDefaultEnforcement : DefaultAllow
DeviceControlPoliciesLastUpdated : 1/4/2024 10:27:06 AM
DeviceControlState : Enabled
在测试设备中,插入 U 盘。 没有限制:允许所有类型的访问 (读取、写入、执行和打印) 。 将创建一条记录来显示 USB 设备已连接。 可以使用以下示例高级搜寻查询来查看它:
DeviceEvents
| where ActionType == "PnpDeviceConnected"
| extend parsed=parse_json(AdditionalFields)
| extend MediaClass = tostring(parsed.ClassName)
| extend MediaDeviceId = tostring(parsed.DeviceId)
| extend MediaDescription = tostring(parsed.DeviceDescription)
| extend MediaSerialNumber = tostring(parsed.SerialNumber)
| where MediaClass == "USB"
| project Timestamp, DeviceId, DeviceName, AccountName, AccountDomain, MediaClass, MediaDeviceId, MediaDescription, MediaSerialNumber, parsed
| order by Timestamp desc
此示例查询按 MediaClass
筛选事件。 可以更改默认行为以拒绝所有设备,或从设备控制中排除设备系列。 将默认行为更改为拒绝,然后将设备控制设置为仅应用于可移动存储。
对于Intune,请使用自定义配置文件设置设备控件设置,如下所示:
- 设置为
./Vendor/MSFT/Defender/Configuration/DeviceControlEnabled
1
- 设置为
./Vendor/MSFT/Defender/Configuration/DefaultEnforcement
2
- 设置为
./Vendor/MSFT/Defender/Configuration/SecuredDevicesConfiguration
RemovableMediaDevices
将策略部署到测试设备。 使用 Get-MpComputerStatus 确认默认强制设置为“拒绝”,如以下代码片段所示:
DeviceControlDefaultEnforcement : DefaultDeny
DeviceControlPoliciesLastUpdated : 1/4/2024 10:27:06 AM
DeviceControlState : Enabled
在测试计算机中删除 USB 设备,然后重新插入。 尝试打开驱动器。 驱动器不可访问,并显示一条消息,指示访问被拒绝。
注意
此处提供了示例、说明和示例。
步骤 1:拒绝所有可移动媒体
为了自定义行为,设备控制使用组和规则组合的策略。 首先部署拒绝所有可移动存储设备访问的策略,并通过向门户和用户发送通知来审核事件。 下图汇总了这些设置:
为了控制访问,设备被组织成组。 此策略使用名为 的 All removable media devices
组。 将此策略部署到测试设备后,重新插入 USB。 此时会显示一条通知,指示设备访问受到限制。
该事件还会在 15 分钟内在高级搜寻中显示。 可以使用以下示例查询查看结果:
DeviceEvents
| where ActionType == "RemovableStoragePolicyTriggered"
| extend parsed=parse_json(AdditionalFields)
| extend RemovableStorageAccess = tostring(parsed.RemovableStorageAccess)
| extend RemovableStoragePolicyVerdict = tostring(parsed.RemovableStoragePolicyVerdict)
| extend MediaBusType = tostring(parsed.BusType)
| extend MediaClassGuid = tostring(parsed.ClassGuid)
| extend MediaClassName = tostring(parsed.ClassName)
| extend MediaDeviceId = tostring(parsed.DeviceId)
| extend MediaInstanceId = tostring(parsed.DeviceInstanceId)
| extend MediaName = tostring(parsed.MediaName)
| extend RemovableStoragePolicy = tostring(parsed.RemovableStoragePolicy)
| extend MediaProductId = tostring(parsed.ProductId)
| extend MediaVendorId = tostring(parsed.VendorId)
| extend MediaSerialNumber = tostring(parsed.SerialNumber)
|project Timestamp, DeviceId, DeviceName, InitiatingProcessAccountName, ActionType, RemovableStorageAccess, RemovableStoragePolicyVerdict, MediaBusType, MediaClassGuid, MediaClassName, MediaDeviceId, MediaInstanceId, MediaName, RemovableStoragePolicy, MediaProductId, MediaVendorId, MediaSerialNumber, FolderPath, FileSize
| order by Timestamp desc
注意
使用高级搜寻功能,每天最多可查看每台设备 300 个事件。
选择事件以查看有关策略和设备的信息。
步骤 2:允许对授权的 USB 设备进行访问
若要授予对一组已授权 USB 设备的访问权限,请设置一个组来标识这些设备。 我们调用组 Authorized USBs
,并使用下图中描述的设置:
在我们的示例中,授权的 USB 组包含由其 InstancePathId
标识的单个设备。 在部署示例之前,可以将测试设备的 值更改为 InstancePathId
。 有关如何查找正确值的详细信息,请参阅使用 Windows 设备管理器确定设备属性和使用报告和高级搜寻来确定设备的属性。
请注意,授权的 USB 组已从“全部拒绝”策略中排除。 这可确保针对其他策略评估这些设备。 策略不会按顺序进行评估,因此,如果单独评估,则每个策略都应正确。 部署策略后,重新插入批准的 USB 设备。 你应该会看到对设备具有完全访问权限。 插入另一个 USB,并确认该设备的访问被阻止。
设备控制有很多方法可以根据属性对设备进行分组。 有关详细信息,请参阅 Microsoft Defender for Endpoint 中的设备控制策略。
步骤 3:允许对不同类型的设备进行不同级别的访问
若要为不同的设备创建不同的行为,请将它们放入单独的组中。 在我们的示例中,我们使用名为 的 Read Only USBs
组。 下图显示了我们使用的设置:
在我们的示例中,只读 USB 组包含由其 VID_PID
标识的单个设备。 在部署示例之前,可以将 的值 VID_PID
更改为第二个测试设备的值。
部署策略后,插入授权的 USB。 应会看到允许完全访问。 现在, (只读 USB) 插入第二个测试设备。 可以使用只读权限访问设备。 尝试创建新文件或更改文件,应会看到设备控件阻止它。
如果插入任何其他 USB 设备,则应由于“拒绝所有其他 USB”策略而被阻止。
步骤 4:允许特定用户或组对设备进行不同级别的访问
设备控制允许使用条件进一步限制访问。 最简单的条件是用户条件。 在设备控制中,用户和组通过其安全标识 (SID) 进行标识。
以下屏幕截图显示了用于示例的设置:
默认情况下,该示例使用 的 S-1-1-0
全局 SID。 在部署策略之前,可以将与授权 USB 关联的 SID (可写 USB) 更改为 User1
,并将与只读 USB 关联的 SID 更改为 User2
。
部署策略后,只有用户 1 具有对已授权 USB 的写入访问权限,只有用户 2 具有对 ReadOnly USB 的读取访问权限。
设备控制还支持组 SID。 将只读策略中的 SID 更改为包含 的 User2
组。 重新部署策略后,用户 2 或该组中的任何其他用户的规则都相同。
注意
对于存储在 Microsoft Entra 中的组,请使用对象 ID 而不是 SID 来标识用户组。