Partager via


Présentation du service de protection du runtime Microsoft Defender for Endpoint

Le service de protection du runtime Microsoft Defender for Endpoint (MDE) fournit les outils permettant de configurer et de gérer la protection du runtime pour un cluster Nexus.

Azure CLI vous permet de configurer le niveau d’application de la protection du runtime et la possibilité de déclencher l’analyse MDE sur tous les nœuds. Ce document fournit les étapes d’exécution de ces tâches.

Remarque

Le service de protection de runtime MDE s’intègre à Microsoft Defender for Endpoint, qui fournit des capacités complètes de détection de point de terminaison et réponse (EDR). Avec l’intégration Microsoft Defender pour point de terminaison, vous pouvez détecter les anomalies et les vulnérabilités.

Avant de commencer

Définition des variables

Pour faciliter la configuration et le déclenchement des analyses MDE, définissez ces variables d’environnement utilisées par les différentes commandes de ce guide.

Remarque

Ces valeurs de variable d’environnement ne reflètent pas un déploiement réel et les utilisateurs DOIVENT les modifier pour qu’elles correspondent à leurs environnements.

# SUBSCRIPTION_ID: Subscription of your cluster
export SUBSCRIPTION_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# RESOURCE_GROUP: Resource group of your cluster
export RESOURCE_GROUP="contoso-cluster-rg"
# MANAGED_RESOURCE_GROUP: Managed resource group managed by your cluster
export MANAGED_RESOURCE_GROUP="contoso-cluster-managed-rg"
# CLUSTER_NAME: Name of your cluster
export CLUSTER_NAME="contoso-cluster"

Valeurs par défaut pour la protection du runtime MDE

La protection du runtime définit les valeurs par défaut suivantes lorsque vous déployez un cluster

  • Niveau d’application : Disabled s’il n’est pas spécifié lors de la création du cluster
  • Service MDE : Disabled

Remarque

L’argument --runtime-protection enforcement-level="<enforcement level>" sert à deux fins : activation/désactivation du service MDE et mise à jour du niveau d’application.

Si vous souhaitez désactiver le service MDE sur votre cluster, utilisez un <enforcement level> de type Disabled.

Configuration du niveau d’application

La commande az networkcloud cluster update vous permet de mettre à jour les paramètres du niveau d’application de la protection du runtime du cluster à l’aide de l’argument --runtime-protection enforcement-level="<enforcement level>".

La commande suivante configure enforcement level pour votre cluster.

az networkcloud cluster update \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${RESOURCE_GROUP} \
--cluster-name ${CLUSTER_NAME} \
--runtime-protection enforcement-level="<enforcement level>"

Les valeurs autorisées pour <enforcement level> : Disabled, RealTime, OnDemand, Passive.

  • Disabled : la protection en temps réel est désactivée et aucune analyse n’est effectuée.
  • RealTime : la protection en temps réel (analyse des fichiers au fur et à mesure qu’ils sont modifiés) est activée.
  • OnDemand : les fichiers sont analysés uniquement à la demande. Dans ce cas :
    • La protection en temps réel est désactivée.
  • Passive : exécute le moteur antivirus en mode passif. Dans ce cas :
    • La protection en temps réel est désactivée : les menaces ne sont pas corrigées par Microsoft Defender Antivirus.
    • L’analyse à la demande est activée : utilisez toujours les capacités d’analyse sur le point de terminaison.
    • La correction automatique des menaces est désactivée : aucun fichier n’est déplacé et l’administrateur de sécurité est censé prendre les mesures nécessaires.
    • Les mises à jour de l’intelligence de sécurité sont activées : les alertes seront disponibles sur le tenant des administrateurs de sécurité.

Vous pouvez confirmer que le niveau d’application a été mis à jour en inspectant la sortie de l’extrait de code json suivant :

  "runtimeProtectionConfiguration": {
    "enforcementLevel": "<enforcement level>"
  }

Déclenchement de l’analyse MDE sur tous les nœuds

Pour déclencher une analyse MDE sur tous les nœuds d’un cluster, utilisez la commande suivante :

az networkcloud cluster scan-runtime \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${RESOURCE_GROUP} \
--cluster-name ${CLUSTER_NAME} \
--scan-activity Scan

REMARQUE : l’action d’analyse MDE nécessite que le service MDE soit activé. Dans le cas où elle n’est pas activée, la commande échouera. Dans ce cas, définissez Enforcement Level sur une valeur différente de celle de Disabled pour l’activation du service MDE.

Récupérer les informations d’analyse MDE à partir de chaque nœud

Cette section fournit les étapes permettant de récupérer les informations d’analyse MDE. Tout d’abord, vous devez récupérer la liste des noms de nœuds de votre cluster. La commande suivante attribue la liste des noms de nœuds à une variable d’environnement.

