Поделиться через


Анализ пути атаки и расширенный поиск рисков для контейнеров

Анализ пути атаки — это алгоритм на основе графа, который сканирует граф облачной безопасности. Сканирование предоставляет пути к эксплойтируемым ресурсам, которые злоумышленники могут использовать для нарушения среды, чтобы достичь ваших ресурсов с высоким уровнем влияния. Анализ пути атаки предоставляет пути атаки и предлагает рекомендации по устранению проблем, которые нарушают путь атаки и предотвращают успешное нарушение.

Изучите и изучите пути атаки, сортируя их на основе уровня риска, имени, среды и факторов риска, точки входа, целевого объекта, затронутых ресурсов и активных рекомендаций. Изучите Аналитика графа безопасности облака в ресурсе. Примеры типов Аналитики:

  • Pod, предоставляемый в Интернете
  • Привилегированный контейнер
  • Pod использует сеть узлов
  • Образ контейнера уязвим для удаленного выполнения кода

Azure: тестирование пути атаки и обозревателя безопасности с помощью макета уязвимого образа контейнера

Если в списке путей атаки отсутствуют записи, вы по-прежнему можете протестировать эту функцию с помощью макета образа контейнера. Чтобы настроить тест, выполните следующие действия.

Требование. Экземпляр Реестр контейнеров Azure (ACR) в протестированном область.

  1. Импортируйте макет уязвимого изображения в Реестр контейнеров Azure:

    1. Выполните следующую команду в Cloud Shell:

      az acr import --name $MYACR --source DCSPMtesting.azurecr.io/mdc-mock-0001 --image mdc-mock-0001
      
    2. Если у вас нет кластера AKS, используйте следующую команду, чтобы создать новый кластер AKS:

      az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr $MYACR
      
    3. Если AKS не подключен к ACR, используйте следующую командную строку Cloud Shell, чтобы указать экземпляр AKS, чтобы извлечь изображения из выбранного ACR:

      az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-name>
      
  2. Проверка подлинности сеанса Cloud Shell для работы с кластером:

    az aks get-credentials  --subscription <cluster-suid> --resource-group <your-rg> --name <your-cluster-name>    
    
  3. Установите контроллер входящего трафика ngnix:

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  4. Разверните макет уязвимого образа, чтобы предоставить уязвимый контейнер в Интернете, выполнив следующую команду:

    helm install dcspmcharts  oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<your-image-uri> --set distribution=AZURE
    
  5. Проверьте успешность, выполнив следующие действия.

    • Найдите запись с mdc-dcspm-demo в качестве пространства имен
    • На вкладке "Рабочие нагрузки—> развертывания" убедитесь, что "pod" создан 3/3 и dcspmcharts-ingress-nginx-controller 1/1.
    • В службах и входящего трафика искать> службы, dcspmcharts-ingress-nginx-controller и dcspmcharts-ingress-nginx-controller-admission. На вкладке ingress убедитесь, что один входящий трафик создается с IP-адресом и классом nginx.

Примечание.

После завершения приведенного выше потока может потребоваться до 24 часов, чтобы увидеть результаты в облачном обозревателе безопасности и пути атаки.

После завершения тестирования пути атаки изучите созданный путь атаки, перейдя в анализ пути атаки и найдите созданный вами путь атаки. Дополнительные сведения см. в разделе "Определение и исправление путей атаки".

AWS: тестирование пути атаки и обозревателя безопасности с помощью макета уязвимого образа контейнера

  1. Создание репозитория ECR с именем mdc-mock-0001

  2. Перейдите к учетной записи AWS и выберите командную строку или программный доступ.

  3. Откройте командную строку и выберите вариант 1. Задайте переменные среды AWS (краткосрочные учетные данные). Скопируйте учетные данные переменных среды AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY и AWS_SESSION_TOKEN среды.

  4. Выполните следующую команду, чтобы получить маркер проверки подлинности для реестра Amazon ECR. Замените <REGION> регионом реестра. Замените <ACCOUNT> идентификатор учетной записи AWS.

    aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com
    
  5. Создайте образ Docker, помеченный как уязвимый по имени. Имя образа должно содержать строку mdc-mock-0001. После создания образа отправьте его в реестр ECR с помощью следующей команды (замените <ACCOUNT><REGION> идентификатор учетной записи AWS и регион):

    docker pull alpine
    docker tag alpine <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    docker push <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    
  6. Подключение в кластер EKS и установите указанную диаграмму Helm. Настройте kubectl работу с кластером EKS. Выполните следующую команду (замените <your-region> и <your-cluster-name> на регион кластера EKS и имя):

    aws eks --region <your-region> update-kubeconfig --name <your-cluster-name>
    
  7. Проверьте конфигурацию. Вы можете проверка, если kubectl настроено правильно, выполнив следующие действия:

    kubectl get nodes
    
  8. Установите контроллер входящего трафика ngnix:

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  9. Установите следующую диаграмму Helm:

    helm install dcspmcharts oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001 --set distribution=AWS
    

