Partager via


Analyse du chemin d’attaque et repérage amélioré des risques pour les conteneurs

Attack Path Analysis est un algorithme graphique qui analyse le Cloud Security Graph. Les analyses révèlent des chemins exploitables par les attaquants pour pénétrer dans votre environnement et atteindre vos ressources à fort impact. L’analyse du chemin d’attaque révèle les chemins d’attaque et fournit les meilleures recommandations pour remédier aux problèmes en bloquant le chemin d’attaque et en empêchant toute violation.

Explorez et examinez les chemins d’attaque en les triant en fonction du niveau de risque, du nom, de l’environnement et des facteurs de risque, du point d’entrée, de la cible, des ressources affectées et des recommandations actives. Explorez le graphique de sécurité du cloud Insights sur la ressource. Voici quelques exemples de types d’insight :

  • Pod exposé à Internet
  • Conteneur privilégié
  • Le pod utilise le réseau hôte
  • L’image conteneur est vulnérable à l’exécution de code à distance

Azure : test du chemin d’attaque et de l’explorateur de sécurité à l’aide d’une image conteneur vulnérable fictive

S’il n’y a aucune entrée dans la liste des chemins d’attaque, vous pouvez toujours tester cette fonctionnalité en utilisant une image conteneur fictive. Pour configurer le test, procédez comme suit :

Exigence : instance d’Azure Container Registry (ACR) dans l’étendue testée.

  1. Importez une image vulnérable fictive dans votre Azure Container Registry :

    1. Tout d’abord, tirez une image de base (par exemple, alpine) dans votre environnement local en exécutant :

      docker pull alpine
      
    2. Étiquetez l’image avec l’étiquette suivante et poussez-la vers votre ACR. Remplacez <MYACR> par le nom de votre Azure Container Registry :

      docker tag alpine <MYACR>.azurecr.io/mdc-mock-0001
      docker push <MYACR>.azurecr.io/mdc-mock-0001
      
    3. Si vous n’avez pas de cluster AKS (Azure Kubernetes Service), utilisez la commande suivante pour créer un nouveau cluster AKS :

      az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr $MYACR
      
    4. Si votre AKS n’est pas attaché à votre ACR, utilisez la ligne de commande Cloud Shell suivante pour pointer votre instance AKS pour extraire des images de l’ACR sélectionné :

      az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-name>
      
  2. Authentifier votre session Cloud Shell pour travailler avec le cluster :

    az aks get-credentials  --subscription <cluster-suid> --resource-group <your-rg> --name <your-cluster-name>    
    
  3. Installez le contrôleur d’entrée ngnix :

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  4. Déployez l’image vulnérable fictive pour exposer le conteneur vulnérable à Internet en exécutant la commande suivante :

    helm install dcspmcharts  oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<your-image-uri> --set distribution=AZURE
    
  5. Vérifiez la réussite en procédant comme suit :

    • Rechercher une entrée avec mdc-dcspm-demo comme espace de noms
    • Sous l’onglet Charges de travail -> Déploiements , vérifiez « pod » créé 3/3 et dcspmcharts-ingress-nginx-controller 1/1.
    • Dans services et entrées, recherchez-> services service, dcspmcharts-ingress-nginx-controller et dcspmcharts-ingress-nginx-controller-admission. Sous l’onglet Entrée, vérifiez qu’une entrée est créée avec une adresse IP et une classe nginx.

Remarque

Une fois le flux ci-dessus terminé, jusqu’à 24 heures peuvent être nécessaires avant de voir les résultats dans l’explorateur de sécurité du cloud et le chemin d’attaque.

Une fois le chemin d’attaque testé, investiguez le chemin d’attaque créé en accédant à Analyse du chemin d’attaque, puis recherchez le chemin d’attaque que vous avez créé. Pour plus d’informations, consultez Identifier et corriger les chemins d’attaque.

AWS : test du chemin d’attaque et de l’explorateur de sécurité à l’aide d’une image conteneur vulnérable fictive

  1. Créez un référentiel ERC nommé mdc-mock-0001

  2. Accédez à votre compte AWS et choisissez Ligne de commande ou accès programmatique.

  3. Ouvrez une ligne de commande et choisissez Option 1 : Définir des variables d’environnement AWS (informations d’identification à court terme). Copiez les informations d’identification des variables d’environnement AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY et AWS_SESSION_TOKEN.

  4. Exécutez la commande suivante pour obtenir le jeton d’authentification de votre registre Amazon ERC. Remplacez <REGION> par la région de votre registre. Remplacez <ACCOUNT> par votre ID de compte AWS.

    aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com
    
  5. Créez une image Docker marquée comme vulnérable par nom. Le nom de l’image doit contenir la chaîne mdc-mock-0001. Une fois l’image créée, envoyez-la (push) à votre registre ERC avec la commande suivante (remplacez <ACCOUNT> et <REGION> par l’ID et la région de votre compte AWS) :

    docker pull alpine
    docker tag alpine <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    docker push <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    
  6. Connectez-vous à votre cluster EKS et installez le chart Helm fourni. Configurez kubectl pour qu’il fonctionne avec votre cluster EKS. Exécutez cette commande (remplacez <your-region> et <your-cluster-name> par la région et le nom de votre cluster EKS) :

    aws eks --region <your-region> update-kubeconfig --name <your-cluster-name>
    
  7. Vérifiez la configuration Vous pouvez vérifier si kubectl est correctement configuré en exécutant la commande suivante :

    kubectl get nodes
    
  8. Installez le contrôleur d’entrée ngnix :

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  9. Installez le chart Helm suivant :

    helm install dcspmcharts oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001 --set distribution=AWS
    

