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


Сканирование без агента в Microsoft Defender для облака

Сканирование без агента в Microsoft Defender для облака обеспечивает быстрое и масштабируемое покрытие безопасности для всех репозиториев в Azure DevOps. Он быстро находит уязвимости в настройках кода и инфраструктуры как кода (IaC) без необходимости агентов или непрерывной интеграции и непрерывного развертывания (CI/CD). Этот подход упрощает настройку и обслуживание с помощью одного соединителя Azure DevOps и обеспечивает широкий охват, непрерывную аналитику и практические результаты безопасности. Она позволяет группам безопасности и разработки сосредоточиться на устранении рисков без прерывания рабочих процессов разработки.

Необходимые компоненты

  • Состояние выпуска: общедоступная предварительная версия

  • Поддерживаемые варианты использования:

  • Облака: коммерческие облака Azure

  • Поддерживаемые регионы: Восточная Австралия, Центральная Канада, Центральная Часть США, Восточная Азия, Восточная ЧАСТЬ США, Северная Европа, Центральная Швеция, Южная Великобритания, Западная Европа

  • Поддерживаемые среды: соединитель Azure DevOps

  • Роли и разрешения:

    Чтобы настроить и настроить соединитель, выполните следующие действия.

    • Администратор коллекции проектов: требуется в Azure DevOps для выполнения начальной настройки.
    • Участник подписки. Требуется для создания и настройки соединителя в подписке Azure.

    Чтобы просмотреть результаты безопасности:

    • Администратор безопасности. Может управлять параметрами безопасности, политиками и оповещениями, но не может изменять соединитель.
    • Средство чтения безопасности: может просматривать рекомендации, оповещения и политики, но не могут вносить изменения.

Ключевые преимущества

  • Упреждающее управление рисками: выявление рисков в начале процесса разработки. Это поддерживает безопасные методики написания кода и снижает уязвимости, прежде чем они достигают рабочей среды.
  • Бесполезное подключение: быстро настройте с минимальной конфигурацией и без изменений конвейера.
  • Централизованное управление предприятиями. Автоматическое сканирование кода в нескольких репозиториях с помощью одного соединителя. Это обеспечивает широкий охват для больших сред.
  • Быстрая аналитика для быстрого исправления: получение практических аналитических сведений об уязвимостях сразу после подключения. Это позволяет быстро исправить и сократить время воздействия.
  • Удобное и удобное для разработчика: независимо от конвейеров непрерывной интеграции и непрерывного развертывания (CI/CD) без изменений или прямого участия разработчика. Это позволяет непрерывно отслеживать безопасность без нарушения производительности или рабочих процессов разработчика.

Возможности обнаружения рисков

Сканирование без агента повышает безопасность, предлагая целевые рекомендации по безопасности для шаблонов code и Infrastructure-as-Code (IaC). Это помимо рекомендаций по безопасности FoundationAl Cloud Security Posture Management (CSPM), предоставляемых через соединитель. К возможностям обнаружения ключей относятся:

  • Уязвимости кода: поиск распространенных ошибок программирования, небезопасных методов программирования и известных уязвимостей на нескольких языках программирования.
  • Неправильно настроений инфраструктуры как кода: обнаружение неправильных конфигураций безопасности в шаблонах IaC, которые могут привести к небезопасным развертываниям.

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

Средства сканирования

Сканирование без агента использует различные средства с открытым исходным кодом для поиска уязвимостей и неправильной настройки в шаблонах кода и инфраструктуры как кода (IaC):

Инструмент Поддерживаемые IaC/Languages Виды
Бандит Python Apache 2.0
Checkov; Шаблоны Terraform IaC, файлы плана Terraform, шаблоны AWS CloudFormation, файлы манифестов Kubernetes, файлы диаграмм Helm, Dockerfiles, шаблоны IaC Azure Resource Manager (ARM), шаблоны Azure Bicep IaC, шаблоны AWS SAM (бессерверная модель приложений), Файлы Kustomize, бессерверные шаблоны платформы, файлы спецификаций OpenAPI Apache 2.0
ESLint JavaScript, TypeScript, JSX, TSX MIT
Анализатор шаблонов Шаблоны ARM IaC, шаблоны Bicep IaC MIT
Terrascan; Шаблоны Terraform IaC (HCL2), файлы манифестов Kubernetes (YAML/JSON), Dockerfiles, шаблоны AWS CloudFormation (YAML/JSON), шаблоны Azure ARM IaC, файлы диаграмм Helm (v3), Kustomize-файлы Apache 2.0

