Share via


Transizione a Gestione delle vulnerabilità di Microsoft Defender

Microsoft Defender per il cloud unifica tutte le soluzioni di valutazione della vulnerabilità per usare lo scanner di vulnerabilità Gestione delle vulnerabilità di Microsoft Defender.

Gestione delle vulnerabilità di Microsoft Defender si integra in molti casi d'uso nativi del cloud, ad esempio i contenitori vengono forniti e scenari di runtime. Come parte di questa modifica, stiamo ritirando le nostre valutazioni delle vulnerabilità predefinite basate su Qualys.

Importante

La valutazione della vulnerabilità dei contenitori Defender per il cloud basata su Qualys è ora in un percorso di ritiro completato il 1° marzo 2024.

I clienti che hanno eseguito l'onboarding di almeno una sottoscrizione a Defender per contenitori prima del 15 novembre 2023 possono continuare a usare La valutazione della vulnerabilità dei contenitori con tecnologia Qualys fino al 1° marzo 2024.

Per altre informazioni sulla modifica, vedere Defender per il cloud unifica la soluzione di valutazione della vulnerabilità basata su Gestione delle vulnerabilità di Microsoft Defender.

Se attualmente si usa la soluzione di valutazione della vulnerabilità compilata basata su Qualys, iniziare a pianificare il ritiro imminente seguendo i passaggi descritti in questa pagina.

Passaggio 1: Verificare che l'analisi sia abilitata

L'analisi della valutazione delle vulnerabilità dei contenitori basata su Gestione delle vulnerabilità di Microsoft Defender è abilitata per impostazione predefinita per Defender per contenitori, Defender per registri contenitori (deprecato) e Defender Cloud Security Posture Management. Le organizzazioni che lo hanno disabilitato devono riabilitare la valutazione della vulnerabilità del contenitore senza agente in uno dei piani. Riflette automaticamente in uno dei piani menzionati abilitati.

Screenshot of enabling “Agentless container vulnerability assessment” in settings.

Per altre informazioni sull'abilitazione dell'analisi Gestione delle vulnerabilità di Microsoft Defender, vedere Abilitare la valutazione delle vulnerabilità basata su Gestione delle vulnerabilità di Microsoft Defender.

Passaggio 2: Disabilitare le raccomandazioni di Qualys

Se l'organizzazione è pronta per la transizione all'analisi della valutazione delle vulnerabilità dei contenitori basata su Gestione delle vulnerabilità di Microsoft Defender e non riceve più i risultati dalle raccomandazioni Qualys, è possibile procedere e disabilitare i report di raccomandazioni sui risultati dell'analisi di Qualys. Di seguito sono riportati i nomi delle raccomandazioni e le chiavi di valutazione a cui si fa riferimento in questa guida.

Raccomandazioni e chiavi di valutazione di Qualys

Suggerimento Descrizione Chiave di valutazione
Le immagini dei contenitori del Registro di sistema di Azure devono avere i risultati della vulnerabilità risolti (basati su Qualys) La valutazione delle vulnerabilità delle immagini del contenitore analizza il registro alla ricerca di vulnerabilità di sicurezza ed espone risultati dettagliati per ogni immagine. La risoluzione delle vulnerabilità può migliorare significativamente il comportamento di sicurezza dei contenitori e proteggerli dagli attacchi. dbd0cb49-b563-45e7-9724-889e799fa648
Le immagini del contenitore in esecuzione in Azure devono avere i risultati della vulnerabilità risolti (basati su Qualys) La valutazione della vulnerabilità dell'immagine del contenitore analizza le immagini del contenitore in esecuzione nei cluster Kubernetes per individuare le vulnerabilità di sicurezza ed espone risultati dettagliati per ogni immagine. La risoluzione delle vulnerabilità può migliorare significativamente il comportamento di sicurezza dei contenitori e proteggerli dagli attacchi. 41503391-efa5-47ee-9282-4eff6131462c

Gestione delle vulnerabilità di Microsoft Defender raccomandazioni e chiavi di valutazione

