Рекомендации по безопасности ресурсов DevOps

В этой статье перечислены рекомендации, которые могут отображаться в Microsoft Defender для облака при подключении среды Azure DevOps, GitHub или GitLab с помощью страницы параметров среды. Рекомендации, которые отображаются в вашей среде, основаны на ресурсах, которые вы защищаете, и на настраиваемой конфигурации.

Дополнительные сведения о действиях, которые можно предпринять в ответ на эти рекомендации, см. в разделе "Исправление рекомендаций" в Defender для облака.

Дополнительные сведения о преимуществах и функциях безопасности DevOps.

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

Рекомендации DevOps

Рекомендации По Azure DevOps

Репозитории Azure DevOps должны иметь включенную расширенную безопасность GitHub для Azure DevOps (GHAzDO)

Описание. Безопасность DevOps в Defender для облака использует центральную консоль для обеспечения возможностей команд безопасности с возможностью защиты приложений и ресурсов от кода в облаке в Azure DevOps. Благодаря включению репозиториев GitHub Advanced Security для Azure DevOps (GHAzDO) вы получаете результаты о секретах, зависимостях и уязвимостях кода в репозиториях Azure DevOps, обнаруженных в Microsoft Defender для облака.

Серьезность: высокий уровень

Репозитории Azure DevOps должны иметь разрешение на проверку секретов

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

Серьезность: высокий уровень

Репозитории Azure DevOps должны иметь разрешенные результаты сканирования кода

Описание: уязвимости были найдены в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости.

Серьезность: средний

Репозитории Azure DevOps должны иметь разрешенные результаты проверки уязвимостей зависимостей

Описание. Уязвимости зависимостей обнаружены в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости.

Серьезность: средний

Репозитории Azure DevOps должны иметь инфраструктуру в качестве разрешенных результатов сканирования кода

Описание. Проблемы с конфигурацией безопасности кода инфраструктуры обнаружены в репозиториях. Проблемы, показанные ниже, были обнаружены в файлах шаблонов. Чтобы повысить уровень безопасности связанных облачных ресурсов, настоятельно рекомендуется исправить эти уязвимости.

Серьезность: средний

Конвейеры сборки Azure DevOps не должны иметь секреты, доступные для сборки вилок

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

Серьезность: высокий уровень

Подключения к службе Azure DevOps не должны предоставлять доступ ко всем конвейерам

Описание. Подключения служб используются для создания подключений из Azure Pipelines к внешним и удаленным службам для выполнения задач в задании. Разрешения конвейера определяют, какие конвейеры разрешены для использования подключения к службе. Чтобы обеспечить безопасность операций конвейера, подключения к службам не должны предоставляться доступ ко всем конвейерам YAML. Это помогает поддерживать принцип наименьшей привилегии, так как уязвимость в компонентах, используемых одним конвейером, может использоваться злоумышленником для атаки на другие конвейеры с доступом к критически важным ресурсам.

Серьезность: высокий уровень

Защищенные файлы Azure DevOps не должны предоставлять доступ ко всем конвейерам

Описание. Безопасные файлы предоставляют разработчикам способ хранения файлов, которые можно совместно использовать в конвейерах. Эти файлы обычно используются для хранения секретов, таких как сертификаты подписи и ключи SSH. Если защищенный файл предоставляется доступ ко всем конвейерам YAML, несанкционированный пользователь может украсть информацию из защищенных файлов, создав конвейер YAML и доступ к защищенному файлу.

Серьезность: высокий уровень

Группы переменных Azure DevOps с секретными переменными не должны предоставлять доступ ко всем конвейерам

Описание. Группы переменных хранят значения и секреты, которые может потребоваться передать в конвейер YAML или сделать доступными для нескольких конвейеров. В одном проекте можно совместно использовать группы переменных и использовать их в нескольких конвейерах. Если группа переменных, содержащая секреты, помечена как доступная для всех конвейеров YAML, злоумышленник может использовать ресурсы, связанные с секретными переменными, создав новый конвейер.

Серьезность: высокий уровень

Подключения к службе Azure DevOps классической версии Azure не должны использоваться для доступа к подписке

Описание. Используйте тип подключений службы Azure Resource Manager (ARM) вместо подключений классической службы Azure для подключения к подпискам Azure. Модель ARM предлагает несколько улучшений безопасности, включая более строгий контроль доступа, улучшенный аудит, развертывание и управление на основе ARM, доступ к управляемым удостоверениям и хранилищу ключей для секретов, проверку подлинности на основе разрешений Записи, а также поддержку тегов и групп ресурсов для упрощенного управления.

