Contrôle d’appareil pour macOS

S’applique à :

Vous voulez découvrir Microsoft Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.

Configuration requise

Device Control pour macOS a les prérequis suivants :

  • Microsoft Defender pour point de terminaison droit (peut être une version d’évaluation)
  • Version minimale du système d’exploitation : macOS 11 ou version ultérieure
  • Version minimale du produit : 101.34.20

Vue d’ensemble

Microsoft Defender pour point de terminaison fonctionnalité De contrôle d’appareil vous permet d’effectuer les fonctionnalités suivantes :

  • Auditer, autoriser ou empêcher l’accès en lecture, écriture ou exécution au stockage amovible ; Et
  • Gérez les appareils iOS et portables, ainsi que les appareils chiffrés Apple APFS et les médias Bluetooth, avec ou sans exclusions.

Préparer vos points de terminaison

  • Microsoft Defender pour point de terminaison droit (peut être une version d’évaluation)

  • Version minimale du système d’exploitation : macOS 11 ou version ultérieure

  • Déployer l’accès au disque complet : vous l’avez peut-être déjà créé et déployé https://github.com/microsoft/mdatp-xplat/blob/master/macos/mobileconfig/profiles/fulldisk.mobileconfig pour d’autres fonctionnalités MDE. Vous devez accorder l’autorisation d’accès au disque complet pour une nouvelle application : com.microsoft.dlp.daemon.

  • Activez le contrôle d’appareil sur le paramètre de préférence MDE :

    • Protection contre la perte de données (DLP)/Fonctionnalités/

    • Pour Nom de la fonctionnalité, entrez « DC_in_dlp ».

    • Pour État, entrez « enabled »

Exemple 1 : JAMF à l’aide de schema.json.

Capture d’écran montrant comment activer le contrôle d’appareil dans Microsoft Defender pour point de terminaison protection contre la perte de données/ fonctionnalités.

