Intégration de la sécurité avancée de GitHub avec Microsoft Defender for Cloud – Projet de bac à sable

Ce guide fournit des étapes de configuration pour un projet de bac à sable qui vous aide à évaluer GitHub Advanced Security (GHAS) et l'intégration de Microsoft Defender for Cloud avec un cas d'usage simple, de bout en bout.

Cette intégration permet d’optimiser la sécurité des applications natives cloud de Microsoft en mettant en corrélation les risques d’exécution et le contexte avec le code d’origine pour accélérer la correction basée sur l’IA.

En suivant ce guide, vous devez :

  • Configurez votre dépôt GitHub pour la couverture de Defender pour le Cloud.
  • Créez un facteur de risque d’exécution.
  • Lier du code aux ressources d’exécution.
  • Testez les cas d’usage réels dans Defender pour Cloud.

Prerequisites

Aspect Détails
Exigences environnementales - Compte GitHub avec un connecteur créé dans Defender pour le Cloud
- Licence GHAS
- Defender Cloud Security Posture Management (DCSPM) activé sur l’abonnement
- Microsoft Security Copilot (facultatif pour la correction automatisée)
Rôles et autorisations - Autorisations d’administrateur de sécurité
- Administrateur de sécurité sur l’abonnement Azure (pour afficher les résultats dans Defender pour cloud)
- Propriétaire de l’organisation GitHub
Environnements cloud Disponible uniquement dans les clouds commerciaux (pas dans Azure Government, Azure gérés par 21Vianet ou d’autres clouds souverains).

Préparer votre environnement

Étape 1 : Configurer le référentiel GitHub et exécuter le flux de travail

Pour tester l’intégration, utilisez le référentiel GitHub de l'exemple de bac à sable qui a déjà tout le contenu pour générer une image conteneur vulnérable.

Avant de configurer un référentiel, assurez-vous que :

  1. Clonez le référentiel suivant dans votre organisation GitHub :
  1. Dans le référentiel, procédez comme suit :

    1. Accéder à Paramètres.
    2. Dans le volet gauche, sélectionnez Secrets et variables > Actions. Ensuite, sélectionnez Nouveau secret de référentiel.
    3. Ajoutez les secrets suivants au niveau du référentiel ou de l’organisation :
Variable Description
ACR_ENDPOINT Serveur d’authentification du registre de conteneurs.
ACR_USERNAME Nom d’utilisateur du registre de conteneurs.
ACR_PASSWORD Mot de passe du registre de conteneurs.

Note

Vous pouvez choisir n’importe quel nom pour ces variables. Ils n’ont pas besoin de suivre un modèle spécifique.

Vous trouverez ces informations dans le portail Azure en procédant comme suit :

  1. Sélectionnez le registre de conteneurs sur lequel vous souhaitez effectuer le déploiement.
  2. Sous Paramètres, sélectionnez Clés d’accès.
  3. Le volet Clés d’accès affiche les clés du serveur d’authentification, du nom d’utilisateur et du mot de passe.

Dans votre référentiel, sélectionnez Actions, sélectionnez Générer et envoyer (Push) au flux de travail ACR, puis exécutez le flux de travail.

Vérifiez que l’image a été déployée dans votre registre de conteneurs. Pour l’exemple de référentiel, l’image doit se trouver dans un registre appelé mdc-mock-0001 avec la balise mdc-ghas-integration.

Déployez la même image sous forme de conteneur en cours d’exécution sur votre cluster. Une façon d’effectuer cette étape consiste à se connecter au cluster et à utiliser la kubectl run commande. Voici un exemple pour Azure Kubernetes Service (AKS) :

Définissez l’abonnement au cluster :

az account set --subscription $subscriptionID

Définissez les identifiants du cluster :

az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing

Déployez l’image :

kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration

Étape 2 : Créer l’exemple de facteur de risque (règle critique pour l’entreprise)

L’un des facteurs de risque détectés par Defender pour Cloud pour cette intégration est la criticité commerciale. Les organisations peuvent créer des règles pour étiqueter les ressources comme critiques pour l’entreprise.

  1. Dans le portail Defender pour Cloud, accédez à Paramètres d'environnement>Criticité des ressources.
  2. Dans le volet droit, sélectionnez le lien pour ouvrir Microsoft Defender.
  3. Sélectionnez Créer une nouvelle classification.
  4. Saisissez un nom et une description.
  5. Dans le générateur de requêtes, sélectionnez Ressource cloud. Écrivez une requête pour définir le nom de ressource égal au nom du conteneur que vous avez déployé sur votre cluster pour validation. Ensuite, sélectionnez Suivant.
  6. Dans la page Ressources en préversion , si Microsoft Defender a déjà détecté votre ressource, le nom du conteneur s’affiche avec un type de ressource K8s-container ou K8s-pod. Même si le nom n’est pas encore visible, passez à l’étape suivante.
  7. Choisissez un niveau de criticité, puis passez en revue et soumettez votre règle de classification.

Note

Microsoft Defender applique l’étiquette de criticité au conteneur après avoir détecté le conteneur. Ce processus peut prendre jusqu’à 24 heures.

Étape 3 : Vérifier que votre environnement est prêt

La validation confirme que votre environnement est correctement configuré pour exposer le code pour exécuter des recommandations et générer des résultats actionnables.

Au cours de cette étape, Defender vérifie le code complet pour la visibilité du runtime.

  • Microsoft Defender for Cloud surveille en permanence les référentiels de code source pour les vulnérabilités de sécurité.
  • Les artefacts de build, tels que les images de conteneur, sont examinés dans les registres de conteneurs avant le déploiement.
  • Les charges de travail d’exécution déployées sur des clusters Kubernetes sont surveillées pour détecter les risques de sécurité.
  • Defender for Cloud corrèle et suit chaque artefact du code, à travers la construction et le déploiement, jusqu'à l'exécution, et retour.

Note

L’application des étapes précédentes peut prendre jusqu’à 24 heures pour afficher les résultats suivants.

Testez si l'analyse sans agent de GitHub détecte le référentiel.

Accédez à Cloud Security Explorer et effectuez la requête. Les requêtes de validation testent si Defender peut identifier les artefacts générés par vos pipelines et charges de travail. Si les requêtes retournent des résultats, cela indique que l’analyse et la corrélation fonctionnent comme prévu.

Note

Si aucun résultat n’est retourné, il peut indiquer que les artefacts ne sont pas encore générés, que l’analyse n’est pas configurée ou que les autorisations sont manquantes.

  • Vérifiez que Defender pour Cloud (dans Azure Container Registry) a analysé l’image conteneur et l’a utilisée pour créer un conteneur.
  • Dans votre requête, ajoutez les conditions de votre déploiement spécifique.
  • Vérifiez que le conteneur est en cours d’exécution et que Defender pour Cloud a analysé le cluster AKS.
  • Vérifiez que les facteurs de risque sont configurés correctement côté Defender pour cloud. Recherchez le nom de votre conteneur dans la page d’inventaire Defender for Cloud, et vous devez le voir marqué comme critique.

Note

Cette étape est requise uniquement si les facteurs de risque ne sont pas déjà configurés dans votre environnement.

La validation réussie garantit que les étapes suivantes, telles que les recommandations, les campagnes et GitHub génération de problèmes, produisent des résultats significatifs.

Étapes suivantes