Övergång till Upravljanje ranjivostima za Microsoft Defender
Microsoft Defender för molnet förenar alla lösningar för sårbarhetsbedömning för att använda Upravljanje ranjivostima za Microsoft Defender sårbarhetsskanner.
Upravljanje ranjivostima za Microsoft Defender integreras i många molnbaserade användningsfall, till exempel containrars leverans- och körningsscenarier.
Sårbarhetsbedömningen för Defender för molncontainrar som drivs av Qualys har nu dragits tillbaka. Om du ännu inte har övergått tillsårbarhetsbedömningar för Azure med Upravljanje ranjivostima za Microsoft Defender följer du stegen på sidan för att göra övergången.
Steg 1: Kontrollera att genomsökning är aktiverat
Genomsökning av sårbarhetsbedömning för containrar som drivs av Upravljanje ranjivostima za Microsoft Defender är aktiverat som standard för Defender för containrar, Defender för containerregister (inaktuell) och Defender Cloud Security Posture Management. Organisationer som inaktiverade den måste återaktivera sårbarhetsbedömningen för agentlösa containrar i något av planerna. Den återspeglar automatiskt för någon av de nämnda planerna som är aktiverad.
Mer information om hur du aktiverar Upravljanje ranjivostima za Microsoft Defender genomsökning finns i Aktivera sårbarhetsbedömning som drivs av Upravljanje ranjivostima za Microsoft Defender.
Steg 2: (Valfritt) Uppdatera REST API- och Azure Resource Graph-frågor
Om du kom åt resultatet av utvärdering av sårbarhetsbedömningar för containrar via Qualys programmatiskt, antingen via Rest-API:et för Azure Resource Graph (ARG) eller REST API för underbedömning eller ARG-frågor, måste du uppdatera dina befintliga frågor så att de matchar det nya schemat och/eller REST-API:et som tillhandahålls av den nya sårbarhetsbedömningen för containrar som drivs av Upravljanje ranjivostima za Microsoft Defender.
Nästa avsnitt innehåller några exempel som kan hjälpa dig att förstå hur befintliga frågor för Qualys-baserade erbjudanden ska översättas till motsvarande frågor med det Upravljanje ranjivostima za Microsoft Defender drivna erbjudandet.
ARG-frågeexempel
Alla Azure Resource Graph-frågor som används för rapportering bör uppdateras för att återspegla de Upravljanje ranjivostima za Microsoft Defender assessmentKeys som angavs tidigare. Följande är exempel som hjälper dig att övergå till Upravljanje ranjivostima za Microsoft Defender frågor.
Visa containeravbildningar som inte är felfria
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'
Upravljanje ranjivostima za 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'
Visa felfria containeravbildningar
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'
Upravljanje ranjivostima za 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'
Räkna sårbara bilder efter allvarlighetsgrad
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)
Upravljanje ranjivostima za 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)
Visa podd, container och namnrymd för en sårbar avbildning som körs i AKS-klustret
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
Upravljanje ranjivostima za Microsoft Defender
securityresources
| where type =~ "microsoft.security/assessments/subassessments"
| extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id)
| where assessmentKey == "c0b7cfc6-3172-465a-b378-53c7ff2cc0d5"
| 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
Steg 3: (Valfritt) Rapportering av containersäkerhet
Microsoft Defender för molnet tillhandahåller rapportering direkt via Azure-arbetsböcker, inklusive en containersäkerhetsarbetsbok.
Den här arbetsboken innehåller resultat av sårbarhetsgenomsökning av containrar från både register och körning.
Arbetsboken ger resultat från Upravljanje ranjivostima za Microsoft Defender genomsökning och ger en omfattande översikt över sårbarheter som identifierats i dina Azure Registry-containeravbildningar. Arbetsboken Containers Security ger följande fördelar med sårbarhetsbedömning av containrar:
Översikt över alla sårbarheter: Visa alla sårbarheter som identifierats i dina Azure Container Registries och som körs i AKS-klustret.
Instrumentpanel för sårbarheter som kan utnyttjas: Ett dedikerat avsnitt som belyser sårbarheter med kända sårbarheter, vilket gör det möjligt för säkerhetsteam att fokusera på sårbarheter som utgör en hög risk för utnyttjande. Detta är endast tillgängligt med genomsökning av sårbarhetsbedömning för containrar som drivs av Upravljanje ranjivostima za Microsoft Defender.
Ytterligare ARG-frågor: Du kan använda den här arbetsboken för att visa fler exempel på hur du frågar ARG-data mellan Qualys och Upravljanje ranjivostima za Microsoft Defender. Mer information om hur du redigerar arbetsböcker finns i Galleriet Arbetsböcker i Microsoft Defender för molnet.