nodes=$(az networkcloud baremetalmachine list \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${MANAGED_RESOURCE_GROUP} \
| jq -r '.[].machineName')

Avec la liste des noms de nœuds, nous pouvons démarrer le processus pour extraire les informations de l’agent MDE pour chaque nœud de votre cluster. La commande suivante prépare les informations de l’agent MDE à partir de chaque nœud.

for node in $nodes
do
    echo "Extracting MDE agent information for node ${node}"
    az networkcloud baremetalmachine run-data-extract \
    --subscription ${SUBSCRIPTION_ID} \
    --resource-group ${MANAGED_RESOURCE_GROUP} \
    --name ${node} \
    --commands '[{"command":"mde-agent-information"}]' \
    --limit-time-seconds 600
done

Le résultat de la commande inclut une URL dans laquelle vous pouvez télécharger le rapport détaillé des analyses MDE. Consultez l’exemple suivant pour obtenir les informations de l’agent MDE.

Extracting MDE agent information for node rack1control01
====Action Command Output====
Executing mde-agent-information command
MDE agent is running, proceeding with data extract
Getting MDE agent information for rack1control01
Writing to /hostfs/tmp/runcommand

================================
Script execution result can be found in storage account: 
 <url to download mde scan results>
 ...

Extraction des résultats de l’analyse MDE

L’extraction de l’analyse MDE nécessite quelques étapes manuelles : télécharger le rapport d’analyse MDE et extraire les informations d’exécution de l’analyse ainsi qu’analyser le rapport de résultats détaillé. Cette section vous guidera sur chacune de ces étapes.

Télécharger le rapport d’analyse

Comme indiqué précédemment, la réponse des informations de l’agent MDE fournit l’URL qui stocke les données de rapport détaillées.

Téléchargez le rapport à partir de l’URL retournée <url to download mde scan results> et ouvrez le fichier mde-agent-information.json.

Le fichier mde-agent-information.json contient beaucoup d’informations sur l’analyse et cela peut être fastidieux d’analyser un rapport détaillé aussi long. Ce guide fournit quelques exemples d’extraction d’informations essentielles qui peuvent vous aider à décider si vous avez besoin d’analyser minutieusement le rapport.

Extraction de la liste des analyses MDE

Le fichier mde-agent-information.json contient un rapport d’analyse détaillé, mais vous pouvez d’abord vous concentrer sur quelques détails. Cette section détaille les étapes permettant d’extraire la liste des exécution d’analyse qui fournissent les informations telles que l’heure de début et de fin de chaque analyse, les menaces trouvées, l’état (réussi ou échoué), etc.

La commande suivante extrait ce rapport simplifié.

cat <path to>/mde-agent-information.json| jq .scanList

L’exemple suivant montre le rapport d’analyse extrait à partir de mde-agent-information.json.

[
  {
    "endTime": "1697204632487",
    "filesScanned": "1750",
    "startTime": "1697204573732",
    "state": "succeeded",
    "threats": [],
    "type": "quick"
  },
  {
    "endTime": "1697217162904",
    "filesScanned": "1750",
    "startTime": "1697217113457",
    "state": "succeeded",
    "threats": [],
    "type": "quick"
  }
]

Vous pouvez utiliser la commande Unix date pour convertir l’heure dans un format plus lisible. Pour votre confort, consultez un exemple de conversion d’horodatage Unix (en millisecondes) en année-mois-jour et heure:min:sec.

Par exemple :

date -d @$(echo "1697204573732/1000" | bc) "+%Y-%m-%dT%H:%M:%S"

2023-10-13T13:42:53

Extraction des résultats de l’analyse MDE

Cette section détaille les étapes à suivre pour extraire le rapport sur la liste des menaces identifiées pendant les analyses MDE. Pour extraire le rapport de résultat de l’analyse à partir du fichier mde-agent-information.json, exécutez la commande suivante.

cat <path to>/mde-agent-information.json| jq .threatInformation

L’exemple suivant montre le rapport des menaces identifiées par l’analyse extraite du fichier mde-agent-information.json.

{
  "list": {
    "threats": {
      "scans": [
        {
          "type": "quick",
          "start_time": 1697204573732,
          "end_time": 1697204632487,
          "files_scanned": 1750,
          "threats": [],
          "state": "succeeded"
        },
        {
          "type": "quick",
          "start_time": 1697217113457,
          "end_time": 1697217162904,
          "files_scanned": 1750,
          "threats": [],
          "state": "succeeded"
        }
      ]
    }
  },
  "quarantineList": {
    "type": "quarantined",
    "threats": []
  }
}