Диаграмма Helm развертывает ресурсы в кластере, который можно использовать для вывода путей атаки. Он также включает уязвимое изображение.

Примечание.

После завершения приведенного выше потока может потребоваться до 24 часов, чтобы увидеть результаты в облачном обозревателе безопасности и пути атаки.

После завершения тестирования пути атаки изучите созданный путь атаки, перейдя в анализ пути атаки и найдите созданный вами путь атаки. Дополнительные сведения см. в разделе "Определение и исправление путей атаки".

GCP: тестирование пути атаки и обозревателя безопасности с помощью макета уязвимого образа контейнера

  1. На портале GCP найдите реестр артефактов и создайте репозиторий GCP с именем mdc-mock-0001

  2. Следуйте этим инструкциям , чтобы отправить образ в репозиторий. Выполните следующие команды.

    docker pull alpine
    docker tag alpine <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    docker push <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    
  3. Перейдите на портал GCP. Затем перейдите к кластерам подсистемы> Kubernetes. Нажмите кнопку Подключиться.

  4. После подключения выполните команду в Cloud Shell или скопируйте команду подключения и запустите ее на компьютере:

    gcloud container clusters get-credentials contra-bugbash-gcp --zone us-central1-c --project onboardingc-demo-gcp-1
    
  5. Проверьте конфигурацию. Вы можете проверка, если kubectl настроено правильно, выполнив следующие действия:

    kubectl get nodes
    
  6. Чтобы установить диаграмму Helm, выполните следующие действия.

    1. В разделе реестра артефактов на портале перейдите в репозиторий и найдите универсальный код ресурса (URI) образа в разделе Pull by Digest.

    2. Чтобы установить диаграмму Helm, выполните следующую команду:

      helm install dcspmcharts oci:/mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<IMAGE_URI> --set distribution=GCP
      

Диаграмма Helm развертывает ресурсы в кластере, который можно использовать для вывода путей атаки. Он также включает уязвимое изображение.

Примечание.

После завершения приведенного выше потока может потребоваться до 24 часов, чтобы увидеть результаты в облачном обозревателе безопасности и пути атаки.

После завершения тестирования пути атаки изучите созданный путь атаки, перейдя в анализ пути атаки и найдите созданный вами путь атаки. Дополнительные сведения см. в разделе "Определение и исправление путей атаки".

Поиск проблем с состоянием контейнера в облачном обозревателе безопасности

Вы можете создавать запросы одним из следующих способов:

В следующих разделах приведены примеры запросов, которые можно выбрать или создать.

Изучение рисков с помощью шаблонов Cloud Security Explorer

  1. На странице обзора Defender для облака откройте обозреватель облачной безопасности.

  2. Отображаются некоторые из шаблонов поля для Kubernetes. Выберите один из шаблонов:

    • Модули pod Azure Kubernetes под управлением образов с высоким уровнем серьезности уязвимостей
    • Пространства имен Kubernetes содержат уязвимые модули pod

    Screenshot showing where to select templates.

  3. Выберите "Открыть запрос", шаблон создает запрос в верхней части экрана. Выберите "Поиск", чтобы просмотреть результаты.

    Screenshot that shows the query built and where to select search.

Создание пользовательских запросов с помощью облачного обозревателя безопасности

Вы также можете создать собственные пользовательские запросы. В следующем примере показан поиск модулей pod под управлением образов контейнеров, которые уязвимы для удаленного выполнения кода.

Screenshot that shows a custom query.

Результаты перечислены ниже запроса.

Screenshot that shows the results from a custom query.

Следующие шаги