Серьезность: средний

(предварительная версия) Репозитории Azure DevOps должны иметь разрешенные результаты тестирования безопасности API

Описание: уязвимости безопасности API обнаружены в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости.

Серьезность: средний

Рекомендации GitHub

Репозитории GitHub должны иметь включенную проверку секретов

Описание: GitHub сканирует репозитории известных типов секретов, чтобы предотвратить мошеннические использование секретов, которые были случайно зафиксированы в репозиториях. Сканирование секретов будет охватывать весь журнал на наличие секретов GIT во всех ветвях, присутствующих в репозитории GitHub. Примерами секретов являются маркеры и закрытые ключи, которые поставщик услуг может выдать для проверки подлинности. Если секрет зарегистрирован в репозитории, любой, у кого есть доступ на чтение в репозитории, сможет использовать этот секрет для доступа к внешней службе с теми привилегиями. Секреты должны храниться в выделенном безопасном расположении за пределами репозитория проекта.

Серьезность: высокий уровень

Репозитории GitHub должны иметь включенную проверку кода

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

Серьезность: средний

В репозиториях GitHub должно быть включено сканирование Dependabot

Описание: GitHub отправляет оповещения Dependabot при обнаружении уязвимостей в зависимостях кода, влияющих на репозитории. Уязвимость — это недостаток в коде проекта, который может привести к нарушению конфиденциальности, целостности или доступности проекта или других проектов, использующих его код. Уязвимости зависят от типа, серьезности и метода атаки. Если ваш код зависит от пакета, содержащего уязвимость в системе безопасности, эта уязвимая зависимость может вызвать ряд проблем.

Серьезность: средний

Репозитории GitHub должны иметь разрешение на проверку секретов

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

Серьезность: высокий уровень

Репозитории GitHub должны иметь разрешенные результаты сканирования кода

Описание. Уязвимости обнаружены в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости.

Серьезность: средний

Репозитории GitHub должны иметь разрешенные результаты проверки уязвимостей зависимостей

Описание: репозитории GitHub должны иметь разрешенные результаты проверки уязвимостей зависимостей.

Серьезность: средний

Репозитории GitHub должны иметь инфраструктуру в качестве разрешенных результатов сканирования кода

Описание. Проблемы с конфигурацией безопасности кода инфраструктуры обнаружены в репозиториях. Проблемы, показанные ниже, были обнаружены в файлах шаблонов. Чтобы повысить уровень безопасности связанных облачных ресурсов, настоятельно рекомендуется исправить эти уязвимости.

Серьезность: средний

Репозитории GitHub должны иметь политики защиты для ветвь по умолчанию включено

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

Серьезность: высокий уровень

Репозитории GitHub должны иметь принудительная отправка, чтобы ветвь по умолчанию отключены

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

Серьезность: средний

У организаций GitHub должна быть включена защита от принудительной проверки секретов

Описание: push-защита блокирует фиксации, содержащие секреты, таким образом, предотвращая случайное раскрытие секретов. Чтобы избежать риска раскрытия учетных данных, защита push-уведомлений должна быть включена автоматически для каждого репозитория с поддержкой проверки секретов.

Серьезность: высокий уровень

Репозитории GitHub не должны использовать локальные модули выполнения

Описание. Локальные runners на GitHub не гарантируют операции в временных чистых виртуальных машинах и могут быть постоянно скомпрометированы ненадежным кодом в рабочем процессе. Таким образом, для рабочих процессов действий не следует использовать локальные runners.

Серьезность: высокий уровень

Организации GitHub должны иметь разрешения рабочего процесса действий, заданные только для чтения

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

Серьезность: высокий уровень

Организации GitHub должны иметь несколько пользователей с разрешениями администратора

Описание. Наличие по крайней мере двух администраторов снижает риск потери доступа администратора. Это полезно в случае сценариев учетной записи с разрывом.

Серьезность: высокий уровень

Организации GitHub должны иметь базовые разрешения, не имеющие разрешений или чтения

Описание. Базовые разрешения должны иметь значение none или прочитать для организации, чтобы следовать принципу наименьших привилегий и предотвратить ненужный доступ.

Серьезность: высокий уровень

(предварительная версия) Репозитории GitHub должны иметь разрешенные результаты тестирования безопасности API

Описание: уязвимости безопасности API обнаружены в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости.

Серьезность: средний

Рекомендации GitLab

Проекты GitLab должны иметь разрешение на проверку секретов

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

Серьезность: высокий уровень

Проекты GitLab должны иметь разрешенные результаты сканирования кода