Exemple 2 : [demo.mobileconfig](https://github.com/microsoft/mdatp-devicecontrol/blob/main/Removable%20Storage%20Access%20Control%20Samples/macOS/mobileconfig/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>
  • Version minimale du produit : 101.91.92 ou version ultérieure

  • Exécutez la version mdatp via terminal pour voir la version du produit sur votre ordinateur client :

    Capture d’écran montrant les résultats lorsque vous exécutez la version mdatp dans terminal pour voir la version du produit sur un ordinateur client.

Présentation des stratégies

Les stratégies déterminent le comportement du contrôle d’appareil pour macOS. La stratégie est ciblée via Intune ou JAMF à une collection de machines ou d’utilisateurs.

La stratégie Contrôle d’appareil pour macOS comprend des paramètres, des groupes et des règles :

  • Le paramètre global appelé « settings » vous permet de définir l’environnement global.
  • Le groupe appelé « groupes » vous permet de créer des groupes de médias. Par exemple, groupe USB autorisé ou groupe USB chiffré.
  • La règle de stratégie d’accès appelée « règles » vous permet de créer une stratégie pour restreindre chaque groupe. Par exemple, autorisez uniquement l’utilisateur autorisé à écrire un groupe USB autorisé avec accès en écriture.

Remarque

Nous vous recommandons d’utiliser les exemples sur GitHub pour comprendre les propriétés : mdatp-devicecontrol/Amovible Storage Access Control Samples/macOS/policy at main - microsoft/mdatp-devicecontrol (github.com).

Vous pouvez également utiliser les scripts dans mdatp-devicecontrol/tree/main/python#readme à l’adresse main - microsoft/mdatp-devicecontrol (github.com) pour traduire la stratégie de contrôle d’appareil Windows en stratégie de contrôle d’appareil macOS ou traduire la stratégie contrôle d’appareil macOS V1 en cette stratégie V2.

Remarque

Il existe des problèmes connus avec le contrôle d’appareil pour macOS que les clients doivent prendre en compte lors de la création de stratégies.

Meilleures pratiques

Le contrôle d’appareil pour macOS offre des fonctionnalités similaires à celles du contrôle d’appareil pour Windows, mais macOS et Windows fournissent différentes fonctionnalités sous-jacentes pour gérer les appareils. Il existe donc des différences importantes :

  • macOS n’a pas de Gestionnaire de périphériques ou de vue centralisée des appareils. L’accès est accordé/refusé aux applications qui interagissent avec les appareils. C’est pourquoi sur macOS, il existe un ensemble plus riche de types d’accès. Par exemple, sur un contrôle d’appareil portableDevice pour macOS peut refuser ou autoriser download_photos_from_device.
  • Pour rester cohérent avec Windows, il existe generic_readdes types d’accès etgeneric_writegeneric_execute . Les stratégies avec des types d’accès génériques n’ont pas besoin d’être modifiées si/quand des types d’accès spécifiques supplémentaires sont ajoutés à l’avenir. La meilleure pratique consiste à utiliser des types d’accès génériques, sauf s’il est nécessaire de refuser/autoriser une opération plus spécifique.
  • La création d’une deny stratégie à l’aide de types d’accès génériques est la meilleure façon de tenter de bloquer complètement toutes les opérations pour ce type d’appareil (par exemple, les téléphones Android), mais il peut toujours y avoir des lacunes si l’opération est effectuée à l’aide d’une application qui n’est pas prise en charge par le contrôle d’appareil macOS.

Paramètres

Voici les propriétés que vous pouvez utiliser lorsque vous créez les groupes, les règles et les paramètres dans la stratégie de contrôle d’appareil pour macOS.

Nom de la propriété Description Options
fonctionnalités Configurations spécifiques aux fonctionnalités Vous pouvez définir sur disable false ou true pour les fonctionnalités suivantes :
- removableMedia
- appleDevice
- portableDevice, y compris l’appareil photo ou le support PTP
- bluetoothDevice

La valeur par défaut est true, donc si vous ne configurez pas cette valeur, elle ne s’applique pas même si vous créez une stratégie personnalisée pour removableMedia, car elle est désactivée par défaut.
Mondiale Définir l’application par défaut Vous pouvez définir sur defaultEnforcement
- allow (par défaut)
- deny
Ux Vous pouvez définir un lien hypertexte sur la notification. navigationTarget: string. Exemple : "http://www.microsoft.com"

Group

Nom de la propriété Description Options
$type Le type de groupe « device »
id GUID, un ID unique, représente le groupe et sera utilisé dans la stratégie. Vous pouvez générer l’ID via New-Guid (Microsoft.PowerShell.Utility) - PowerShell ou la commande uuidgen sur macOS
name Nom convivial du groupe. chaîne
query La couverture médiatique sous ce groupe Pour plus d’informations, consultez les tableaux de propriétés de requête ci-dessous.

Requête

Device Control prend en charge deux types de requêtes :

Le type de requête 1 est le suivant :

Nom de la propriété Description Options
$type Identifier l’opération logique à effectuer sur les clauses all : tous les attributs sous les clauses sont une relation And . Par exemple, si l’administrateur place vendorId et serialNumber, pour chaque usb connecté, le système vérifie si l’USB répond aux deux valeurs.
et : équivaut à tous les
Tout: Les attributs sous les clauses sont une relation Or . Par exemple, si l’administrateur place vendorId et serialNumber, pour chaque usb connecté, le système effectue la mise en œuvre tant que l’USB a une valeur ou serialNumber identiquevendorId.
ou : équivaut à n’importe quel
clauses Utilisez la propriété de périphérique multimédia pour définir la condition de groupe. Tableau d’objets de clause évalués pour déterminer l’appartenance au groupe. Consultez la section Clause ci-dessous.

Le type de requête 2 est le suivant :

Nom de la propriété Description Options
$type Identifier l’opération logique à effectuer sur la sous-requête not : négation logique d’une requête
query Une sous-requête Requête qui sera annulée.

Clause

Propriétés de clause

Nom de la propriété Description Options
$type Type de clause Consultez le tableau suivant pour connaître les clauses prises en charge.
value $type valeur spécifique à utiliser

Clauses prises en charge

clause $type valeur Description
primaryId Au choix :
- apple_devices
- removable_media_devices
- portable_devices
- bluetooth_devices
vendorId Chaîne hexadécimale à 4 chiffres Correspond à l’ID de fournisseur d’un appareil
productId Chaîne hexadécimale à 4 chiffres Correspond à l’ID de produit d’un appareil
serialNumber chaîne Correspond au numéro de série d’un appareil. Ne correspond pas si l’appareil n’a pas de numéro de série.
encryption apfs Correspond si un appareil est chiffré par apfs.
groupId Chaîne UUID Correspond si un appareil est membre d’un autre groupe. La valeur représente l’UUID du groupe à mettre en correspondance.
Le groupe doit être défini dans la stratégie avant la clause .

Règle de stratégie d’accès

Nom de la propriété Description Options
id GUID, un ID unique, représente la règle et sera utilisé dans la stratégie. New-Guid (Microsoft.PowerShell.Utility) - PowerShell
uuidgen
name String, le nom de la stratégie et s’affichent sur le toast en fonction du paramètre de stratégie.
includeGroups Groupe(s) auquel la stratégie sera appliquée. Si plusieurs groupes sont spécifiés, la stratégie s’applique à n’importe quel média dans tous ces groupes. Si elle n’est pas spécifiée, la règle s’applique à tous les appareils. La valeur id à l’intérieur du groupe doit être utilisée dans cette instance. Si plusieurs groupes se trouvent dans , includeGroupsil s’agit de AND.
"includeGroups": ["3f082cd3-f701-4c21-9a6a-ed115c28e217"]
excludeGroups Groupe(s) auquel la stratégie ne s’applique pas. La valeur id à l’intérieur du groupe doit être utilisée dans cette instance. Si plusieurs groupes se trouvent dans les excludeGroups, il s’agit de OR.
entries Une règle peut avoir plusieurs entrées ; chaque entrée avec un GUID unique indique une restriction à Contrôle d’appareil. Consultez le tableau des propriétés d’entrée plus loin dans cet article pour obtenir les détails.

Le tableau suivant répertorie les propriétés que vous pouvez utiliser dans votre entrée :

Nom de la propriété Description Options
$type Inclus :
- removableMedia
- appleDevice
- PortableDevice
- bluetoothDevice
- generic
Application - $type:
- allow
- deny
- auditAllow
- auditDeny

Lorsque $type autoriser est sélectionné, la valeur des options prend en charge :
- disable_audit_allow
Même si Autoriser se produit et que le paramètre auditAllow est configuré, le système n’envoie pas d’événement.

Lorsque $type refuser est sélectionné, la valeur des options prend en charge :
disable_audit_deny
Même si Bloquer se produit et que le paramètre auditDeny est configuré, le système n’affiche pas l’événement de notification ou d’envoi.

Lorsque $type auditAllow est sélectionné, la valeur des options prend en charge :
send_event

Lorsque $type auditDeny est sélectionné, la valeur des options prend en charge :
send_event
show_notification
access Spécifiez un ou plusieurs droits d’accès pour cette règle. Il peut s’agir d’autorisations granulaires spécifiques à l’appareil ou d’autorisations génériques plus larges. Pour plus d’informations sur les types d’accès valides pour une entrée donnée $type, consultez le tableau ci-dessous.
id UUID

Le tableau suivant répertorie les propriétés que vous pouvez utiliser dans l’entrée :

Application

Nom de la propriété d’application

Nom de la propriété Description Options
$type Type de mise en œuvre Consultez le tableau ci-dessous pour connaître les applications prises en charge
options $type valeur spécifique à utiliser Tableau d’options pour l’entrée. Peut être omis si aucune option n’est souhaitée.

Type d’application

Nom de la propriété Description Options
Enforcement $type options valeurs [string] Description
allow disable_audit_allow Même si Autoriser se produit et que le paramètre auditAllow est configuré, le système n’envoie pas d’événement.
deny disable_audit_deny Même si Bloquer se produit et que le paramètre auditDeny est configuré, le système n’affiche pas l’événement de notification ou d’envoi.
auditAllow send_event Envoyer des données de télémétrie
auditDeny - send_event
- show_notification
- Envoyer des données de télémétrie
- Afficher l’expérience utilisateur de bloc à l’utilisateur

Types d’accès

$type d’entrée Valeurs 'access' [string] Accès générique Description
appleDevice backup_device generic_read
appleDevice update_device generic_write
appleDevice download_photos_from_device generic_read télécharger la photo de l’appareil iOS spécifique sur l’ordinateur local
appleDevice download_files_from_device generic_read télécharger des fichiers à partir de l’appareil iOS spécifique vers l’ordinateur local
appleDevice sync_content_to_device generic_write synchroniser le contenu d’un ordinateur local vers un appareil iOS spécifique
portableDevice download_files_from_device generic_read
portableDevice send_files_to_device generic_write
portableDevice download_photos_from_device generic_read
portableDevice Debug generic_execute Contrôle de l’outil ADB
*removableMedia read generic_read
removableMedia write generic_write
removableMedia Exécuter generic_execute generic_read
bluetoothDevice download_files_from_device
bluetoothDevice send_files_to_device generic_write
Générique generic_read Équivaut à définir toutes les valeurs d’accès indiquées dans cette table qui correspondent à generic_read.
Générique generic_write Équivaut à définir toutes les valeurs d’accès indiquées dans cette table qui correspondent à generic_write.
Générique generic_execute Équivaut à définir toutes les valeurs d’accès indiquées dans cette table qui correspondent à generic_execute.

Expérience de l’utilisateur final

Une fois que Refuser se produit et que la notification est activée dans la stratégie, l’utilisateur final voit une boîte de dialogue :

Capture d’écran montrant une boîte de dialogue de contrôle d’appareil indiquant que le périphérique USB est restreint

État

Utilisez mdatp health --details device_control pour inspecter le status De contrôle d’appareil :

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 - version de fonctionnalité, vous devez voir ["v2"]. (Le contrôle d’appareil est activé, mais pas configuré.)
    • [] - Le contrôle d’appareil n’est pas configuré sur cet ordinateur.
    • ["v1"] : vous utilisez une préversion de Device Control. Migrez vers la version 2 à l’aide de ce guide. La version v1 est considérée comme obsolète et n’est pas décrite dans cette documentation.
    • ["v1 »,"v2"] : v1 et v2 sont activés. Désintégrer de la version 1.
  • v1_configured - La configuration v1 est appliquée
  • v1_enforcement_level - quand v1 est activé
  • v2_configured - La configuration v2 est appliquée
  • v2_state- status v2, enabled si elle fonctionne entièrement
  • v2_sensor_connection - si created_ok, le contrôle d’appareil a établi la connexion à l’extension système
  • v2_full_disk_access - Si ce n’est pas approvedle cas, le contrôle d’appareil ne peut pas empêcher une partie ou la totalité des opérations

Reporting

Vous pouvez voir l’événement de stratégie dans le rapport Repérage avancé et contrôle d’appareil. Pour plus d’informations, consultez Protéger les données de votre organization avec Device Control.

Scénarios

Voici quelques scénarios courants pour vous aider à vous familiariser avec Microsoft Defender pour point de terminaison et Microsoft Defender pour point de terminaison Contrôle d’appareil.

Scénario 1 : Refuser tout support amovible, mais autoriser des UBS spécifiques

Dans ce scénario, vous devez créer deux groupes : un groupe pour tout média amovible et un autre groupe pour un groupe de bases de données us approuvées. Vous devez également créer une règle de stratégie d’accès.

Étape 1 : Paramètres : activer le contrôle d’appareil et définir l’application par défaut

"settings": { 

	"features": { 

		"removableMedia": { 

			"disable": false 

		} 

	}, 

	"global": { 

		"defaultEnforcement": "allow" 

	}, 

	"ux": { 

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

	} 

} 

Étape 2 : Groupes : Create n’importe quel groupe de supports amovibles et groupe de fichiers USBs approuvés

  1. Create un groupe pour couvrir tous les périphériques multimédias amovibles.
  2. Create un groupe pour les bases de données USB approuvées.
  3. Combinez ces groupes en un seul groups.
"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" 

                    } 

                ] 

            } 

        } 

    ] 

Étape 3 : Règles : Create stratégie de refus pour les bases de données usb non autorisées

Create règle de stratégie d’accès et le placer dans 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" 

				] 

			} 

		] 

	} 

] 

Dans ce cas, ne disposez que d’une seule stratégie de règle d’accès, mais si vous en avez plusieurs, veillez à ajouter toutes les informations dans rules.

Problèmes connus

Avertissement

Dans macOS Sonoma 14.3.1, Apple a apporté une modification à la gestion des appareils Bluetooth qui affecte la capacité des contrôles d’appareil Defender pour point de terminaison à intercepter et bloquer l’accès aux appareils Bluetooth. À ce stade, l’atténuation recommandée consiste à utiliser une version de macOS inférieure à 14.3.1.

Avertissement

Le contrôle d’appareil sur macOS limite les appareils Android connectés à l’aide du mode PTP uniquement. Le contrôle d’appareil ne restreint pas d’autres modes tels que le transfert de fichiers, la connexion USB et LE MIDI.

Voir aussi

Conseil

Voulez-vous en savoir plus ? Engage avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.