Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
При обработке информации и данных, особенно в облачном решении, например Azure DevOps Services, безопасность должна быть вашим главным приоритетом. Хотя корпорация Майкрософт обеспечивает безопасность базовой облачной инфраструктуры, вы несете ответственность за настройку безопасности в Azure DevOps. В этой статье представлен обзор необходимых конфигураций, связанных с безопасностью, для защиты среды Azure DevOps от угроз и уязвимостей.
Защита сети и данных
Защита сети важна при работе с Azure DevOps для защиты данных и ресурсов от несанкционированного доступа и потенциальных угроз. Реализуйте меры безопасности сети и защиты данных, чтобы обеспечить доступ к среде Azure DevOps только доверенным источникам. Чтобы защитить сеть при работе с Azure DevOps, выполните следующие действия:
- Настройка списка разрешений IP- адресов: ограничение доступа к определенным IP-адресам, чтобы разрешить трафик только из доверенных источников, уменьшая область атаки. Если ваша организация защищена брандмауэром или прокси-сервером, добавьте IP-адреса и URL-адреса в список разрешений.
- Используйте шифрование данных: Защита данных с помощью стратегий шифрования, резервного копирования и восстановления. Всегда шифруйте данные при передаче и хранении. Безопасные каналы связи с помощью протоколов, таких как HTTPS. Дополнительные сведения о шифровании Azure.
- Проверка сертификатов: Убедитесь, что сертификаты действительны и выданы доверенными центрами при установке подключений.
- Реализация брандмауэров веб-приложений (WAFs) Фильтрация, мониторинг и блокировка вредоносного веб-трафика с помощью WAFs для дополнительного уровня защиты от распространенных атак.
- Общие сведения о группах безопасности сети (NSG): Используйте группы безопасности сети для контроля входящего и исходящего трафика в ресурсы Azure, гарантируя, что разрешен только авторизованный трафик.
- Использование брандмауэра Azure: Разверните брандмауэр Azure для предоставления централизованной политики безопасности сети в нескольких подписках и виртуальных сетях Azure.
- Мониторинг сетевого трафика с помощью наблюдателя за сетями Azure: Используйте наблюдатель за сетями Azure для мониторинга и диагностики сетевых проблем, обеспечения безопасности и производительности сети.
- Реализуйте защиту от атак DDoS с помощью защиты от атак DDoS Azure: Включите Защиту от атак DDoS Azure для защиты приложений от распределенных атак типа "отказ в обслуживании" (DDoS).
Дополнительные сведения см. в рекомендациях по управлению приложениями.
Реализация нулевого доверия
Применяйте принципы нулевого доверия в процессах DevOps, чтобы убедиться, что каждый запрос доступа тщательно проверен независимо от его происхождения. Нулевое доверие работает с принципом "никогда не доверяй, всегда проверяй", что означает, что ни один объект, будь то внутри или вне сети, по умолчанию не доверяется. Реализуя нулевое доверие, вы можете значительно снизить риск нарушений безопасности и обеспечить доступ только авторизованных пользователей и устройств.
- Укрепление платформы DevOps
- Защита среды разработки
- Интегрируйте Нулевое доверие без труда в рабочие процессы разработчиков
Нулевая модель доверия помогает защитить от поперечного перемещения в сети, гарантируя, что даже если какая-то часть сети скомпрометирована, угроза локализуется и не может распространяться дальше. Дополнительные сведения см. в руководстве по оценке Zero Trust.
Соответствие отраслевым стандартам
Убедитесь, что среда Azure DevOps соответствует отраслевым стандартам и нормативным требованиям, которые защищают вашу среду и поддерживают доверие пользователям.
- обеспечить соответствие отраслевым стандартам: Azure DevOps соответствует различным отраслевым стандартам и нормативным требованиям, таким как ISO/IEC 27001, SOC 1/2/3 и GDPR. Убедитесь, что среда соответствует этим стандартам.
- Обеспечьте соблюдение политик: Реализуйте политики для веток и политики соответствия для ваших конвейеров.
-
Подключиться к системе управления компонентами для CI/CD, которое обеспечивает следующие преимущества:
- Обнаружение уязвимостей системы безопасности: оповещения об известных уязвимостях в компонентах с открытым кодом.
- Соответствие лицензий. Гарантирует, что компоненты соответствуют политикам лицензирования вашей организации.
- Применение политик: гарантирует использование только утвержденных версий.
- Видимость с отслеживанием. Обеспечивает видимость компонентов в разных репозиториях для упрощения управления.
Управление доступом и ограничение доступа
Просмотрите все политики безопасности, доступные администраторам, чтобы ограничить и контролировать доступ к организации. Управляйте организацией, предотвращая создание ненужных проектов.
- Отключите параметр "Разрешить общедоступные проекты": отключите параметр для создания общедоступных проектов. При необходимости переключите видимость проекта с общедоступной на частную. Пользователи, которые никогда не вошли в систему, имеют доступ только для чтения к общедоступным проектам, в то время как пользователи, вошедшие в систему, могут быть предоставлены доступ к частным проектам и вносить разрешенные изменения.
- Ограничить ненужные механизмы проверки подлинности и ограничить доступ к разрешенной проверке подлинности.
-
Ограничение доступа с помощью политик условного доступа: защита организации путем определения политик условного доступа (ЦС) в Microsoft Entra, которые реагируют на события входа и запрашивают другие действия перед предоставлением пользователю доступа.
- Включите политику организации, чтобы активировать проверку IP CAP в неинтерактивных процессах.
- Добавьте дополнительный уровень безопасности, включив многофакторную проверку подлинности Microsoft Entra после входа.
Управление внешними гостями
Внешний гостевой доступ может привести к потенциальным рискам безопасности, если он не управляется должным образом. Сведите к минимуму эти риски и убедитесь, что внешние гости имеют соответствующий уровень доступа без ущерба для безопасности вашей среды.
-
Блокировать внешний гостевой доступ: Отключить "Разрешить отправку приглашений в любой домен" политики, чтобы предотвратить внешний гостевой доступ, если для него нет бизнес-необходимости.
- Отключите политику организации внешнего гостевого доступа в Azure DevOps.
- Использовать отдельные адреса электронной почты или учетные имена пользователей: Использовать разные адреса электронной почты или учетные имена пользователей для личных и бизнес-учетных записей, чтобы устранить неоднозначность между личными и рабочими учетными записями.
- Сгруппировать внешних гостевых пользователей: объединить всех внешних гостевых пользователей в одну группу Microsoft Entra и управлять разрешениями этой группы надлежащим образом. Удалите прямые назначения, чтобы обеспечить применение правил группы к этим пользователям.
- Регулярный пересмотр правил: Регулярно пересматривайте правила на вкладке "Правила группы" на странице "Пользователи". Рассмотрите любые изменения членства в группах в идентификаторе Microsoft Entra, которые могут повлиять на вашу организацию. Обновление динамического членства в группах в Microsoft Entra ID может занять до 24 часов, и правила автоматически переоцениваются каждые 24 часа и каждый раз при изменении правила группы.
Дополнительные сведения см. в разделе B2B-гостей в Microsoft Entra ID.
Удаление ненужных пользователей
Удаление неактивных или неавторизованных пользователей из организации помогает поддерживать безопасную среду и снижает риск потенциальных нарушений безопасности.
- Непосредственно удалите неактивных пользователей учетной записи Майкрософт (MSAs): Непосредственно удалите неактивных пользователей из вашей организации, если они используют MSAs. Невозможно создавать запросы для рабочих элементов, назначенных удаленным учетным записям MSA.
- Отключить или удалить учетные записи пользователей Microsoft Entra: Если подключено к идентификатору Microsoft Entra, отключите или удалите учетную запись пользователя Microsoft Entra, сохраняя учетную запись пользователя Azure DevOps активной. Вы можете продолжать запрашивать журнал рабочих элементов с помощью идентификатора пользователя Azure DevOps.
- Отмена пользовательских PATS для администраторов: Обеспечьте безопасное управление этими критически важными маркерами проверки подлинности, регулярно просматривая и отменяя любые существующие пользовательские PAT.
- отозвать специальные разрешения, предоставленные отдельным пользователям: аудировать и отзывать все специальные разрешения, предоставленные отдельным пользователям, чтобы обеспечить соответствие принципу наименьших привилегий.
- переназначение работы удаленных пользователей: перед удалением пользователей переназначьте рабочие элементы текущим участникам группы, чтобы эффективно распределять нагрузку.
Разрешения области действия
Предоставьте минимальные необходимые разрешения и уровнях доступа, чтобы обеспечить доступ только авторизованных лиц и служб к конфиденциальной информации и выполнение критически важных действий. Эта практика помогает свести к минимуму риск несанкционированного доступа и потенциальных нарушений данных.
Регулярно просматривайте и обновляйте эти параметры, чтобы адаптироваться к изменениям в организации, таким как изменения ролей, новые сотрудники или отъезды. Реализация периодического аудита разрешений и уровней доступа может помочь определить и исправить несоответствия, гарантируя, что состояние безопасности остается надежным и согласовано с рекомендациями.
Дополнительные сведения о разрешениях:
Чтобы обеспечить безопасное и эффективное управление разрешениями, правильно определяйте их область в среде Azure DevOps. Определение разрешений включает в себя определение и назначение подходящего уровня доступа пользователям и группам на базе их ролей и обязанностей. Эта практика помогает свести к минимуму риск несанкционированного доступа и потенциальных нарушений данных, гарантируя, что только авторизованные лица имеют доступ к конфиденциальной информации и критически важным действиям.
Для эффективного применения разрешений выполните следующие действия.
- Отключить наследование: Избегайте наследования разрешений и предотвращайте непреднамеренный доступ. Наследование может непреднамеренно предоставить пользователям разрешения, которые они не должны иметь, из-за своей природы, разрешающей всё по умолчанию. Тщательно управляйте и явным образом устанавливайте разрешения, чтобы обеспечить доступ только предполагаемым пользователям.
- среды сегмента : использовать отдельные учетные записи Azure для различных сред, таких как разработка, тестирование и производство, для повышения безопасности и предотвращения конфликтов. Этот подход сводит к минимуму риск конфликтов ресурсов и загрязнения данных между средами и обеспечивает более эффективное управление ресурсами и изоляцию ресурсов. Для получения дополнительной информации см. Azure Landing Zone.
- Управление доступом и обеспечение соответствия требованиям: Используйте политику Azure , чтобы ограничить доступ к неиспользуемых регионам и службам Azure, обеспечивая соответствие стандартам организации. Это действие помогает применять рекомендации и поддерживать безопасную среду, предотвращая несанкционированный доступ и использование.
- Реализуйте управление на основе ролей Azure (ABAC): Используйте ABAC с соответствующими тегами ресурсов, чтобы ограничить несанкционированный доступ. Это действие гарантирует, что разрешения доступа предоставляются на основе определенных атрибутов, повышая безопасность путем предотвращения несанкционированного создания и доступа к ресурсам.
-
Используйте группы безопасности: Используйте группы безопасности для эффективного управления разрешениями для нескольких пользователей. Этот метод упрощает предоставление и отзыв доступа по сравнению с назначением разрешений по отдельности и обеспечивает согласованность и упрощение управления в организации.
- Используйте идентификатор Microsoft Entra, Active Directory или группы безопасности Windows при управлении большим количеством пользователей.
- Уменьшите риск утечки конфиденциальной информации и развертывания небезопасного кода путем ограничения доступа к проектам и репозиториям встроенным или пользовательским группам безопасности.
- Используйте встроенные роли и назначайте разработчикам роль "Участник" по умолчанию. Администраторы назначаются в группу безопасности администратора проекта для получения повышенных разрешений, что позволяет им настраивать параметры безопасности.
- Старайтесь делать группы как можно меньше, ограничивая доступ.
- Реализуйте JIT-доступ с помощью группы управления привилегированной идентичностью (PIM) Microsoft Entra. Предоставьте повышенные разрешения только при необходимости, уменьшая риск, связанный с постоянным доступом.
Откажитесь от учетных записей сервисов
Исторически учетные записи служб использовались с личными маркерами доступа (PATS) для создания средств, выполняющих автоматизированные процессы и службы. В результате у них часто есть повышенные полномочия. Прежде чем решить продолжить работу с учетной записью службы, изучите, является ли это все еще подходящим способом аутентификации для вас.
- Замените PAT на токены Microsoft Entra:токены Microsoft Entra являются краткосрочными (срок действия один час), которые можно использовать вместо большинства PAT. PATs популярны из-за их простоты использования, но они также являются популярным вектором атаки из-за легкости, с которой они могут быть скомпрометированы.
- Ознакомьтесь со всеми доступными механизмами проверки подлинности перед выбором.
-
Используйте субъекты-службы вместо:субъекты-службы представляют удостоверение приложения Microsoft Entra и имеют свои собственные разрешения, определяющие, что приложение может делать в данном клиенте. Субъекты-службы — это рекомендуемый выбор для управления разрешениями, необходимыми для приложения. Замените ЖТД учетных записей службы на токены Microsoft Entra, полученные для служебного принципала.
- Продвиньтесь на шаг вперед, осуществляя проверку подлинности с помощью управляемого удостоверения, если вы разрабатываете решения, используя ресурсы Azure. Управляемые удостоверения автоматически выполняют все задачи по управлению учетными данными.
-
Использование подключений к службе: Подключения служб позволяют использовать субъекты-службы внутри конвейера. Используйте подключения служб, когда это возможно для безопасного подключения к службам без передачи секретных переменных непосредственно в сборки. Ограничить соединения для определенных сценариев использования. Дополнительные сведения см. в разделе Подключения службы Scope в этой статье.
- Аутентификация ресурсов Azure с помощью федерации рабочих удостоверений с использованием регистрации приложения или управляемого удостоверения вместо регистрации приложения с секретным ключом.
Пока учетная запись службы остается в использовании
- Создание учетных записей службы с одним назначением: каждая служба должна иметь свою выделенную учетную запись для минимизации рисков. Избегайте использования обычных учетных записей пользователей в качестве учетных записей служб .
- Определение и отключение неиспользуемых учетных записей служб: регулярно просматривайте и идентифицируйте учетные записи, которые больше не используются. Отключите неиспользуемые учетные записи перед удалением.
- ограничить привилегии: ограничить привилегии учетной записи службы до минимально необходимых. Избегайте интерактивных прав входа для учетных записей служб.
- Используйте отдельные удостоверения для читателей отчетов: если вы используете учетные записи домена для учетных записей служб, используйте другое удостоверение для читателей отчетов, чтобы изолировать разрешения и предотвратить ненужный доступ.
- использовать локальные учетные записи для установки рабочих групп: при установке компонентов в рабочей группе используйте локальные учетные записи для учетных записей пользователей. Избегайте учетных записей домена в этом сценарии.
- Мониторинг активности служебной учетной записи: настройте аудит и создайте аудиторские потоки для мониторинга активности служебной учетной записи.
Подключения службы области
Чтобы обеспечить безопасный и эффективный доступ к ресурсам Azure, правильно определите подключения к службам. Подключения служб позволяют Azure DevOps подключаться к внешним службам и ресурсам, а также путем определения этих подключений, вы можете ограничить доступ только к необходимым ресурсам и снизить риск несанкционированного доступа.
- Ограничить доступ: Ограничить доступ путем ограничения подключений службы Azure Resource Manager к определенным ресурсам и группам. Не предоставляйте широкие права участника во всей подписке Azure.
- Используйте Azure Resource Manager: Выполняйте аутентификацию с ресурсами Azure с помощью федерации удостоверений рабочей нагрузки с использованием регистрации приложения или управляемого удостоверения вместо использования регистрации приложения с секретом. Дополнительные сведения см. в статье Создание подключения службы Azure Resource Manager, использующего федерацию удостоверений рабочей нагрузки.
- группы ресурсов области: убедитесь, что группы ресурсов содержат только виртуальные машины или ресурсы, необходимые для процесса сборки.
- Избегайте классических подключений к службам: Предпочтите современные подключения службы Azure Resource Manager вместо классических, которые не имеют возможностей для задания области.
- Использовать учетные записи службы для конкретных целей: Проверять подлинность подключений к службам с помощью учетных записей службы команды для обеспечения безопасности и контроля.
Дополнительные сведения см. в типах подключений общих сервисов.
Просмотр событий аудита
Аудит можно использовать для отслеживания действий пользователей, изменений разрешений и шаблонов использования в организации. Используйте эти средства для оперативного выявления и устранения потенциальных инцидентов безопасности.
- Включение аудита: Отслеживайте и просматривайте события, связанные с действиями пользователя, разрешениями, изменениями и инцидентами безопасности.
- Регулярно просматривайте журналы аудита и потоки: Регулярно просматривайте журналы аудита, чтобы отслеживать действия пользователей и обнаруживать любое подозрительное поведение. Ищите непредвиденные шаблоны использования, особенно у администраторов и других пользователей. Это действие помогает выявить потенциальные нарушения безопасности и принять корректирующие действия. Узнайте больше о событиях аудита, которые мы отслеживаем.
- Настройка оповещений системы безопасности: настроить оповещения для уведомления о любых инцидентах безопасности или нарушениях политики. Это действие обеспечивает своевременное реагирование на потенциальные угрозы.
Обеспечьте безопасность ваших услуг
Чтобы обеспечить безопасность и целостность служб в Azure DevOps, реализуйте меры безопасности для каждой службы. Эти меры включают настройку разрешений, управление доступом и использование функций безопасности, относящихся к каждой службе.
- Обеспечьте безопасность Azure Boards: Защитите ваши данные отслеживания работы, устанавливая соответствующие разрешения и управляя уровнями доступа.
- Secure Azure Repos: Защитите свои репозитории кода, настроив параметры Git, разрешения на ветки и политики.
-
Обеспечение безопасности Azure Pipelines: Защита процессов CI/CD путем настройки разрешений, использования шаблонов безопасности и обеспечения безопасности агентов и контейнеров.
- Узнайте о безопасности Azure Pipelines
- Добавление пользователей в Azure Pipelines
- Использование шаблонов безопасности
- Безопасные агенты, проекты и контейнеры
- Безопасный доступ к Azure Repos из конвейеров
- защитите ресурсы конвейеров
- Определите подход к защите конвейеров YAML
- Защита секретов в Azure Pipelines
- Безопасные планы тестирования Azure: убедитесь, что у вашей команды есть соответствующий доступ для эффективного управления и выполнения планов тестирования.
- Secure Azure Artifacts: Управляйте доступом к вашим пакетам и контролируйте, кто может взаимодействовать с ними.
Автоматизация сканирования безопасности
Отслеживайте уязвимости кода и секрета с помощью следующих автоматизированных средств безопасности, созданных нашими партнерами:
- Использование сканирования и анализа кода: использовать такие средства, как Microsoft Defender для проверки кода на наличие уязвимостей, секретов и неправильной настройки. Это действие помогает выявлять и устранять проблемы безопасности в начале процесса разработки.
- Использовать сканер учетных данных Azure DevOps (CredScan) для GitHub: Если использование управляемого удостоверения недоступно, убедитесь, что учетные данные хранятся в безопасных местах, таких как Azure Key Vault, вместо их встраивания в код и файлы конфигурации. Реализуйте сканер учетных данных Azure DevOps для идентификации учетных данных в коде. Дополнительные сведения см. в разделе Начало работы с CredScan.
- Используйте проверку собственных секретов для GitHub: Если использование управляемой идентификации невозможно, убедитесь, что секреты хранятся в безопасных местах, таких как Azure Key Vault, вместо их внедрения в код и файлы конфигурации. Используйте функцию сканирования собственных секретов для идентификации секретов в коде. Для получения дополнительной информации см. раздел О сканировании секретов.
Дополнительные сведения см. в обзоре расширенной безопасности GitHub .