Описание. Уязвимости обнаружены в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости.

Серьезность: средний

У проектов GitLab должна быть устранена уязвимость проверки зависимостей.

Описание: репозитории GitHub должны иметь разрешенные результаты проверки уязвимостей зависимостей.

Серьезность: средний

Проекты GitLab должны иметь инфраструктуру в качестве средства сканирования кода, разрешенные результаты

Описание. Проблемы с конфигурацией безопасности кода инфраструктуры обнаружены в репозиториях. Проблемы, показанные ниже, были обнаружены в файлах шаблонов. Чтобы повысить уровень безопасности связанных облачных ресурсов, настоятельно рекомендуется исправить эти уязвимости.

Серьезность: средний

Нерекомендуемые рекомендации по безопасности DevOps

В репозиториях кода должны быть устранены результаты сканирования кода

Описание. Безопасность DevOps в Defender для облака обнаружила уязвимости в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости. (Связанная политика отсутствует)

Серьезность: средний

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

Описание. Безопасность DevOps в Defender для облака обнаружила секрет в репозиториях кода. Это необходимо исправить немедленно, чтобы предотвратить брешь в системе безопасности. Секреты, найденные в репозиториях, могут быть раскрыты или обнаружены злоумышленниками, что может привести к компрометации приложения или службы. Для Azure DevOps средство Microsoft Security DevOps CredScan проверяет только сборки, на которых был настроен запуск средства. Поэтому результаты могут не отражать полное состояние секретов в репозиториях. (Связанная политика отсутствует)

Серьезность: высокий уровень

В репозиториях кода должны быть устранены ошибки в результате сканирования Dependabot

Описание. Безопасность DevOps в Defender для облака обнаружила уязвимости в репозиториях кода. Чтобы повысить уровень безопасности репозиториев, настоятельно рекомендуется устранить эти уязвимости. (Связанная политика отсутствует)

Серьезность: средний

В репозиториях кода должны быть устранены результаты сканирования инфраструктуры как кода

Описание. Безопасность DevOps в Defender для облака обнаружила инфраструктуру в качестве проблем с конфигурацией безопасности кода в репозиториях. Проблемы, показанные ниже, были обнаружены в файлах шаблонов. Чтобы повысить уровень безопасности связанных облачных ресурсов, настоятельно рекомендуется исправить эти уязвимости. (Связанная политика отсутствует)

Серьезность: средний

Репозитории GitHub должны иметь включенную проверку кода

Описание: GitHub использует сканирование кода для анализа кода для поиска уязвимостей безопасности и ошибок в коде. Сканирование кода можно использовать для поиска, рассмотрения и определения приоритетов исправлений существующих проблем в коде. Сканирование кода также может защитить от внедрения новых проблем разработчиками. Сканирования могут планироваться на определенные дни и время или активироваться при возникновении определенного события в репозитории, например при отправке. Если при сканировании кода обнаружена потенциальная уязвимость или ошибка в коде, GitHub отображает оповещение в репозитории. Уязвимость — это проблема в коде проекта, которую можно использовать для нарушения конфиденциальности, целостности или доступности проекта. (Связанная политика отсутствует)

Серьезность: средний

Репозитории GitHub должны иметь включенную проверку секретов

Описание: GitHub сканирует репозитории известных типов секретов, чтобы предотвратить мошеннические использование секретов, которые были случайно зафиксированы в репозиториях. Сканирование секретов будет охватывать весь журнал на наличие секретов GIT во всех ветвях, присутствующих в репозитории GitHub. Примерами секретов являются маркеры и закрытые ключи, которые поставщик услуг может выдать для проверки подлинности. Если секрет зарегистрирован в репозитории, любой, у кого есть доступ на чтение в репозитории, сможет использовать этот секрет для доступа к внешней службе с теми привилегиями. Секреты должны храниться в выделенном безопасном расположении за пределами репозитория проекта. (Связанная политика отсутствует)

Серьезность: высокий уровень

В репозиториях GitHub должно быть включено сканирование Dependabot

Описание: GitHub отправляет оповещения Dependabot при обнаружении уязвимостей в зависимостях кода, влияющих на репозитории. Уязвимость — это недостаток в коде проекта, который может привести к нарушению конфиденциальности, целостности или доступности проекта или других проектов, использующих его код. Уязвимости зависят от типа, серьезности и метода атаки. Если ваш код зависит от пакета, содержащего уязвимость в системе безопасности, эта уязвимая зависимость может вызвать ряд проблем. (Связанная политика отсутствует)

Серьезность: средний