Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida illustra i passaggi di configurazione e altre azioni che consentono di integrare GitHub Advanced Security (GHAS) e Microsoft Defender for Cloud. Questa integrazione consente di ottimizzare la sicurezza delle applicazioni native del cloud di Microsoft.
Seguendo questa guida, è possibile:
- Configura il tuo repository GitHub per la copertura di Defender for Cloud.
- Creare un fattore di rischio di esecuzione.
- Testare casi d'uso reali in Defender for Cloud.
- Collegare il codice alle risorse cloud.
- Avviare una campagna di sicurezza in GitHub. Questa campagna usa il contesto di runtime per classificare in ordine di priorità gli avvisi di sicurezza GHAS in base al contesto di runtime.
- Creare problemi di GitHub da Defender per il cloud per avviare la correzione.
- Colmare il divario tra i team di ingegneria e sicurezza.
Prerequisiti
| Aspetto | Dettagli |
|---|---|
| Requisiti ambientali | - Account GitHub con un connettore creato in Defender for Cloud - Licenza GHAS - Defender Cloud Security Posture Management (CSPM) abilitato nella sottoscrizione - Microsoft Security Copilot (facoltativo per la correzione automatica) |
| Ruoli e autorizzazioni | - Autorizzazioni di amministratore della sicurezza - Lettore di sicurezza nella sottoscrizione di Azure (per visualizzare i risultati in Defender for Cloud) - Proprietario dell'organizzazione GitHub |
| Ambienti Cloud | - Disponibile solo nei cloud commerciali (non in Azure per enti pubblici, Azure gestito da 21Vianet o altri cloud sovrani) |
Prepara il tuo ambiente
Passaggio 1: Configurare il repository GitHub ed eseguire il flusso di lavoro
Per testare l'integrazione, usare i propri repository o un repository GitHub di esempio che contiene già tutto il contenuto per creare un'immagine del contenitore vulnerabile. Prima di configurare un repository, assicurarsi che:
Si definisce un connettore per l'organizzazione GitHub che si prevede di usare nel portale di Defender for Cloud. Seguire la procedura descritta in Connettere l'ambiente GitHub a Microsoft Defender for Cloud.
È possibile configurare l'analisi del codice senza agente per il connettore GitHub. Seguire la procedura descritta in Configurare l'analisi del codice senza agente (anteprima).
Il repository usato per l'integrazione è privato.
Se si vuole usare un repository di esempio, clonare il repository seguente nell'organizzazione GitHub: build25-woodgrove/mdc-customer-playbook. Questo repository consente ai clienti di testare l'integrazione di Defender for Cloud e GHAS. Ha GHAS abilitato ed è inserito in un tenant di Azure con CSPM di defender abilitato.
Nel repository seguire questa procedura:
Andare a Impostazioni.
Nel riquadro sinistro selezionare Segreti e variabili>Azioni. Selezionare quindi Nuovo segreto del repository.
Aggiungere i segreti seguenti a livello di repository o organizzazione:
Variable Description ACR_ENDPOINTServer di login del registro dei container ACR_USERNAMENome utente per il registro contenitori ACR_PASSWORDPassword per il registro contenitori Annotazioni
I nomi possono essere scelti liberamente e non devono seguire un modello specifico.
È possibile trovare queste informazioni nel portale di Azure seguendo questa procedura:
Nel repository selezionare Azioni.
Selezionare il flusso di lavoro Compila e invia all'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.
Distribuire la stessa immagine come contenitore in esecuzione nel cluster. Un modo per completare questo passaggio consiste nel connettersi al cluster e usare il
kubectl runcomando . Ecco un esempio per il servizio Azure Kubernetes:Impostare la sottoscrizione del cluster:
az account set --subscription $subscriptionIDImpostare le credenziali per il cluster:
az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existingDistribuire l'immagine:
kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
Passaggio 2: Creare il primo fattore di rischio (regola business critical)
Uno dei fattori di rischio rilevati da Defender for Cloud per questa integrazione è la criticità aziendale. Le organizzazioni possono creare regole per etichettare le risorse come business critical.
Nel portale di Defender for Cloud passare a Impostazioni> ambienteCriticità risorse.
Nel riquadro destro selezionare il collegamento per aprire Microsoft Defender.
Selezionare Crea una nuova classificazione.
Immetti un nome e una descrizione.
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. Quindi seleziona Avanti.
Nella pagina Anteprima asset , se Microsoft Defender ha già rilevato la risorsa, il nome del contenitore viene visualizzato con un tipo di asset K8s-container o K8s-pod.
Anche se il nome non è ancora visibile, continuare con il passaggio successivo. Microsoft Defender applica l'etichetta di criticità al contenitore dopo aver rilevato il contenitore. Questo processo può richiedere fino a 24 ore.
Scegliere un livello di criticità e quindi esaminare e inviare la regola di classificazione.
Passaggio 3: Verificare che l'ambiente sia pronto
Annotazioni
Possono essere necessarie fino a 24 ore dopo l'applicazione dei passaggi precedenti per visualizzare i risultati seguenti.
Verificare che l'analisi senza agente di GitHub rilevi il repository.
Passare a Cloud Security Explorer ed eseguire la query.
Verificare che Defender for Cloud (nel Registro dei container di Azure) abbia analizzato l'immagine del container e l'abbia usata per creare un container. Nella query aggiungere le condizioni per la distribuzione specifica.
Verificare che il contenitore sia in esecuzione e che Defender for Cloud abbia analizzato il cluster AKS.
Verificare che i fattori di rischio siano configurati correttamente sul lato Defender for Cloud. Cerca il tuo nome del contenitore nella pagina di inventario di Defender for Cloud, e dovrebbe essere contrassegnato come critico.
Passaggio 4: Creare una campagna GitHub
Poiché il flusso di lavoro distribuisce un'immagine che crea un contenitore in esecuzione con uno dei fattori di rischio (business critical), gli sviluppatori possono visualizzare i fattori di rischio in GitHub.
Annotazioni
Dopo aver classificato la risorsa come critica, possono essere necessarie fino a 12 ore prima che Defender for Cloud invii i dati a GitHub. Ulteriori informazioni.
In GitHub passare all'organizzazione GitHub usata per il test di installazione.
SelezionareSicurezza>Campagne>Crea campagna>Dai filtri di scansione del codice.
Creare la campagna seguente. Questa campagna mostra gli avvisi aperti con gravità media in cui l'immagine distribuita dal repository è associata a una risorsa critica. Il repository di test dovrebbe essere rilevato con questa campagna.
Selezionare Salva>Pubblica come campagna.
Immettere le informazioni necessarie e quindi pubblicare la campagna.
Passaggio 5: Valutare le raccomandazioni dal codice al cloud
Utilizzare le raccomandazioni dal codice al cloud e gli avvisi di sicurezza per comprendere lo stato delle questioni di sicurezza. È quindi possibile assegnare la raccomandazione per la risoluzione al team di ingegneria pertinente grazie alla connessione tra gli avvisi di sicurezza di Dependabot e la corrispondenza degli ID comunemente noti delle vulnerabilità ed esposizioni (CVE) in Defender per il Cloud.
Per visualizzare le raccomandazioni per lo sviluppo dal codice al cloud
Nel portale di Defender for Cloud passare alla scheda Raccomandazioni .
Cercare il nome del contenitore creato. Aprire quindi una delle raccomandazioni che includono la parola Update.
Se si è usato il repository di esempio, cercare Aggiornare la raccomandazione brace-expansion.
Passare alla scheda Informazioni dettagliate sulla correzione e visualizzare il diagramma da codice a cloud. Il diagramma mappa il contenitore in esecuzione, all'immagine del contenitore nel repository del codice e al repository del codice di origine in GitHub.
Visualizzare gli avvisi di sicurezza
Selezionare la scheda CVEs associati . Si noti che alcuni ID CVE hanno un collegamento Visualizza su GitHub nella colonna Avvisi GitHub correlati .
Selezionare il collegamento per aprire l'avviso di sicurezza GHAS pertinente.
Segnalare un problema in GitHub
Per chiudere il ciclo tra i team di progettazione e sicurezza, è possibile creare un problema di GitHub che assegna priorità ai problemi di sicurezza su cui deve concentrarsi il team di progettazione. Questa prioritizzazione può includere il trasferimento dei risultati che GHAS non ha rilevato ma che Defender per il Cloud ha individuato per gli ID CVE che non fanno parte delle dipendenze dirette. Questi risultati possono includere vulnerabilità nell'immagine di base, nel sistema operativo o nel software come NGINX.
Il problema di GitHub viene generato automaticamente con tutti gli ID CVE trovati nell'ambito della raccomandazione. La raccomandazione è con e senza corrispondenze di avvisi Dependabot, inclusi altri contesti di runtime sul repository di origine.
Quando si assegna il problema, lo stato del problema viene aggiornato nel portale di Defender for Cloud.
Apportare correzioni proattive
Sul lato GitHub, se si dispone di una licenza di GitHub Copilot, è possibile risolvere il problema con l'aiuto dell'agente di codifica GitHub:
- Assegnare un agente di codifica GitHub al problema.
- Esaminare la correzione generata.
- Se la correzione sembra ragionevole, applicarla.
- Osservare come Defender for Cloud aggiorna lo stato del problema a Chiuso.
Contenuti correlati
- Che cos'è l'integrazione di GitHub Advanced Security con Microsoft Defender for Cloud (anteprima)?
- Panoramica della Sicurezza di DevOps di Microsoft Defender per il cloud
- Guida introduttiva: Connettere l'ambiente GitHub a Microsoft Defender for Cloud
- Configurare l'analisi del codice senza agente (anteprima)