Le chart Helm déploie sur votre cluster des ressources qui peuvent être utilisées pour déduire les chemins d’attaque. Il inclut également l’image vulnérable.

Remarque

Une fois le flux ci-dessus terminé, jusqu’à 24 heures peuvent être nécessaires avant de voir les résultats dans l’explorateur de sécurité du cloud et le chemin d’attaque.

Une fois le chemin d’attaque testé, investiguez le chemin d’attaque créé en accédant à Analyse du chemin d’attaque, puis recherchez le chemin d’attaque que vous avez créé. Pour plus d’informations, consultez Identifier et corriger les chemins d’attaque.

GCP : test du chemin d’attaque et de l’explorateur de sécurité à l’aide d’une image conteneur vulnérable fictive

  1. Dans le portail GCP, recherchez Artifact Registry, puis créez un référentiel GCP nommé mdc-mock-0001

  2. Suivez ces instructions pour envoyer (push) l’image vers votre référentiel. Exécutez ces commandes  :

    docker pull alpine
    docker tag alpine <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    docker push <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    
  3. Accédez au portail GCP. Accédez ensuite à Kubernetes Engine>Clusters. Cliquez sur le bouton Connecter.

  4. Une fois connecté, exécutez la commande dans Cloud Shell ou copiez la commande de connexion et exécutez-la sur votre ordinateur :

    gcloud container clusters get-credentials contra-bugbash-gcp --zone us-central1-c --project onboardingc-demo-gcp-1
    
  5. Vérifiez la configuration Vous pouvez vérifier si kubectl est correctement configuré en exécutant la commande suivante :

    kubectl get nodes
    
  6. Pour installer le graphique Helm, procédez comme suit :

    1. Sous Artifact registry dans le portail, accédez au référentiel et recherchez l’URI d’image sous Artifact registry.

    2. Utilisez la commande suivante pour installer le graphique Helm :

      helm install dcspmcharts oci:/mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<IMAGE_URI> --set distribution=GCP
      

Le chart Helm déploie sur votre cluster des ressources qui peuvent être utilisées pour déduire les chemins d’attaque. Il inclut également l’image vulnérable.

Remarque

Une fois le flux ci-dessus terminé, jusqu’à 24 heures peuvent être nécessaires avant de voir les résultats dans l’explorateur de sécurité du cloud et le chemin d’attaque.

Une fois le chemin d’attaque testé, investiguez le chemin d’attaque créé en accédant à Analyse du chemin d’attaque, puis recherchez le chemin d’attaque que vous avez créé. Pour plus d’informations, consultez Identifier et corriger les chemins d’attaque.

Rechercher les problèmes de posture de conteneurs avec Cloud Security Explorer

Vous pouvez générer des requêtes de l’une des manières suivantes :

Dans les sections suivantes, nous présentons des exemples de requêtes que vous pouvez sélectionner ou créer.

Explorer les risques avec les modèles de l’explorateur de sécurité du cloud

  1. Dans la page vue d’ensemble de Defender pour le cloud, ouvrez l’explorateur de sécurité du cloud.

  2. Certains modèles prêts à l’emploi pour Kubernetes s’affichent. Sélectionnez un des modèles :

    • Les pods Azure Kubernetes exécutant des images présentant des vulnérabilités de gravité élevée
    • Les espaces de noms Kubernetes contiennent des pods vulnérables

    Capture d’écran montrant où sélectionner les modèles.

  3. Sélectionnez Ouvrir la requête ; le modèle génère la requête dans la partie supérieure de l’écran. Sélectionnez Rechercher pour afficher les résultats.

    Capture d’écran montrant le requête générée et où sélectionner la recherche.

Créer des requêtes personnalisées avec l’explorateur de sécurité du cloud

Vous pouvez également créer vos propres requêtes personnalisées. L’exemple suivant montre une recherche de pods exécutant des images conteneur vulnérables à l’exécution de code à distance.

Capture d’écran montrant une requête personnalisée.

Les résultats sont listés sous la requête.

Capture d’écran montrant les résultats d’une requête personnalisée.

Étapes suivantes

  • En savoir plus sur les plans Defender pour le cloud.