Suggerimento Descrizione Chiave di valutazione
Le immagini dei contenitori del Registro di sistema di Azure devono avere i risultati della vulnerabilità risolti (con tecnologia Gestione delle vulnerabilità di Microsoft Defender)-Preview La valutazione della vulnerabilità dell'immagine del contenitore analizza il registro per individuare vulnerabilità comunemente note (CVE) e fornisce un report dettagliato sulle vulnerabilità per ogni immagine. La risoluzione delle vulnerabilità può migliorare notevolmente il comportamento di sicurezza, assicurandosi che le immagini siano sicure da usare prima della distribuzione. c0b7cfc6-3172-465a-b378-53c7ff2cc0d5
I risultati della vulnerabilità delle immagini dei contenitori in esecuzione in Azure devono essere risolti (basati su Gestione delle vulnerabilità di Microsoft Defender)   La valutazione della vulnerabilità dell'immagine del contenitore analizza il registro per individuare vulnerabilità comunemente note (CVE) e fornisce un report dettagliato sulle vulnerabilità per ogni immagine. Questa raccomandazione offre visibilità sulle immagini vulnerabili attualmente in esecuzione nei cluster Kubernetes. La correzione delle vulnerabilità nelle immagini del contenitore attualmente in esecuzione è fondamentale per migliorare il comportamento di sicurezza, riducendo significativamente la superficie di attacco per i carichi di lavoro in contenitori. c609cf0f-71ab-41e9-a3c6-9a1f7fe1b8d5

Disabilitare l'uso delle raccomandazioni qualys per i cloud commerciali di Azure

Per disabilitare le raccomandazioni qualys precedenti per i cloud commerciali di Azure usando l'interfaccia utente di Defender per il cloud:

  1. Nella portale di Azure passare a Defender per il cloud e aprire la pagina Consigli.

    Screenshot showing Recommendations selection.

  2. Cercare una delle raccomandazioni di Qualys.

    Screenshot showing Search for one of the Qualys recommendations.

  3. Scegliere il consiglio e selezionare "Esentato".

    Screenshot showing how to select Exempt.

  4. Selezionare il gruppo di gestione o le sottoscrizioni in cui si vuole esentare la raccomandazione Qualys.

    Screenshot showing the selection of the management group or subscriptions to exempt.

  5. Compilare i dettagli rimanenti e selezionare Crea. Attendere fino a 30 minuti per rendere effettive le esenzioni.

Disabilitare l'uso delle raccomandazioni qualys per i cloud nazionali

Per disabilitare le raccomandazioni qualys precedenti per i cloud nazionali (Azure per enti pubblici e Azure gestiti da 21Vianet) usando l'interfaccia utente Defender per il cloud:

  1. Passare a Impostazioni ambiente e selezionare la sottoscrizione pertinente in cui si vuole disabilitare la raccomandazione.

    Screenshot showing how to select subscription in environment settings.

  2. Nel riquadro Impostazioni passare a Criteri di sicurezza e selezionare l'assegnazione dell'iniziativa.

    Screenshot of security policy settings.

  3. Cercare la raccomandazione Qualys e selezionare Gestisci effetto e parametri.

    Screenshot of Qualys recommendation.

  4. Passare a Disabilitato.

    Screenshot of disable button.

Passaggio 3: (facoltativo) Aggiornare l'API REST e le query di Azure Resource Graph

Se attualmente si accede ai risultati della valutazione della vulnerabilità dei contenitori basati su Qualys a livello di codice, tramite l'API REST di Azure Resource Graph (ARG) o l'API REST di sottovalutazione o le query ARG, è necessario aggiornare le query esistenti in modo che corrispondano al nuovo schema e/o all'API REST fornita dalla nuova valutazione della vulnerabilità del contenitore basata su Gestione delle vulnerabilità di Microsoft Defender.

La sezione successiva include alcuni esempi che consentono di comprendere in che modo le query esistenti per l'offerta basata su Qualys devono essere convertite in query equivalenti con l'offerta basata su Gestione delle vulnerabilità di Microsoft Defender.

Esempi di query ARG

Tutte le query di Azure Resource Graph usate per la creazione di report devono essere aggiornate in modo da riflettere le Gestione delle vulnerabilità di Microsoft Defender assessmentKey elencate in precedenza. Di seguito sono riportati alcuni esempi che consentono di eseguire la transizione alle query Gestione delle vulnerabilità di Microsoft Defender.

Mostra immagini del contenitore non integre

Qualys
securityresources
    | where type == "microsoft.security/assessments/subassessments"
    | extend assessmentKey = extract(".*assessments/(.+?)/.*",1,  id)
    | where assessmentKey == "dbd0cb49-b563-45e7-9724-889e799fa648"
    | project 
        Resource = tolower(extract(@'(?i)(.*?)/providers/Microsoft.Security/([^/]+)', 1, id)), 
        ResourceType = tolower(split(id,"/").[6]), 
        subscriptionId, 
        severity = properties.status.severity, 
        status = properties.status.code, 
        VulnId = properties.id, 
        description = properties.displayName, 
        patchable = properties.additionalData.patchable, 
        cve = properties.additionalData.cve, 
        Repo = properties.additionalData.repositoryName, 
        imageDigest = properties.additionalData.imageDigest
    | where status == 'Unhealthy' 
