Créer des normes et recommandations de sécurité personnalisées dans Microsoft Defender pour le cloud

Les recommandations de sécurité dans Microsoft Defender pour le cloud vous aident à améliorer et à renforcer votre posture de sécurité. Les recommandations sont basées sur des évaluations par rapport aux normes de sécurité définies pour les abonnements Azure, les comptes AWS et les projets GCP pour lesquels Defender pour le cloud est activé.

Cet article explique comment :

  • Créez des recommandations personnalisées pour tous les clouds (Azure, AWS et GCP) avec une requête KQL.
  • Affectez des recommandations personnalisées à une norme de sécurité personnalisée.

Avant de commencer

  • Vous avez besoin d’autorisations de propriétaire sur l’abonnement pour créer une nouvelle norme de sécurité.
  • Vous avez besoin d’autorisations d’Administrateur de sécurité pour créer des recommandations personnalisées.
  • Pour créer des recommandations personnalisées basées sur KQL, le plan Defender CSPM doit être activé. Tous les clients peuvent créer des recommandations personnalisées basées sur Azure Policy.
  • Passez en revue la prise en charge dans les clouds Azure pour obtenir des recommandations personnalisées.

Nous vous recommandons de regarder cet épisode de Defender pour le cloud sur le terrain pour en savoir plus sur la fonctionnalité et explorer la création de requêtes KQL.

Créer une suggestion personnalisée

Créez des recommandations personnalisées, notamment les étapes de correction, de gravité et les normes auxquelles la recommandation doit être attribuée. Vous ajoutez une logique de recommandation avec KQL. Vous pouvez utiliser un éditeur de requête simple avec une requête intégrée basée sur des modèles que vous pouvez ajuster selon vos besoins, ou écrire votre requête KQL à partir de zéro.

  1. Dans les >Paramètres d’environnement du portail Defender pour le cloud, sélectionnez l’étendue appropriée.

  2. Sélectionnez Stratégies de sécurité>+ Créer>Recommandation personnalisée.

  3. Dans les Détails de la recommandation, renseignez les détails de la recommandation (par exemple : nom, gravité) et sélectionnez les normes auxquelles vous souhaitez appliquer la recommandation.

    Capture d’écran montrant où remplir les détails de la description de la suggestion.

  4. Cliquez sur Suivant.

  5. Dans la Requête de recommandation, écrivez une requête KQL ou sélectionnez Ouvrir l’éditeur de requête pour structurer votre requête. Si vous souhaitez utiliser l’éditeur de requête, suivez les instructions ci-dessous.

  6. Une fois la requête prête, sélectionnez Suivant.

  7. Dans Normes, sélectionnez les normes personnalisées auxquelles vous souhaitez ajouter la recommandation personnalisée.

  8. et dans Vérifier et créer, passez en revue les détails des recommandations.

    Capture d’écran montrant où passer en revue les détails de la suggestion.

Utilisation de l’éditeur de requête

Nous vous recommandons d’utiliser l’éditeur de requête pour créer une requête de recommandation.

  • L’utilisation de l’éditeur vous permet de générer et de tester votre requête avant de commencer à l’utiliser.
  • Sélectionnez Guide pratique (How to) pour obtenir de l’aide sur la structure de la requête, ainsi que des instructions et des liens supplémentaires.
  • L’éditeur contient des exemples de requêtes de recommandations intégrées que vous pouvez utiliser pour créer votre propre requête. Les données apparaissent dans la même structure que dans l'API.
  1. Dans l’éditeur de requête, sélectionnez Nouvelle requête pour créer une requête

  2. Utilisez l’exemple de modèle de requête avec ses instructions ou sélectionnez un exemple de requête de recommandation intégrée pour commencer.

    Capture d’écran montrant comment utiliser l’éditeur de requête.

  3. Sélectionnez Exécuter la requête pour tester la requête que vous avez créée.

  4. Lorsque la requête est prête, coupez-la et collez-la depuis l’éditeur dans le volet Requêtes de recommandation.

Créer un standard personnalisé

Les recommandations personnalisées peuvent être attribuées à une ou plusieurs normes personnalisées.

  1. Connectez-vous au portail Azure.

  2. Accédez à Microsoft Defender pour le cloud>Paramètres d’environnement.

  3. Sélectionnez l’étendue nécessaire.

  4. Sélectionnez Stratégies de sécurité>+ Créer>Norme.

  5. Dans Recommandations, sélectionnez les recommandations que vous souhaitez ajouter à la norme personnalisée. Pour les abonnements Azure, vous pouvez également voir la source.

    Capture d’écran montrant la liste de toutes les recommandations pouvant être sélectionnées pour la norme personnalisée.

  6. Sélectionnez Créer.

Créer et améliorer des recommandations personnalisées avec Azure Policy (hérité)