Эти средства поддерживают широкий спектр языков и платформ IaC, обеспечивая тщательный анализ безопасности в базе кода.

Поддерживаемые платформы и типы файлов

Системы управления версиями

  • Azure DevOps: полная поддержка репозиториев, подключенных через соединитель Azure DevOps.

Языки программирования

  • Python
  • JavaScript/TypeScript

Платформы и конфигурации инфраструктуры как кода (IaC)

Платформа IaC Поддерживаемые типы файлов Примечания
Terraform .tf, .tfvars Поддерживает шаблоны Terraform IaC на языке HCL2, включая файлы переменных в .tfvars.
План Terraform файлы JSON; Включает JSON-файлы, представляющие запланированные конфигурации, используемые для анализа и сканирования.
AWS CloudFormation JSON, YAML-файлы Поддерживает шаблоны AWS CloudFormation для определения ресурсов AWS.
Kubernetes YAML, JSON-файлы Поддерживает файлы манифеста Kubernetes для определения конфигураций в кластерах.
Helm Структура каталогов диаграмм Helm, файлы YAML Соответствует стандартной структуре диаграммы Helm; поддерживает файлы диаграмм Helm версии 3.
Docker Файлы с именем Dockerfile Поддерживает Dockerfiles для конфигураций контейнеров.
Шаблоны Azure ARM файлы JSON; Поддерживает шаблоны IaC Azure Resource Manager (ARM) в формате JSON.
Azure Bicep Файлы Bicep Поддерживает шаблоны Bicep IaC, язык, зависящий от домена (DSL) для ARM.
AWS SAM Файлы YAML Поддерживает шаблоны модели приложений AWS без сервера (SAM) для бессерверных ресурсов.
Kustomize Файлы YAML Поддерживает файлы конфигурации для настройки Kubernetes (Kustomize).
Serverless Framework Файлы YAML Поддерживает шаблоны для бессерверной платформы в определении бессерверных архитектур.
OpenAPI YAML, JSON-файлы Поддерживает файлы спецификаций OpenAPI для определения API RESTful.

Включение сканирования без агента в организациях Azure DevOps

Чтобы подключить организации Azure DevOps к Defender для облака и включить сканирование кода без агента, ознакомьтесь с инструкциями в статье "Подключение организаций Azure DevOps". В следующем визуальном элементе показан быстрый и простой процесс настройки, который позволяет выполнять каждый шаг для простого подключения.

Изображение GIF, показывающее процесс установки для включения сканирования без агента

Как работает сканирование без агента

Сканирование без агента работает независимо от конвейеров CI/CD. Он использует соединитель Azure DevOps для автоматического сканирования кода и конфигураций Инфраструктуры как кода (IaC). Вам не нужно изменять конвейеры или добавлять расширения. Эта настройка обеспечивает широкий и непрерывный анализ безопасности в нескольких репозиториях. Результаты обрабатываются и отображаются непосредственно в Microsoft Defender для облака.

Схема, на которой показана архитектура сканирования без агента.

Процесс сканирования

После включения функции сканирования без агента в соединителе процесс сканирования выполняет следующие действия.

  1. Обнаружение репозитория. Система автоматически идентифицирует все репозитории, связанные через соединитель Azure DevOps сразу после создания соединителя, а затем каждые 8 часов.
  2. Извлечение кода. Он безопасно извлекает последний код из ветви по умолчанию (main) каждого репозитория для анализа, сначала после установки соединителя, а затем каждые 3–4 дня.
  3. Анализ. Система использует набор встроенных средств сканирования, управляемых и обновленных в Microsoft Defender для облака для поиска уязвимостей и неправильной настройки в шаблонах кода и IaC.
  4. Обработка результатов. Она обрабатывает результаты с помощью серверной части Defender для облака для создания практических рекомендаций по безопасности.
  5. Результаты доставки: система отображает результаты в качестве рекомендаций по безопасности в Defender для облака, позволяя командам безопасности просматривать и устранять проблемы.

Частота и длительность сканирования

  • Частота сканирования:
    • Состояние безопасности репозиториев, конвейеров и подключений служб оценивается при создании соединителя, а затем каждые 8 часов.
    • Система сканирует шаблоны кода и инфраструктуры как кода (IaC) для уязвимостей после создания соединителя, а затем каждые 3–4 дня.
  • Длительность сканирования: сканирование обычно завершается в течение 15–60 минут в зависимости от размера и сложности репозитория.

Просмотр результатов сканирования и управление ими

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

