macOS 的裝置控制

適用於:

想要體驗適用於端點的 Microsoft Defender 嗎? 注册免費試用版。

需求

適用於 macOS 的裝置控制具有下列必要條件:

  • 適用於端點的 Microsoft Defender 權利 (可以是試用)
  • 最低操作系統版本:macOS 11 或更新版本
  • 最低產品版本:101.34.20

概觀

適用於端點的 Microsoft Defender 裝置控制功能可讓您:

  • 稽核、允許或防止讀取、寫入或執行卸載式記憶體的存取;和
  • 管理 iOS 和可攜式裝置,以及 Apple APFS 加密的裝置和藍牙媒體,無論是否排除。

準備您的端點

  • 適用於端點的 Microsoft Defender 權利 (可以是試用)

  • 最低操作系統版本:macOS 11 或更新版本

  • 部署完整磁碟存取:您可能先前已針對其他 MDE 功能建立並部署此https://github.com/microsoft/mdatp-xplat/blob/master/macos/mobileconfig/profiles/fulldisk.mobileconfig功能。 您必須授與新應用程式的完整磁碟訪問許可權: com.microsoft.dlp.daemon

  • 在 [MDE 喜好設定] 上啟用裝置控制項:

    數據外洩防護 (DLP) /Features/

    針對 [功能名稱],輸入 “DC_in_dlp”

    針對 [狀態],輸入 「已啟用」

範例 1:使用 schema.json 的 JAMF

顯示如何在 適用於端點的 Microsoft Defender 數據外泄防護/功能中啟用裝置控制的螢幕快照。

範例 2: demo.mobileconfig

   <key>dlp</key>
    <dict> 
      <key>features</key>
      <array> 
        <dict> 
          <key>name</key>
          <string>DC_in_dlp</string>
          <key>state</key>
          <string>enabled</string>
        </dict>
      </array>
    </dict>
  • 最低產品版本:101.91.92 或更高版本

  • 透過終端機執行 mdatp 版本 ,以查看用戶端電腦上的產品版本:

    此螢幕快照顯示當您在終端機中執行 mdatp 版本以查看用戶端電腦上的產品版本時的結果。

macOS 屬性的裝置控制件

macOS 裝置控制包含全域設定、群組建立和存取原則規則建立:

  • 稱為「設定」的全域設定可讓您定義全域環境。
  • 稱為「群組」的群組可讓您建立媒體群組。 例如,已授權的USB群組或加密的USB群組。
  • 稱為「規則」的存取原則規則可讓您建立原則來限制每個群組。 例如,只允許授權使用者寫入存取授權的USB群組。

以下是您在建立群組和原則時可以使用的屬性。

注意事項

建議您使用 GitHub 上的範例來了解屬性:mdatp-devicecontrol/Removable Storage 存取控制 Samples/macOS/policy,位於 main - microsoft/mdatp-devicecontrol (github.com)

您也可以使用 mdatp-devicecontrol/Removable Storage 存取控制 主要 - microsoft/mdatp-devicecontrol (github.com) 上的範例/macOS/原則/腳本的腳本,將 Windows 裝置控制原則轉譯為 macOS 裝置控制原則,或將 macOS 裝置控制 V1 原則轉譯為此 V2 原則。

警告

在macOS Sonoma 14.3.1中,Apple 對 藍牙裝置的處理 進行了變更,這會影響適用於端點的Defender裝置控制攔截和封鎖藍牙裝置存取的能力。 目前,建議的風險降低是使用小於 14.3.1 的 macOS 版本。

設定

屬性名稱 描述 選項
特徵 功能特定組態 針對下列功能,您可以將 設定為 disable false 或 true:
- removableMedia
- appleDevice
- portableDevice,包括相機或 PTP 媒體
- bluetoothDevice

默認值為 true,因此如果您未設定此值,即使您為 removableMedia建立自定義原則,它也不會套用,因為它預設為停用。
全球 設定預設強制執行 您可以將 設定為defaultEnforcement
- allow (預設)
- deny
Ux 您可以在通知上設定超連結。 navigationTarget: string. 範例:"http://www.microsoft.com"

Group

屬性名稱 描述 選項
$type 群組的種類 “device”
id GUID 是唯一標識符,代表群組,並將用於原則中。 您可以透過 New-Guid (Microsoft.PowerShell.Utility) - PowerShell 或 macOS 上的 uuidgen 命令來產生標識符
name 群組的易記名稱。 字串
query 此群組下的媒體涵蓋範圍 如需詳細資訊,請參閱下方 的查詢 屬性數據表。

查詢

裝置控制項支援兩種查詢:

查詢類型 1 如下所示:

屬性名稱 描述 選項
$type 識別要在子句上執行的邏輯作業 all:子 下的任何屬性都是 And 關聯 性。 例如,如果系統管理員針對每個連線的USB放置 vendorIdserialNumber,系統會檢查USB是否符合這兩個值。
: 等同於 所有
任何: 下的屬性為 Or 關聯性。 例如,如果系統管理員針對每個連線的USB放置 vendorIdserialNumber,只要USB具有相同的 vendorIdserialNumber 值,系統就會強制執行。
: 等於 任何
clauses 使用媒體裝置屬性來設定群組條件。 子句對象的陣列,評估以判斷群組成員資格。 請參閱下方的 句一節。

