Сканирование без агента в 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". В следующем визуальном элементе показан быстрый и простой процесс настройки, который позволяет выполнять каждый шаг для простого подключения.
Как работает сканирование без агента
Сканирование без агента работает независимо от конвейеров CI/CD. Он использует соединитель Azure DevOps для автоматического сканирования кода и конфигураций Инфраструктуры как кода (IaC). Вам не нужно изменять конвейеры или добавлять расширения. Эта настройка обеспечивает широкий и непрерывный анализ безопасности в нескольких репозиториях. Результаты обрабатываются и отображаются непосредственно в Microsoft Defender для облака.
Процесс сканирования
После включения функции сканирования без агента в соединителе процесс сканирования выполняет следующие действия.
- Обнаружение репозитория. Система автоматически идентифицирует все репозитории, связанные через соединитель Azure DevOps сразу после создания соединителя, а затем каждые 8 часов.
- Извлечение кода. Он безопасно извлекает последний код из ветви по умолчанию (main) каждого репозитория для анализа, сначала после установки соединителя, а затем каждые 3–4 дня.
- Анализ. Система использует набор встроенных средств сканирования, управляемых и обновленных в Microsoft Defender для облака для поиска уязвимостей и неправильной настройки в шаблонах кода и IaC.
- Обработка результатов. Она обрабатывает результаты с помощью серверной части Defender для облака для создания практических рекомендаций по безопасности.
- Результаты доставки: система отображает результаты в качестве рекомендаций по безопасности в Defender для облака, позволяя командам безопасности просматривать и устранять проблемы.
Частота и длительность сканирования
- Частота сканирования:
- Состояние безопасности репозиториев, конвейеров и подключений служб оценивается при создании соединителя, а затем каждые 8 часов.
- Система сканирует шаблоны кода и инфраструктуры как кода (IaC) для уязвимостей после создания соединителя, а затем каждые 3–4 дня.
- Длительность сканирования: сканирование обычно завершается в течение 15–60 минут в зависимости от размера и сложности репозитория.
Просмотр результатов сканирования и управление ими
После завершения сканирования вы можете получить доступ к результатам безопасности в Microsoft Defender для облака.
Доступ к результатам
Перейдите на вкладку "Рекомендации по безопасности" в Microsoft Defender для облака.
Просмотрите список рекомендаций, которые включают такие результаты:
Репозитории Azure DevOps должны иметь разрешенные результаты сканирования кода. Указывает уязвимости, обнаруженные в репозиториях кода.
Репозитории Azure DevOps должны иметь инфраструктуру в качестве результатов сканирования кода. Указывает на ошибки безопасности, обнаруженные в файлах шаблонов IaC в репозиториях.
Другие рекомендации по безопасности, созданные соединителем Azure DevOps, могут включать:
- Репозитории Azure DevOps должны иметь включенную расширенную безопасность GitHub для Azure DevOps (GHAzDO)
- Azure Pipelines не должен иметь секреты, доступные для сборок вилок
- Подключения к службе Azure DevOps не должны предоставлять доступ ко всем конвейерам
- Группы переменных Azure DevOps с секретными переменными не должны предоставлять доступ ко всем конвейерам
- Подключения к службе Azure DevOps классической версии Azure не должны использоваться для доступа к подписке
- (предварительная версия) Репозитории Azure DevOps должны требовать минимального утверждения двух рецензентов для отправки кода.
- (предварительная версия) Репозитории Azure DevOps не должны разрешать запрашивателям утверждать собственные запросы на вытягивание
- (предварительная версия) В Azure DevOps Projects должно быть отключено создание классических конвейеров
- Защищенные файлы Azure DevOps не должны предоставлять доступ ко всем конвейерам
Выберите любую рекомендацию для получения подробных сведений, включая затронутые файлы, уровни серьезности и рекомендации по исправлению.
Разница между сканированием без агента и сканированием в конвейере
Сканирование без агента и сканирование в конвейере с помощью расширения 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).
Настройка средства. Не удается настроить средства сканирования.