Доступ к результатам

  1. Перейдите на вкладку "Рекомендации по безопасности" в Microsoft Defender для облака.

  2. Просмотрите список рекомендаций, которые включают такие результаты:

  3. Выберите любую рекомендацию для получения подробных сведений, включая затронутые файлы, уровни серьезности и рекомендации по исправлению.

Разница между сканированием без агента и сканированием в конвейере

Сканирование без агента и сканирование в конвейере с помощью расширения Microsoft Security DevOps обеспечивает проверку безопасности в Azure DevOps. Они служат разным потребностям, но хорошо работают вместе. В следующей таблице перечислены основные различия, которые помогут вам выбрать вариант, соответствующий вашим потребностям в области безопасности и разработки.

Аспект Сканирование без агента Сканирование в конвейере
Вариант использования подходит Предлагает широкий охват минимальным нарушением для разработчиков Предоставляет подробные встроенные конвейеры проверки с настраиваемыми элементами управления
Область сканирования и охват Фокусируется на сканировании уязвимостей инфраструктуры как кода (IaC) и сканировании уязвимостей кода, запланированных каждые 3–4 дня. Предоставляет широкий охват, включая двоичные файлы и образы контейнеров, активированные при каждом запуске конвейера.
Установка и настройка Требуется дополнительная настройка после создания соединителя Требуется ручная установка и настройка в каждом конвейере Azure DevOps
Интеграция конвейера Выполняется независимо от конвейеров (CI/CD) без изменения рабочих процессов Интегрируется в конвейер CI/CD, требуя конфигурации YAML в каждом конвейере
Настройка сканера Сканеры не могут быть настроены или выборочно запущены Разрешает настройку с помощью определенных сканеров, категорий, языков, уровней конфиденциальности и средств, отличных от Майкрософт
Результаты и отзывы Предоставляет доступ к результатам в Defender для облака Предлагает практически отзывы в режиме реального времени в конвейере CI/CD с результатами, которые также отображаются в Defender для облака
Условия прерывания и сбоя Не удается разорвать сборки Можно настроить для прерывания сборок на основе серьезности результатов безопасности.

Влияние масштабируемости и производительности

Сканирование без агента позволяет избежать создания ресурсов в подписке и не требует проверки во время процесса конвейера. Он использует REST API Azure DevOps для извлечения метаданных и кода. Это означает, что количество вызовов API в отношении ограничений скорости Azure DevOps, но вы не несете прямых затрат на передачу данных. Служба управляет сканированием, чтобы гарантировать, что они остаются в пределах ограничений скорости Azure DevOps без прерывания среды разработки. Этот метод обеспечивает эффективную высокопроизводительную проверку между репозиториями, не влияя на рабочие процессы DevOps. Дополнительные сведения см. в статье об ограничениях скорости и использования Azure DevOps.

Безопасность данных, соответствие требованиям и управление доступом для сканирования без агента

служба проверки кода без агента Microsoft Defender для облака обеспечивает безопасную и соответствующую обработку кода, реализуя строгие меры безопасности и конфиденциальности данных:

  • Шифрование данных и управление доступом: система шифрует все данные во время передачи с помощью стандартных отраслевых протоколов. Доступ к коду могут получить только авторизованные службы Defender для облака.
  • Расположение и хранение данных: сканирование выполняется в том же регионе, что и соединитель Azure DevOps (США или ЕС), чтобы соответствовать законам о защите данных. Система обрабатывает код только во время сканирования и безопасно удаляет его после этого без долгосрочного хранения.
  • Доступ к репозиториям: служба создает маркер безопасного доступа для Azure DevOps для выполнения сканирования. Этот маркер позволяет получить необходимые метаданные и код без создания ресурсов в подписке. У Defender для облака компонентов есть доступ, защита целостности данных.
  • Поддержка соответствия требованиям: служба соответствует нормативным стандартам и стандартам безопасности для обработки и конфиденциальности данных, обеспечивая безопасную обработку и сканирование кода клиента в соответствии с региональными требованиями к защите данных.

Эти меры обеспечивают безопасный, совместимый и эффективный процесс сканирования кода, сохраняя конфиденциальность и целостность данных.

Ограничения (общедоступная предварительная версия)

На этапе общедоступной предварительной версии применяются следующие ограничения:

  • Не выполняется двоичное сканирование: система сканирует только файлы кода и инфраструктуры как кода (IaC).

  • Частота сканирования: он сканирует репозитории каждые 3–4 дня.

  • Размер репозитория: он ограничивает сканирование репозиториев в пределах 1 ГБ.

  • Покрытие ветви: сканирование охватывает только ветвь по умолчанию (main).

  • Настройка средства. Не удается настроить средства сканирования.