Gestione delle vulnerabilità di Microsoft Defender
securityresources
    | where type == "microsoft.security/assessments/subassessments"
    | extend assessmentKey = extract(".*assessments/(.+?)/.*",1,  id)
    | where assessmentKey == "c0b7cfc6-3172-465a-b378-53c7ff2cc0d5"
    | project 
        Resource = tolower(extract(@'(?i)(.*?)/providers/Microsoft.Security/([^/]+)', 1, id)), 
        ResourceType = tolower(split(id,"/").[6]), 
        subscriptionId, 
        severity = properties.additionalData.vulnerabilityDetails.severity, 
        status = properties.status.code, 
        VulnId = properties.id, 
        description = properties.description, 
        fixStatus = properties.additionalData.softwareDetails.fixStatus, 
        Repo = properties.additionalData.artifactDetails.repositoryName, 
        imageUri = properties.resourceDetails.id
    | where status == 'Unhealthy' 

Mostra immagini del contenitore integre

Qualys
securityresources
    | where type == "microsoft.security/assessments/subassessments"
    | extend assessmentKey = extract(".*assessments/(.+?)/.*",1,  id)
    | where assessmentKey == "dbd0cb49-b563-45e7-9724-889e799fa648"
    | project 
        Resource = tolower(extract(@'(?i)(.*?)/providers/Microsoft.Security/([^/]+)', 1, id)), 
        ResourceType = tolower(split(id,"/").[6]), 
        subscriptionId, 
        status = properties.status.code, 
        Repo = properties.additionalData.repositoryName, 
        imageDigest = properties.additionalData.imageDigest
    | where status == 'Healthy'
Gestione delle vulnerabilità di Microsoft Defender
securityresources
    | where type == "microsoft.security/assessments/subassessments"
    | extend assessmentKey = extract(".*assessments/(.+?)/.*",1,  id)
    | where assessmentKey == "c0b7cfc6-3172-465a-b378-53c7ff2cc0d5"
    | project 
        Resource = tolower(extract(@'(?i)(.*?)/providers/Microsoft.Security/([^/]+)', 1, id)), 
        ResourceType = tolower(split(id,"/").[6]), 
        subscriptionId, 
        status = properties.status.code,
        Repo = properties.additionalData.artifactDetails.repositoryName, 
        imageUri = properties.resourceDetails.id
    | where status == 'Healthy' 

Contare le immagini vulnerabili in base alla gravità

Qualys
securityresources
    | where type == "microsoft.security/assessments/subassessments"
    | extend assessmentKey = extract(".*assessments/(.+?)/.*",1,  id)
    | extend status = tostring(parse_json(properties).status.code)
    | extend severity = tostring(parse_json(properties).status.severity)
    | extend vulId=tostring((properties).id)
    | extend Resource = tolower(extract(@'(?i)(.*?)/providers/Microsoft.Security/([^/]+)', 1, id))
    | where assessmentKey == "dbd0cb49-b563-45e7-9724-889e799fa648"
    | where status == 'Unhealthy' 
    | distinct 
        vulId, 
        severity
    | summarize count=count() by tostring(severity)
Gestione delle vulnerabilità di Microsoft Defender
securityresources
    | where type == "microsoft.security/assessments/subassessments"
    | extend assessmentKey = extract(".*assessments/(.+?)/.*",1,  id)
    | extend severity = tostring(properties.additionalData.vulnerabilityDetails.severity)
    | extend status = tostring(parse_json(properties).status.code)
    | extend vulId=tostring((properties).id)
    | extend Resource = tolower(extract(@'(?i)(.*?)/providers/Microsoft.Security/([^/]+)', 1, id))
    | where assessmentKey == "c0b7cfc6-3172-465a-b378-53c7ff2cc0d5"
    | where status == 'Unhealthy' 
    | distinct 
        vulId, 
        severity
    | summarize count=count() by tostring(severity)

Visualizzare pod, contenitore e spazio dei nomi per un'immagine vulnerabile in esecuzione nel cluster del servizio Azure Kubernetes

Qualys
securityresources 
| where type =~ "microsoft.security/assessments/subassessments"
| extend assessmentKey = extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id),
         subAssessmentId = tostring(properties.id),
         parentResourceId = extract("(.+)/providers/Microsoft.Security", 1, id)
| extend resourceId = extract(@'(?i)(.*?)@([^/]+)', 1,tostring(properties.resourceDetails.id))
| extend severity = tostring(parse_json(properties).status.severity)
| extend VulnId = tostring(parse_json(properties).id)
| extend status = tostring(parse_json(properties).status.code)
| where assessmentKey == "41503391-efa5-47ee-9282-4eff6131462c"
| extend resourceId = tostring(properties.resourceDetails.id),
         parsedJson = parse_json(tostring(properties.additionalData))
