Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сканирование без агента в Microsoft Defender для Облака обеспечивает быстрое и масштабируемое покрытие безопасности для всех репозиториев в Azure DevOps и GitHub. Сканирование без агента автоматически сканирует код, зависимости с открытым исходным кодом и инфраструктуру как код (IaC) для выявления уязвимостей и неправильной настройки без каких-либо изменений в конвейерах сборки или развертывания. Этот подход упрощает настройку и обслуживание с помощью одного соединителя Azure DevOps или GitHub и обеспечивает широкий охват, непрерывную аналитику и практические результаты безопасности. Она позволяет группам безопасности и разработки сосредоточиться на устранении рисков без прерывания рабочих процессов разработки.
Вы можете настроить сканеры для запуска и точно определить, какие организации, проекты или репозитории следует включить или исключить из сканирования.
Необходимые компоненты
Поддерживаемые варианты использования:
Рекомендации по безопасности для определения приоритетов и устранения уязвимостей кода
Cloud Security Explorer осуществляет запрос для поиска репозиториев с зависимостями, вытекающими из SBOM.
Поддерживаемые регионы: Восточная Австралия, Центральная Канада, Центральная Часть США, Восточная Азия, Восточная ЧАСТЬ США, Северная Европа, Центральная Швеция, Южная Великобритания, Западная Европа.
Поддерживаемые среды: соединитель Azure DevOps и соединитель GitHub.
Роли и разрешения:
Чтобы настроить и настроить соединитель, выполните следующие действия.
- Администратор коллекции проектов: требуется в Azure DevOps для выполнения начальной настройки.
- Участник подписки. Требуется для создания и настройки соединителя в подписке Azure.
Чтобы просмотреть результаты безопасности:
- Администратор безопасности. Может управлять параметрами безопасности, политиками и оповещениями, но не может изменять соединитель.
- Средство чтения безопасности: может просматривать рекомендации, оповещения и политики, но не могут вносить изменения.
Ключевые преимущества
Ниже приведены некоторые основные преимущества сканирования без агента в Microsoft Defender для Облака:
- Упреждающее управление рисками: выявление рисков в начале процесса разработки. Это обеспечивает безопасные методики написания кода и снижает уязвимости, прежде чем они достигают рабочей среды.
- Легкое внедрение: Быстрая настройка с минимальной конфигурацией и без необходимости в изменении конвейера.
- Централизованное управление предприятиями. Автоматическое сканирование кода в нескольких репозиториях с помощью одного соединителя. Это обеспечивает широкий охват для больших сред.
- Быстрая аналитика для быстрого исправления: получение практических аналитических сведений об уязвимостях сразу после подключения. Это позволяет быстро вносить исправления и сокращать время нахождения под воздействием.
- Удобный для разработчика и бесшовно интегрированный: функционирует независимо от конвейеров непрерывной интеграции и развертывания (CI/CD) без необходимости внесения изменений или прямого участия разработчиков. Это позволяет непрерывно отслеживать безопасность без нарушения производительности или рабочих процессов разработчика.
- Гибкое покрытие и управление: Выберите, какие сканеры запускаются и что сканируется. Вы можете охватывать все по умолчанию или настраивать параметры для включения или исключения определенных организаций, проектов или репозиториев. Это позволяет сопоставить покрытие безопасности с вашим профилем риска и операционными потребностями без дополнительной сложности.
- Создание программного счета за материалы (SBOM): автоматическое создание SBOM на каждом сканировании дает командам точный, запрашиваемый список зависимостей и версий в их репозиториях без дополнительных изменений рабочего процесса. Это позволяет быстро анализировать влияние, быстрее реагировать на недавно обнаруженные уязвимости и уверенно принимать решения при оценке воздействия на определенные пакеты или версии.
Возможности обнаружения рисков
Сканирование без агента повышает безопасность путем предоставления целевых, практических рекомендаций по коду приложения, шаблонам инфраструктуры как кода (IaC) и сторонним зависимостям. Это дополнительно к рекомендациям по управлению состоянием безопасности облака, предоставляемых через коннектор. К возможностям обнаружения ключей относятся следующие возможности:
- Уязвимости кода: поиск распространенных ошибок программирования, небезопасных методов программирования и известных уязвимостей на нескольких языках программирования.
- Неправильно настроений инфраструктуры как кода: обнаружение неправильных конфигураций безопасности в шаблонах IaC, которые могут привести к небезопасным развертываниям.
- Уязвимости зависимостей: выявление известных уязвимостей в пакетах с открытым кодом и пакетах ОС, обнаруженных в репозиториях.
- Список материалов программного обеспечения (SBOM): автоматически создает исчерпывающий перечень запрашиваемых зависимостей и их версий для каждого репозитория.
Создание соединителя повышает безопасность, предоставляя базовые рекомендации по управлению безопасностью облака для репозиториев, конвейеров и подключений к службам.
Средства сканирования
Сканирование без агента использует различные средства с открытым исходным кодом для поиска уязвимостей и неправильной настройки в шаблонах кода и инфраструктуры как кода (IaC):
| Инструмент | Поддерживаемые IaC/Languages | Виды |
|---|---|---|
| Анализатор шаблонов | Шаблоны ARM IaC, шаблоны Bicep IaC | MIT |
| Checkov; | Шаблоны Terraform IaC, файлы плана Terraform, шаблоны AWS CloudFormation, файлы манифестов Kubernetes, файлы диаграмм Helm, Dockerfiles, шаблоны IaC Azure Resource Manager (ARM), шаблоны Azure Bicep IaC, шаблоны AWS SAM (бессерверная модель приложений), Файлы Kustomize, бессерверные шаблоны платформы, файлы спецификаций OpenAPI | Apache 2.0 |
| Бандит | Питон | Apache 2.0 |
| ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
| Триви | Проверка уязвимостей в пакетах зависимостей и пакетах ОС из файлов манифеста и файлов блокировки (режим сканирования файловой системы) | Apache 2.0 |
| Syft | Alpine (apk), Bitnami packages, C (conan), C++ (conan), Dart (pubs), Debian (dpkg), Dotnet (deps.json), Objective-C (cocoapods), Elixir (mix), Erlang (rebar3), Go (go.mod, бинарные файлы Go), GitHub (workflows, actions), Haskell (cabel, stack), Java (jar, ear, war, par, sar, nar, rar, native-image), JavaScript (npm, yarn), Jenkins Plugins (jpi, hpi), архивы ядра Linux (vmlinz), модули ядра Linux (ko), Nix (артефакты в /nix/store), PHP (composer, PECL, Pear), Python (колесо, яйцо, поэзия, requirements.txt, uv), Red Hat (rpm), Ruby (gem), Rust (cargo.lock, auditable binary), Swift (cocoapods, swift-package-manager), Подключаемые модули Wordpress (.terraform.lock.hcl) | Apache 2.0 |
Эти средства поддерживают широкий спектр языков и платформ инфраструктуры как кода (IaC), обеспечивая тщательный анализ безопасности в базе кода.
Поддерживаемые системы и типы файлов
Системы управления версиями
Azure DevOps: полная поддержка репозиториев, подключенных через соединитель Azure DevOps.
GitHub: полная поддержка репозиториев, подключенных через соединитель GitHub.
Языки программирования
Анализ статического кода: Python; JavaScript/TypeScript.
Экосистемы зависимостей (через Trivy): Node.js (npm, yarn), Python (pip, Pipenv, Poetry), Java (Maven, Gradle), .NET (NuGet), Go modules, Ruby (RubyGems), PHP (Composer), Rust (Cargo) и другие поддерживаемые языки и экосистемы пакетов с использованием манифестов и lockfiles.
Платформы и конфигурации инфраструктуры как кода (IaC)
| Платформа IaC | Поддерживаемые типы файлов | Примечания |
|---|---|---|
| Terraform |
.tf, .tfvars |
Поддерживает шаблоны Terraform IaC на языке HCL2, включая файлы переменных в .tfvars. |
| План Terraform | файлы JSON; | Включает JSON-файлы, представляющие запланированные конфигурации, используемые для анализа и сканирования. |
| AWS CloudFormation | JSON, YAML-файлы | Поддерживает шаблоны AWS CloudFormation для определения ресурсов AWS. |
| Kubernetes | YAML, JSON-файлы | Поддерживает файлы манифеста Kubernetes для определения конфигураций в кластерах. |
| Штурвал | Структура каталогов диаграмм Helm, файлы YAML | Соответствует стандартной структуре диаграммы Helm; поддерживает файлы диаграмм Helm версии 3. |
| Докер | Файлы с именем 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). |
| Бессерверная платформа | Файлы YAML | Поддерживает шаблоны для бессерверной платформы в определении бессерверных архитектур. |
| OpenAPI | YAML, JSON-файлы | Поддерживает файлы спецификаций OpenAPI для определения API RESTful. |
Включите сканирование без агента в организациях Azure DevOps и GitHub
Вы можете подключить как организации Azure DevOps, так и GitHub к Defender for Cloud, чтобы включить сканирование без агента. Чтобы приступить к работе, выполните действия, описанные в разделе "Подключение организаций Azure DevOps" или "Подключение организаций GitHub ".
Настройка охвата и области сканера
Для GitHub и Azure DevOps можно управлять запуском сканеров и точно указывать, какие репозитории включены или исключены из проверки без агента.
Выберите сканеры: Включите или отключите каждый сканер кода и инфраструктуры как кода (IaC) в зависимости от ваших потребностей.
Задайте область сканирования: Определите, нужно ли сканировать все репозитории по умолчанию или определить настраиваемую область для включения или исключения определенных организаций, проектов или репозиториев.
- Режим исключения: Сканируйте все, кроме того, что вы перечисляете.
- Режим включения: Сканируйте только указанные вами элементы списка.
Параметры настраиваемой области:
- Для GitHub задайте область по владельцу или репозиторию.
- Для Azure DevOps задайте область по организации, проекту или репозиторию.
Автоматическое обнаружение новых репозиториев: Автоматическое обнаружение новых репозиториев всегда ограничено организациями или проектами, включенными в область соединителя. Он включен по умолчанию при использовании режима исключения и не задан список настраиваемых областей. Вновь созданные репозитории сканируются автоматически.
Функция автообнаружения недоступна в режиме включения, так как сканируются только перечисленные репозитории.
Это позволяет сопоставлять сканирование с вашими потребностями безопасности, поддерживать актуальность покрытия по мере роста среды и избегать ненужных проверок или незасканированных областей.
Как работает сканирование без агента
Сканирование без агента работает независимо от конвейеров CI/CD. Он использует соединитель Azure DevOps или GitHub для автоматического сканирования кода и конфигураций инфраструктуры как кода (IaC). Вам не нужно изменять конвейеры или добавлять расширения. Эта настройка обеспечивает широкий и непрерывный анализ безопасности в нескольких репозиториях. Результаты обрабатываются и отображаются непосредственно в Microsoft Defender для облака.
Процесс сканирования
После включения функции сканирования без агента в соединителе процесс сканирования включает следующие действия:
Обнаружение репозитория. Система автоматически идентифицирует все репозитории, связанные с помощью соединителя Azure DevOps и GitHub сразу после создания соединителя, а затем каждые 8 часов.
Извлечение кода: он безопасно извлекает последний код из ветви по умолчанию (main) каждого репозитория для анализа, первоначально после установки соединителя, а затем ежедневно.
Анализ. Система использует набор встроенных средств сканирования, управляемых и обновленных в Microsoft Defender для облака, для поиска уязвимостей и неправильной настройки в шаблонах кода и инфраструктуры как кода (IaC). Он также создает SBOM, чтобы разрешить управление запрашиваемыми пакетами.
Обработка результатов. Она обрабатывает результаты с помощью серверной части Defender для облака для создания практических рекомендаций по безопасности.
Результаты доставки: система отображает результаты в качестве рекомендаций по безопасности в Defender для облака, позволяя командам безопасности просматривать и устранять проблемы.
Частота и длительность сканирования
Частота сканирования:
- Состояние безопасности репозиториев, конвейеров и подключений служб оценивается при создании соединителя, а затем каждые восемь часов.
- Система сканирует код и шаблоны инфраструктуры как код (IaC) на наличие уязвимостей после создания подключения, а затем ежедневно.
Длительность сканирования: сканирование обычно завершается в течение 15–60 минут в зависимости от размера и сложности репозитория.
Просмотр результатов сканирования и управление ими
После завершения сканирования вы можете получить доступ к результатам безопасности в Microsoft Defender для облака.
Доступ к результатам
Перейдите на вкладку "Рекомендации по безопасности" в Microsoft Defender для облака.
Ознакомьтесь с рекомендациями по репозиториям Azure DevOps и GitHub, например:
Репозитории должны иметь разрешенные результаты сканирования кода . Указывает уязвимости, обнаруженные в репозиториях кода.
Репозитории должны иметь инфраструктуру как код с устраненными результатами сканирования - Обнаруживает ошибки безопасности в неправильно настроенных шаблонах IaC.
Репозиториям необходимо устранять уязвимости, выявленные при сканировании зависимостей. Указывает на обнаружение уязвимых пакетов с открытым исходным кодом в репозиториях.
Полный спектр рекомендаций, поддерживаемых для обеих платформ, см. в следующих рекомендациях по безопасности Azure DevOps и GitHub.
Рекомендации включают такие элементы, как требование утверждения нескольких рецензентов, ограничение доступа к секретам и применение рекомендаций для сред Azure DevOps и GitHub.
Выберите любую рекомендацию, чтобы просмотреть сведения о затронутых файлах, серьезности и действиях по исправлению.
Разница между сканированием без агента и сканированием в конвейере
Сканирование без агента и сканирование в конвейере с помощью расширения Microsoft Security DevOps обеспечивает проверку безопасности в Azure DevOps и GitHub. Они служат разным потребностям, но дополняют друг друга. В следующей таблице описаны основные различия, которые помогут вам выбрать вариант, который лучше всего подходит для ваших потребностей в безопасности и разработке.
| Аспект | Сканирование без агента | Сканирование в конвейере |
|---|---|---|
| Вариант использования подходит | Предлагает широкий охват минимальным нарушением для разработчиков | Предоставляет подробные встроенные конвейеры проверки с настраиваемыми элементами управления |
| Область сканирования и охват | Основное внимание уделяется уязвимостям инфраструктуры как кода (IaC), уязвимостям кода и уязвимостям зависимостей с открытым кодом на запланированной основе (ежедневно) | Предоставляет широкий охват, включая двоичные файлы и образы контейнеров, активированные при каждом запуске конвейера. |
| Установка и настройка | Требуется дополнительная настройка после создания соединителя | Требуется ручная установка и настройка в каждом конвейере CI/CD |
| Интеграция конвейера | Выполняется независимо от конвейеров (CI/CD) без изменения рабочих процессов | Интегрируется в конвейер CI/CD, требуя конфигурации в каждом конвейере |
| Настройка сканера | Позволяет выбрать, какие сканеры запускаются | Разрешает настройку с помощью определенных сканеров, категорий, языков, уровней конфиденциальности и средств, отличных от Майкрософт |
| Результаты и отзывы | Предоставляет доступ к результатам в Defender для облака | Предлагает практически отзывы в режиме реального времени в конвейере CI/CD с результатами, которые также отображаются в Defender для облака |
| Условия прерывания и сбоя | Не удается разорвать сборки | Можно настроить для прерывания сборок на основе серьезности результатов безопасности. |
Влияние масштабируемости и производительности
Сканирование без агента позволяет избежать создания ресурсов в подписке и не требует проверки во время процесса конвейера. Он использует REST API Azure DevOps и GitHub для извлечения метаданных и кода. Это означает, что количество вызовов API засчитывается в пределы скорости Azure DevOps и GitHub, но это не влечет за собой прямых затрат на передачу данных. Служба управляет сканированием, чтобы гарантировать, что они остаются в рамках ограничений частоты запросов Azure DevOps и GitHub, не нарушая работу среды разработки. Этот метод обеспечивает эффективную высокопроизводительную проверку между репозиториями, не влияя на рабочие процессы DevOps. Дополнительные сведения см. в статье об ограничениях скорости и использовании Azure DevOps иограничениях скорости для REST API GitHub.
Безопасность данных, соответствие требованиям и управление доступом для сканирования без агента
служба проверки кода без агента Microsoft Defender для облака обеспечивает безопасную и соответствующую обработку кода, реализуя строгие меры безопасности и конфиденциальности данных:
- Шифрование данных и управление доступом: система шифрует все данные во время передачи с помощью стандартных отраслевых протоколов. Доступ к коду могут получить только авторизованные службы Defender для облака.
- Расположение и хранение данных: сканирование выполняется в том же географическом регионе, что и соединители Azure DevOps и GitHub (США или ЕС), чтобы соответствовать законам о защите данных. Система обрабатывает код только во время сканирования и безопасно удаляет его после этого без долгосрочного хранения.
- Доступ к репозиториям: служба создает маркер безопасного доступа для Azure DevOps и GitHub для выполнения сканирования. Этот маркер позволяет получить необходимые метаданные и код без создания ресурсов в подписке. У Defender для облака компонентов есть доступ, защита целостности данных.
- Поддержка соответствия требованиям: служба соответствует нормативным стандартам и стандартам безопасности для обработки и конфиденциальности данных, обеспечивая безопасную обработку и сканирование кода клиента в соответствии с региональными требованиями к защите данных.
Эти меры обеспечивают безопасный, совместимый и эффективный процесс сканирования кода, сохраняя конфиденциальность и целостность данных.
Ограничения (общедоступная предварительная версия)
На этапе общедоступной предварительной версии применяются следующие ограничения:
- Нет двоичного сканирования: выполняются только средства проверки кода (SAST) и IaC.
- Частота сканирования: он сканирует репозитории при включении, а затем ежедневно.
- Размер репозитория: он ограничивает сканирование репозиториев в пределах 1 ГБ.
-
Покрытие ветви: сканирование охватывает только ветвь по умолчанию (обычно
main). - Настройка средства. Не удается настроить средства сканирования.
В настоящее время Syft (SBOM) имеет следующие ограничения:
Не удается скачать SBOMs, результаты Syft можно использовать для запроса определенных пакетов и репозиториев, которые используют их.
Для репозитория требуется файл блокировки, в противном случае будут найдены только прямые зависимости.
Ограничение размера SBOM ограничено 1 МБ. Если идентифицировано множество пакетов, загрузка в Cloud Map завершится ошибкой.
Настройка или загрузка возможности использования SBOM невозможна. SBOM будет создан при каждом сканировании без агента.
Время ожидания — 15 минут для запуска средства SBOM.
Отключение функции Agentless не удаляет рекомендации SBOM.