Integrazione della sicurezza avanzata di GitHub con Microsoft Defender per il cloud – Progetto sandbox

Questa guida illustra i passaggi di configurazione per un progetto sandbox che consente di valutare GitHub Advanced Security (GHAS) e Microsoft Defender per il cloud end-to-end di integrazione con un caso d'uso semplice.

L'integrazione con GHAS e Defender per il cloud aiuta a massimizzare la sicurezza delle applicazioni cloud-native di Microsoft correlando i rischi e il contesto di runtime con il codice originario per una rimediazione più rapida basata su AI.

Seguendo questa guida, è possibile:

  • Configura il tuo repository GitHub per la copertura di Defender per il cloud.
  • Creare un fattore di rischio di esecuzione.
  • Collegare il codice alle risorse di runtime.
  • Testare casi d'uso reali in Defender per il cloud.

Prerequisiti

Aspect Dettagli
Requisiti ambientali - Account GitHub con un connettore creato in Defender per il cloud
- Licenza GHAS
- Defender Cloud Security Posture Management (DCSPM) abilitato nella sottoscrizione
- Microsoft Security Copilot (facoltativo per la correzione automatica)
Ruoli e autorizzazioni - Autorizzazioni di amministratore della sicurezza
- Amministratore della sicurezza nella sottoscrizione Azure (per visualizzare i risultati in Defender per il cloud)
- Proprietario dell'organizzazione GitHub
Ambienti Cloud Disponibile solo nei cloud commerciali (non in Azure per enti pubblici, Azure gestito da 21Vianet o da altri cloud sovrani).

Prepara il tuo ambiente

Passaggio 1: Configurare il repository GitHub ed eseguire il flusso di lavoro

Per testare l'integrazione, usare l'esempio sandbox GitHub repository che contiene già tutto il contenuto per creare un'immagine contenitore vulnerabile.

Prima di creare un repository:

  1. Clona il seguente repository nell'organizzazione su GitHub:

    Questo repository ha GHAS abilitato ed è integrato su un tenant Azure che ha abilitato Defender Cloud Security Posture Management.

  2. Nel repository seguire questa procedura:

    1. Andare a Impostazioni.
    2. Nel riquadro sinistro selezionare Segreti e variabili>Azioni. Selezionare quindi Nuovo segreto del repository.
    3. Aggiungere i segreti seguenti a livello di repository o organizzazione:
    Variabile Descrizione
    ACR_ENDPOINT Server di autenticazione del registro contenitori.
    ACR_USERNAME Nome utente per il registro contenitori.
    ACR_PASSWORD Password del registro contenitori.

    Note

    È possibile scegliere qualsiasi nome per queste variabili. Non è necessario seguire un modello specifico.

Puoi trovare il server di autenticazione del registro container, il nome utente e la password nel portale Azure seguendo questi passaggi:

  1. Selezionare il registro contenitori in cui si vuole eseguire la distribuzione.
  2. In Impostazioni selezionare Chiavi di accesso.
  3. Il riquadro Chiavi di accesso mostra le chiavi per il server di autenticazione, il nome utente e la password.

Nel repository selezionare Azioni, selezionare il flusso di lavoro Crea e esegui push su ACR e quindi selezionare Esegui flusso di lavoro.

Verificare che l'immagine sia stata distribuita al registro dei contenitori. Per il repository di esempio, l'immagine deve trovarsi in un registro denominato mdc-mock-0001 con il tag mdc-ghas-integration.

Distribuisci l'immagine mdc-mock-0001:mdc-ghas-integration come un contenitore in esecuzione sul tuo cluster. Un modo per distribuire l'immagine del container nel cluster è collegarsi al cluster e usare il kubectl run comando. Ecco un esempio per il servizio Azure Kubernetes:

  1. Impostare la sottoscrizione del cluster:

    az account set --subscription $subscriptionID
    
  2. Impostare le credenziali per il cluster:

    az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing
    
  3. Distribuire l'immagine:

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

Passaggio 2: Creare il fattore di rischio di esempio (regola business critical)

Uno dei fattori di rischio rilevati da Defender per il cloud per questa integrazione è la criticità aziendale. Le organizzazioni possono creare regole per etichettare le risorse come business critical.

  1. Nel portale di Defender per il cloud passare a Impostazioni> ambienteCriticità risorse.
  2. Nel riquadro destro selezionare il collegamento per aprire Microsoft Defender.
  3. Selezionare Crea una nuova classificazione.
  4. Immetti un nome e una descrizione.
  5. Nel generatore di query selezionare Risorsa cloud. Scrivere una query per impostare Nome risorsa uguale al nome del contenitore distribuito nel cluster per la convalida. Fare quindi clic su Avanti.
  6. Nella pagina Preview Assets, se Microsoft Defender ha già rilevato la tua risorsa, il nome del contenitore appare con un tipo di asset K8s-container o K8s-pod. Anche se il nome non è ancora visibile, continuare con il passaggio successivo.
  7. Scegliere un livello di criticità e quindi esaminare e inviare la regola di classificazione.

Note

Defender applica l'etichetta di criticità al contenitore dopo averlo rilevato. Questo processo può richiedere fino a 24 ore.

Passaggio 3: Verificare che l'ambiente sia pronto

La validazione conferma che il tuo ambiente è correttamente configurato per far emergere raccomandazioni code-to-runtime e generare risultati concreti.

Durante la validazione, Defender verifica la visibilità completa dal codice all'esecuzione.

  • Defender per il cloud monitora continuamente i repository del codice sorgente per le vulnerabilità di sicurezza.
  • Gli artefatti di compilazione, ad esempio le immagini dei contenitori, vengono analizzati nei registri contenitori prima della distribuzione.
  • I carichi di lavoro di runtime distribuiti nei cluster Kubernetes vengono monitorati per individuare i rischi per la sicurezza.
  • Defender per il cloud correla e traccia ogni artefatto dal codice, tramite compilazione e distribuzione, al runtime e indietro.

Note

Possono essere necessarie fino a 24 ore dopo l'applicazione dei passaggi precedenti per visualizzare i risultati seguenti.

Controllare che la scansione senza agente di GitHub rilevi il repository.

Vai su Cloud Security Explorer ed esegui le query di validazione descritte nella seguente lista. Queste query di validazione verificano se Defender per il cloud può identificare artefatti prodotti dai tuoi pipeline e dai carichi di lavoro. Se le query restituiscono risultati, indica che l'analisi e la correlazione funzionano come previsto.

Note

Se non vengono restituiti risultati, potrebbe indicare che gli artefatti non sono ancora generati, l'analisi non è configurata o le autorizzazioni non sono presenti.

  • Valida che Defender per il cloud in Registro Azure Container ha scansionato l'immagine del container e l'ha usata per creare un container.
  • Nella query aggiungere le condizioni per la distribuzione specifica.
  • Verificare che il contenitore sia in esecuzione e che Defender per il cloud abbia analizzato il cluster AKS.
  • Verificare che i fattori di rischio siano configurati correttamente sul lato Defender per il cloud. Cerca il tuo nome del contenitore nella pagina di inventario di Defender per il cloud, e dovrebbe essere contrassegnato come critico.

Note

La convalidazione della configurazione dei fattori di rischio è necessaria solo se i fattori di rischio non sono già configurati nel tuo ambiente.

La convalida corretta garantisce che i passaggi successivi, ad esempio raccomandazioni, campagne e GitHub generazione di problemi, producano risultati significativi.