| extend containerData = parse_json(tostring(parsedJson.data.Containers))
| mv-expand containerDetails = containerData to typeof(dynamic)
| extend ContainerName = tostring(containerDetails.Name),
         ContainerPod = tostring(containerDetails.Pod.Name),
         Namespace = tostring(containerDetails.Pod.Namespace),
         ControllerType = tostring(containerDetails.Pod.ControllerType),
         ControllerName = tostring(containerDetails.Pod.ControllerName)
| where status == 'Unhealthy'
|project Image=resourceId, VulnId,severity, Namespace, ContainerName, ContainerPod,ControllerName,ControllerType

Gestione delle vulnerabilità di Microsoft Defender
securityresources 
| where type =~ "microsoft.security/assessments/subassessments"
| extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id)
| where assessmentKey == "c609cf0f-71ab-41e9-a3c6-9a1f7fe1b8d5" 
| extend azureClusterId = tostring(properties.additionalData.clusterDetails.clusterResourceId)
| extend cve =tostring(properties.id)
| extend status = properties.status.code
| extend severity=tostring(parse_json(properties).additionalData.vulnerabilityDetails.severity)
| where status == "Unhealthy"
| extend azureImageId = tostring(properties.resourceDetails.id)
| extend severity = tolower(properties.additionalData.vulnerabilityDetails.severity)
| extend kubernetesContext = properties.additionalData.kubernetesContext
| mv-expand workload = kubernetesContext.workloads
| mv-expand OwnedResource = workload.ownedResources
| mv-expand OwnedContainer = OwnedResource.containers                    
| mv-expand Container = workload.containers                    
| extend isController = isnotempty(workload.ownedResources)
| extend namespace =  tostring(workload.namespace)
| extend podName = iff(isController, tostring(OwnedResource.name), workload.name)
| extend containerName = iff(isController, tostring(OwnedContainer.name), Container.name)
| extend controllerName =  iff(isController, tostring(workload.name),"") 
| extend controllerType =  iff(isController, tostring(workload.kind),"")                       
| extend imageName = extract("(.+)@sha256:", 1, azureImageId) 
| project imageName, cve, severity, clusterId = azureClusterId, containerName, podName, controllerName, controllerType, namespace

Passaggio 4: (facoltativo) Creazione di report sulla sicurezza dei contenitori

Microsoft Defender per il cloud fornisce report predefiniti tramite cartelle di lavoro di Azure, inclusa una cartella di lavoro di Sicurezza dei contenitori.

Screenshot of Container Security workbook.

Questa cartella di lavoro include i risultati dell'analisi delle vulnerabilità dei contenitori sia dal Registro di sistema che dal runtime.

Screenshot of workbook including container vulnerability scanning results.

La cartella di lavoro fornisce risultati sia da Qualys che dall'analisi Gestione delle vulnerabilità di Microsoft Defender, offrendo una panoramica completa delle vulnerabilità rilevate all'interno delle immagini del contenitore di Registro di Azure. La cartella di lavoro Sicurezza contenitori offre i vantaggi seguenti per la valutazione della vulnerabilità dei contenitori:

  • Integrazione dual scanner: gli utenti possono confrontare facilmente i risultati di entrambi gli scanner in un singolo report mentre i risultati qualys sono ancora disponibili. I filtri consentono anche di concentrarsi sui risultati per un registro contenitori o un cluster specifico.

  • Panoramica di tutte le vulnerabilità: visualizzare tutte le vulnerabilità rilevate nei registri contenitori di Azure e in esecuzione nel cluster del servizio Azure Kubernetes.

  • Dashboard delle vulnerabilità sfruttabili: una sezione dedicata che evidenzia le vulnerabilità con exploit noti, consentendo ai team di sicurezza di concentrarsi sulle vulnerabilità che rappresentano un rischio elevato di sfruttamento. Questa funzionalità è disponibile solo con l'analisi della valutazione della vulnerabilità dei contenitori basata su Gestione delle vulnerabilità di Microsoft Defender.

    Screenshot of exploitable vulnerabilities dashboard.

  • Altre query ARG: è possibile usare questa cartella di lavoro per visualizzare altri esempi di come eseguire query sui dati ARG tra Qualys e Gestione delle vulnerabilità di Microsoft Defender. Per altre informazioni su come modificare le cartelle di lavoro, vedere Raccolta cartelle di lavoro in Microsoft Defender per il cloud.

Passaggi successivi