Pour les abonnements Azure, vous pouvez créer des recommandations et des normes personnalisées et les améliorer à l’aide d’Azure Policy. Il s’agit d’une fonctionnalité héritée, et nous vous conseillons d’utiliser la nouvelle fonctionnalité de recommandations personnalisées.

Créer une recommandation/norme personnalisée (héritée)

Vous pouvez créer des recommandations et des normes personnalisées dans Defender pour le cloud en créant des définitions de stratégie et des initiatives dans Azure Policy et en les intégrant dans Defender pour le cloud.

Voici comment procéder :

  1. Créez une ou plusieurs définitions de stratégie dans le Portail Azure Policy ou par programme.
  2. Créez une initiative de stratégie qui contient les définitions de stratégie personnalisées.

Intégrer l’initiative en tant que norme personnalisé (héritée)

Les affectations de stratégie sont utilisées par Azure Policy pour attribuer des ressources Azure à une stratégie ou à une initiative.

Pour intégrer une initiative à une norme de sécurité personnalisée dans Defender pour vous, vous devez inclure "ASC":"true" dans le corps de la demande, comme indiqué ici. Le champ ASC intègre l’initiative pour Microsoft Defender pour le cloud.

Voici un exemple de la procédure à suivre.

Exemple d’intégration d’une initiative personnalisée

  PUT  
  PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}?api-version=2021-06-01

  Request Body (JSON) 

  {
    "properties": {
      "displayName": "Cost Management",
      "description": "Policies to enforce low cost storage SKUs",
      "metadata": {
        "category": "Cost Management"
        "ASC":"true"
      },
      "parameters": {
        "namePrefix": {
          "type": "String",
          "defaultValue": "myPrefix",
          "metadata": {
            "displayName": "Prefix to enforce on resource names"
          }
        }
      },
      "policyDefinitions": [
        {
          "policyDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
          "policyDefinitionReferenceId": "Limit_Skus",
          "parameters": {
            "listOfAllowedSKUs": {
              "value": [
                "Standard_GRS",
                "Standard_LRS"
              ]
            }
          }
        },
        {
          "policyDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
          "policyDefinitionReferenceId": "Resource_Naming",
          "parameters": {
            "prefix": {
              "value": "[parameters('namePrefix')]"
            },
            "suffix": {
              "value": "-LC"
            }
          }
        }
      ]
    }
  }

Exemple de suppression d’une affectation

Cet exemple vous montre comment supprimer une affectation :

  DELETE   
  https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}?api-version=2018-05-01 

Améliorer les recommandations personnalisées (héritées)

Les recommandations intégrées fournies avec Microsoft Defender pour le cloud incluent des détails tels que des niveaux de gravité et des instructions de correction. Si vous souhaitez ajouter ce type d’informations à des recommandations personnalisées pour Azure, utilisez l’API REST.

Les deux types d’informations que vous pouvez ajouter sont les suivants :

  • RemediationDescription : chaîne
  • Severity – Enum [Low, Medium, High]

Les métadonnées doivent être ajoutées à la définition de stratégie pour une stratégie qui fait partie de l’initiative personnalisée. Elles doivent figurer dans la propriété « securityCenter », comme indiqué ci-dessous :

 "metadata": {
  "securityCenter": {
    "RemediationDescription": "Custom description goes here",
    "Severity": "High"
    },

Voici un autre exemple de stratégie personnalisée incluant la propriété metadata/securityCenter :

{
"properties": {
"displayName": "Security - ERvNet - AuditRGLock",
"policyType": "Custom",
"mode": "All",
"description": "Audit required resource groups lock",
"metadata": {
  "securityCenter": {
    "RemediationDescription": "Resource Group locks can be set via Azure Portal -> Resource Group -> Locks",
    "Severity": "High"
 }
},
"parameters": {
  "expressRouteLockLevel": {
    "type": "String",
    "metadata": {
      "displayName": "Lock level",
      "description": "Required lock level for ExpressRoute resource groups."
    },
    "allowedValues": [
      "CanNotDelete",
      "ReadOnly"
    ]
  }
},
"policyRule": {
  "if": {
    "field": "type",
    "equals": "Microsoft.Resources/subscriptions/resourceGroups"
  },
  "then": {
    "effect": "auditIfNotExists",
    "details": {
      "type": "Microsoft.Authorization/locks",
      "existenceCondition": {
        "field": "Microsoft.Authorization/locks/level",
        "equals": "[parameters('expressRouteLockLevel')]"
      }
    }
  }
}
}
}

Pour obtenir un autre exemple d’utilisation de la propriété securityCenter, consultez cette section de la documentation de l’API REST.

Vous pouvez utiliser les liens suivants pour en savoir plus sur les requêtes Kusto :