查詢類型 2 如下所示:

屬性名稱 描述 選項
$type 識別要在子查詢上執行的邏輯作業 not:查詢的邏輯否定
query 子查詢 將會否定的查詢。

子句屬性

屬性名稱 描述 選項
$type 子句的類型 如需支援的子句,請參閱下表。
value $type要使用的特定值

支援的子句

子句$type 數值 描述
primaryId 其中一個:
- apple_devices
- removable_media_devices
- portable_devices
- bluetooth_devices
vendorId 4 位數十六進位字串 符合裝置的廠商標識碼
productId 4 位數十六進位字串 符合裝置的產品標識碼
serialNumber 字串 符合裝置的序號。 如果裝置沒有序號,則不相符。
encryption apfs 比對裝置是否為apfs-encrypted。
groupId UUID 字串 比對裝置是否為另一個群組的成員。 值代表要比對之群組的 UUID。
群組必須在 子句之前於原則內定義。

存取原則規則

屬性名稱 描述 選項
id GUID 是唯一標識符,代表規則,並會用於原則中。 New-Guid (Microsoft.PowerShell.Utility) - PowerShell
uuidgen
name 字串,原則的名稱,將會根據原則設定顯示在快顯通知上。
includeGroups 群組 (將套用原則的) 。 如果指定多個群組,則原則會套用至所有這些群組中的任何媒體。 如果未指定,此規則會套用至所有裝置。 此實例中必須使用群組內的 標識 碼值。 如果 中有 includeGroups多個群組,則為 AND
"includeGroups": ["3f082cd3-f701-4c21-9a6a-ed115c28e217"]
excludeGroups 群組 (原則不適用的) 。 此實例中必須使用群組內的 標識 碼值。 如果 excludeGroups 中有多個群組,則為 OR
entries 一個規則可以有多個專案;每個具有唯一 GUID 的專案都會告訴裝置控制一項限制。 請參閱本文稍後的輸入屬性表格以取得詳細數據。

下表列出您可以在專案中使用的屬性:

屬性名稱 描述 選項
$type 包含:
- removableMedia
- appleDevice
- PortableDevice
- bluetoothDevice
- generic
執法 - $type:
- allow
- deny
- auditAllow
- auditDeny

選取$type允許時,選項值支援:
- disable_audit_allow
即使 [ 允許 ] 發生且已設定 auditAllow 設定,系統也不會傳送事件。

選取$type拒絕時,選項值支援:
disable_audit_deny
即使 發生封鎖 且已設定 auditDeny 設定,系統也不會顯示通知或傳送事件。

選取 $type auditAllow 時,選項值支援:
send_event

選取 $type auditDeny 時,選項值支援:
send_event
show_notification
access 為此規則指定一或多個訪問許可權。 這些可能包括裝置特定的細微許可權,或更廣泛的泛型許可權。 如需指定專案$type之有效存取類型的詳細資訊,請參閱下表。
id Uuid

下表列出您可以在專案中使用的屬性:

強制

強制屬性名稱

屬性名稱 描述 選項
$type 強制執行的類型 如需支持的強制執行,請參閱下表
options $type要使用的特定值 項目的選項陣列。 如果不需要選項,則可省略 。

強制類型

屬性名稱 描述 選項
Enforcement $type options 值 [string] 描述
allow disable_audit_allow 即使 [ 允許 ] 發生且已設定 auditAllow 設定,系統也不會傳送事件。
deny disable_audit_deny 即使 發生封鎖 且已設定 auditDeny 設定,系統也不會顯示通知或傳送事件。
auditAllow send_event 傳送遙測
auditDeny - send_event
- show_notification
- 傳送遙測
- 向使用者顯示區塊 UX

存取類型

專案$type 'access' 值 [string] 一般存取 描述
appleDevice backup_device generic_read
appleDevice update_device generic_write
appleDevice download_photos_from_device generic_read 從特定 iOS 裝置將相片 (的) 下載到本機電腦
appleDevice download_files_from_device generic_read 將檔 (的) 從特定 iOS 裝置下載到本機電腦
appleDevice sync_content_to_device generic_write 將內容從本機電腦同步至特定 iOS 裝置
portableDevice download_files_from_device generic_read
portableDevice send_files_to_device generic_write
portableDevice download_photos_from_device generic_read
portableDevice 調試 generic_execute ADB 工具控制件
*removableMedia generic_read
removableMedia generic_write
removableMedia 執行 generic_execute generic_read
bluetoothDevice download_files_from_device
bluetoothDevice send_files_to_device generic_write
通用 generic_read 相當於設定此數據表中對應至 generic_read 的所有存取值。
通用 generic_write 相當於設定此數據表中對應至generic_write的所有存取值。
通用 generic_execute 相當於設定此數據表中對應至generic_execute的所有存取值。

使用者體驗

一旦 [拒絕] 發生且原則中已啟用通知,終端使用者就會看到對話框:

顯示裝置控制件對話框的螢幕快照,指出USB裝置受到限制

狀態

使用 mdatp health --details device_control 檢查裝置控制件狀態:

active                                      : ["v2"]
v1_configured                               : false
v1_enforcement_level                        : unavailable
v2_configured                               : true
v2_state                                    : "enabled"
v2_sensor_connection                        : "created_ok"
v2_full_disk_access                         : "approved"
  • active - 功能版本,您應該會看到 [“v2”]。 (裝置控制項已啟用,但未設定。)
    • [] - 未在此計算機上設定裝置控制件
    • [“v1”] - 您目前使用裝置控件的預覽版本。 請使用本指南移轉至第 2 版。 v1 被視為已過時,且未在本文件中說明。
    • [“v1”,“v2”] - 您已同時啟用 v1 和 v2。 請從 v1 下架。
  • v1_configured - 已套用 v1 組態
  • v1_enforcement_level - 啟用 v1 時
  • v2_configured - 已套用 v2 組態
  • v2_state - v2 狀態, enabled 如果完全正常運作
  • v2_sensor_connection - 如果 created_ok為 ,則 Device Control 已建立與系統延伸模組的連線
  • v2_full_disk_access - 如果不是 approved,則裝置控制件無法防止部分或所有作業

報告

您將能夠在進階搜捕和裝置控制報告中看到原則事件。 如需詳細資訊,請參閱 使用裝置控制保護組織的數據

案例

以下是一些常見的案例,可協助您熟悉 適用於端點的 Microsoft Defender 和 適用於端點的 Microsoft Defender 裝置控件。

案例 1:拒絕任何抽取式媒體,但允許特定的 USB

在此案例中,您需要建立兩個群組:一個群組用於任何抽取式媒體,另一個群組用於核准的 USB 群組。 您也需要建立存取原則規則。

步驟 1:設定:啟用裝置控制並設定預設強制執行

    "settings": { 

        "features": { 

            "removableMedia": { 

                "disable": false 

            } 

        }, 

        "global": { 

            "defaultEnforcement": "allow" 

        }, 

        "ux": { 

            "navigationTarget": "http://www.deskhelp.com" 

        } 

    } 

步驟 2:群組:建立任何抽取式媒體群組和 approved-USB 群組

-1. 建立群組以涵蓋任何抽取式媒體裝置 -1。 為核准的 USB -1 建立群組。 將這些群組合並成一個「群組」

"groups": [ 

        { 

            "type": "device", 

            "id": "3f082cd3-f701-4c21-9a6a-ed115c28e211", 

            "name": "All Removable Media Devices", 

            "query": { 

                "$type": "all", 

                "clauses": [ 

                    { 

                        "$type": "primaryId", 

                        "value": "removable_media_devices" 

                    } 

                ] 

            } 

        }, 

        { 

            "type": "device", 

            "id": "3f082cd3-f701-4c21-9a6a-ed115c28e212", 

            "name": "Kingston Devices", 

            "query": { 

                "$type": "all", 

                "clauses": [ 

                    { 

                        "$type": "vendorId", 

                        "value": "0951" 

                    } 

                ] 

            } 

        } 

    ] 

步驟 3:規則:為不允許的 USB 建立拒絕原則

建立存取原則規則並放入 'rules':

   "rules": [ 

        { 

            "id": "772cef80-229f-48b4-bd17-a69130092981", 

            "name": "Deny RWX to all Removable Media Devices except Kingston", 

            "includeGroups": [ 

                "3f082cd3-f701-4c21-9a6a-ed115c28e211" 

            ], 

            "excludeGroups": [ 

                "3f082cd3-f701-4c21-9a6a-ed115c28e212" 

            ], 

            "entries": [ 

                { 

                    "$type": "removableMedia", 

                    "id": "A7CEE2F8-CE34-4B34-9CFE-4133F0361035", 

                    "enforcement": { 

                        "$type": "deny" 

                    }, 

                    "access": [ 

                        "read", 

                        "write", 

                        "execute" 

                    ] 

                }, 

                { 

                    "$type": "removableMedia", 

                    "id": "18BA3DD5-4C9A-458B-A756-F1499FE94FB4", 

                    "enforcement": { 

                        "$type": "auditDeny", 

                        "options": [ 

                            "send_event", 

                            "show_notification" 

                        ] 

                    }, 

                    "access": [ 

                        "read", 

                        "write", 

                        "execute" 

                    ] 

                } 

            ] 

        } 

    ] 

在此情況下,只有一個存取規則原則,但如果您有多個存取規則原則,請務必將全部新增至 『rules』。

另請參閱

提示

想要深入了解? Engage 技術社群中的 Microsoft 安全性社群:適用於端點的 Microsoft Defender 技術社群。