Рекомендации по безопасности для акселератора целевой зоны Azure Spring Apps

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

Защищенное приложение не может гарантировать безопасность всей рабочей нагрузки. Как владелец рабочей нагрузки, оцените человеческие ошибки и оцените область атаки, например приложение и службы инфраструктуры, с которыми взаимодействует приложение.

Azure предоставляет средства управления безопасностью для сети, удостоверений и данных для поддержки стратегии глубинной защиты. Многие элементы управления встроены в Azure Spring Apps. Это руководство основано на базовых показателях безопасности Azure для Azure Spring Apps , производных от Azure Security Benchmark версии 2.0. Тест тестирования предоставляет рекомендации по защите рабочей нагрузки, которая выполняется в облаке Azure Spring Apps.

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

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

Дополнительные сведения о проектировании платформы см. в следующих статье:

Рекомендации по проектированию

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

  • Внешний трафик. Используйте собственные ресурсы Azure для защиты ресурсов рабочей нагрузки от атак из внешних сетей, в том числе:

    • Распределенные атаки типа "отказ в обслуживании" (DDoS).
    • атаки на конкретные приложения;
    • нежелательный, потенциально вредоносный интернет-трафик.
  • Управление удостоверениями. Используйте функции Microsoft Entra, такие как управляемые удостоверения, единый вход, надежные проверки подлинности, управляемые удостоверения и условный доступ для предоставления проверки подлинности и авторизации с помощью идентификатора Microsoft Entra.

  • Мониторинг безопасности. Система должна иметь средства мониторинга для обнаружения угроз и измерения соответствия требованиям с помощью целей организации и элементов управления Azure Security Benchmark. Эти средства должны быть интегрированы с системами централизованного управления информационной безопасностью и событиями (SIEM), чтобы получить целостное представление о состоянии безопасности.

  • Передаваемые данные. Данные, передаваемые между компонентами, расположениями или вызовами API, должны быть зашифрованы.

  • Неактивные данные Все сохраненные данные, включая конфигурацию, должны быть зашифрованы.

  • Политики управления. Необходимо обнаружить отклонения от стандартов соответствия, которые задает ваша организация. Политика Azure предоставляет встроенные определения, которые следует применять для обнаружения отклонений. При применении политик он не гарантирует, что вы полностью соответствуете всем требованиям элемента управления. Могут быть соответствующие стандарты, которые не рассматриваются в встроенных определениях.

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

  • Управление сертификатами. Сертификаты должны быть загружены на основе принципа "Нулевое доверие" никогда не доверяйте, всегда проверяйте и должны быть бесплатными учетными данными. Только доверяйте общим сертификатам, проверяя удостоверение перед предоставлением доступа к сертификатам.

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

Рекомендации по проектированию

Сеть в качестве периметра

Эти сетевые элементы управления создают границы изоляции и ограничивают потоки в приложении и из него.

сегментация сети;

Создайте или используйте существующую виртуальную сеть при развертывании ресурсов службы Azure Spring Cloud.

Создайте изоляцию в виртуальной сети с помощью подсети. Ограничить или разрешить трафик между внутренними ресурсами с помощью правил NSG. Используйте функцию адаптивной защиты сети Microsoft Defender для облака для дальнейшего ужесточения конфигураций NSG, ограничивающих порты и исходные IP-адреса. на основе правил внешнего сетевого трафика.

При создании правил безопасности используйте теги службы Azure для определения элементов управления доступом к сети вместо определенных IP-адресов. Если указать имя тега службы в поле источника или назначения соответствующего правила, разрешите или запретите трафик соответствующей службы. Корпорация Майкрософт управляет префиксами адресов, которые охватываются тегом службы. и автоматически обновляет этот тег при изменении адресов.

AzureSpringCloud Используйте тег службы в группах безопасности сети или Брандмауэр Azure, чтобы разрешить трафик приложениям в Azure Spring Apps.

Дополнительные сведения см. в статье о обязанностях клиентов по запуску Azure Spring Cloud в виртуальной сети.

Подключение с частными сетями

В совместно размещенной среде используйте Azure ExpressRoute или виртуальную частную сеть Azure (VPN) для создания частных подключений между центрами обработки данных Azure и локальной инфраструктурой. Подключения ExpressRoute не проходят через общедоступный Интернет с надежностью, скоростью и меньшей задержкой.

Для VPN типа "точка — сеть" и VPN типа "сеть — сеть" подключите локальные устройства или сети к виртуальной сети. используя любое сочетание параметров VPN и Azure ExpressRoute.

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

Атаки из внешних сетей

Поместите элементы управления на входящий трафик и блокируйте атаки уровня приложений с Шлюз приложений Azure с интегрированным брандмауэром веб-приложения (WAF).

Используйте Брандмауэр Azure для ограничения исходящего трафика из приложения. Вы можете использовать Брандмауэр Azure для защиты приложений и служб от потенциально вредоносного трафика из Интернета и других внешних расположений.

Брандмауэр Azure фильтрация на основе аналитики угроз может отправлять оповещения или блокировать трафик из известных вредоносных IP-адресов и доменов. IP-адреса и домены также передаются из канала Microsoft Threat Intelligence. Если требуется проверка полезных данных, разверните стороннюю систему обнаружения и предотвращения вторжений (IDS/IPS) из Azure Marketplace с возможностями проверки полезных данных. Кроме того, можно использовать идентификаторы и IPS на основе узла или решение обнаружения конечных точек на основе узла (EDR) с идентификаторами или IPS на основе сети.

Чтобы защитить ресурсы рабочей нагрузки от атак DDoS, включите стандартную защиту от атак DDoS в виртуальных сетях Azure. Используйте Microsoft Defender для облака для обнаружения рисков неправильной настройки ресурсов, связанных с сетью.

Защита службы доменных имен (DNS)

Используйте Azure DNS для размещения доменов DNS. Защита зон и записей DNS от плохих субъектов. Для этой цели рекомендуется управлять доступом на основе ролей Azure (Azure RBAC) и блокировки ресурсов. Дополнительные сведения см. в разделе "Запретить переключение записей DNS" и избежать переключения поддомена.

Удостоверения как периметр

Azure предоставляет элементы управления удостоверениями с помощью идентификатора Microsoft Entra. Приложение имеет множество функций, таких как единый вход, надежные проверки подлинности, управляемые удостоверения и условный доступ. Дополнительные сведения о вариантах проектирования архитектуры см . в разделе "Рекомендации по идентификации" для акселератора целевой зоны Azure Spring Apps.

В следующем разделе описаны аспекты безопасности этих вариантов.

Интеграция с централизованной системой удостоверений

Целевые зоны Azure используют идентификатор Microsoft Entra в качестве службы управления удостоверениями и доступом по умолчанию. Для управления службами рабочей нагрузки рекомендуется централизованный идентификатор Microsoft Entra. Централизованный идентификатор Microsoft Entra включает доступ к сетевым ресурсам организации, служба хранилища Azure, Key Vault и другим службам, от которым зависит ваше приложение.

Если вы хотите предоставить доступ к плоскости данных Azure Spring Apps, используйте встроенную роль Azure Spring Cloud Data Reader . Эта роль предоставляет разрешения только для чтения.

Рекомендуется использовать следующие функции Microsoft Entra:

  • Удостоверения приложения. Приложению может потребоваться доступ к другим службам Azure. Например, если требуется получить секреты из Azure Key Vault.

    Используйте управляемые удостоверения с Azure Spring Apps, чтобы приложение смогла пройти проверку подлинности в других службах с помощью идентификатора Microsoft Entra. Избегайте использования субъектов-служб для этой цели. Процесс проверки подлинности управляемых удостоверений не использует учетные данные, которые жестко закодируются в исходном коде или файлах конфигурации.

    Если вам нужно использовать субъект-службу с учетными данными сертификата и вернуться к секретам клиента, рекомендуется использовать идентификатор Microsoft Entra для создания субъекта-службы с ограниченными разрешениями на уровне ресурса.

    В обоих случаях можно использовать Key Vault с удостоверениями, управляемыми Azure. Компонент среды выполнения, например функция Azure, можно использовать для получения секретов из Key Vault. Дополнительные сведения см. в статье "Проверка подлинности в Azure Key Vault".

  • Единый вход (SSO) Microsoft Entra. Единый вход Microsoft Entra рекомендуется проверить подлинность доступа к приложению из других приложений или устройств, работающих в облаке или локальной среде. Единый вход обеспечивает управление удостоверениями для внутренних и внешних пользователей, таких как партнеры или поставщики.

  • Надежные элементы управления проверкой подлинности. Идентификатор Microsoft Entra id поддерживает надежные элементы управления проверкой подлинности с помощью многофакторной проверки подлинности (MFA) и надежных методов без пароля. Для администраторов и привилегированных пользователей используйте самый высокий уровень метода строгой проверки подлинности, чтобы уменьшить радиус взрыва в случае нарушения. Затем разверните соответствующую политику строгой проверки подлинности для других пользователей. Дополнительные сведения см. в разделе "Включение MFA" в Azure и параметрах проверки подлинности без пароля для идентификатора Microsoft Entra.

  • Условный доступ к ресурсам. Azure Spring Apps поддерживает условный доступ Microsoft Entra для более детального управления доступом, основанного на пользовательских условиях. Вы можете задать условия для включения входа пользователей из определенных диапазонов IP-адресов, которые должны выполнять вход с помощью MFA. Эти политики условного доступа применяются только к учетным записям пользователей, которые проходят проверку подлинности в идентификаторе Microsoft Entra для доступа к приложениям и управления ими. Эти политики не применяются к субъектам-службам, ключам или маркерам, которые используются для подключения к ресурсам рабочей нагрузки.

  • Привилегированный доступ. Реализуйте Microsoft Entra управление привилегированными пользователями, чтобы обеспечить минимальный доступ и глубокие отчеты во всей среде Azure. Teams должны начать повторяющиеся проверки доступа, чтобы обеспечить правильные люди и принципы обслуживания имеют текущие и правильные уровни авторизации.

Элементы управления данными

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

Передаваемые данные

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

Azure Spring Apps поддерживает шифрование с помощью TLS версии 1.2 или более поздней версии. TLS обеспечивает безопасный обмен данными с помощью удостоверений и доверия, а также шифрует обмен данными всех типов. Вы можете использовать любой тип tls-сертификата. Например, сертификаты, выданные центром сертификации, расширенные сертификаты проверки, дикие карта сертификаты с поддержкой любого количества поддоменов или самозаверяемых сертификатов для сред разработки и тестирования.

Шифрование крайне важно для трафика во внешних и общедоступных сетях. Все общедоступные конечные точки должны использовать HTTPS для входящего трафика по умолчанию. Вызовы управления для настройки службы Azure Spring Apps с помощью вызовов API Azure Resource Manager должны выполняться по протоколу HTTPS.

Для http-трафика убедитесь, что клиенты, подключающиеся к ресурсам Azure, могут согласовывать TLS версии 1.2 или более поздней версии. Не используйте устаревшие версии или протоколы. Отключите слабые шифры.

Для удаленного управления вместо использования незашифрованного протокола используйте Secure Shell (SSH) для Linux или протокола удаленного рабочего стола (RDP) и TLS для Windows.

Неактивные данные

Для рабочей нагрузки требуется состояние хранилища для исходных и артефактов, параметров сервера конфигурации, параметров приложения и хранилища. Неактивные данные на стороне сервера защищены служба хранилища Azure шифрования. служба хранилища автоматически шифрует содержимое с помощью ключей, управляемых Корпорацией Майкрософт.

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

Для сценариев поддержки, когда корпорация Майкрософт нуждается в доступе к соответствующим данным клиента, используйте блокировку клиента для Microsoft Azure , так как ваша команда или организация должны утвердить доступ.

Мониторинг аномалий учетных записей и соответствующее оповещение

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

Azure Spring Apps интегрирован с идентификатором Microsoft Entra, который может отслеживать действия входа, включая рискованные входы. Журналы аудита можно использовать для обнаружения изменений, внесенных в любые ресурсы в идентификаторе Microsoft Entra. Данные интегрируются с Azure Monitor и могут быть экспортированы в Azure Sentinel.

Дополнительные сведения см. в разделе:

Политики управления

Встроенное определение Azure с именем Azure Spring Cloud должно использовать внедрение сети, позволяющее применять сетевые элементы управления.

  1. Определите реализацию границ изоляции для приложения из Интернета.
  2. Разрешить Azure Spring Apps взаимодействовать с частными сетями в локальных центрах обработки данных или службе Azure в других виртуальных сетях.
  3. Управление исходящими и исходящими сетевыми коммуникациями для виртуальной сети Azure Spring Apps.

Управление сертификатами

При взаимодействии с внутренними службами или локальными системами может потребоваться общедоступный TLS-сертификат. Сертификаты можно отправить в Key Vault.

Для безопасной загрузки сертификатов из Key Vault приложения Spring Boot используют управляемые удостоверения и управление доступом на основе ролей Azure (RBAC). Azure Spring Apps использует субъект-службу поставщика и управление доступом на основе ролей Azure. Эта безопасная загрузка выполняется с помощью поставщика архитектуры шифрования Java (JCA) Azure Key Vault. Дополнительные сведения см. в клиентской библиотеке JCA Azure Key Vault для Java.

Если код Spring, код Java или библиотеки с открытым кодом, например OpenSSL, использует цепочку JCA по умолчанию JCA для JVM, чтобы неявно загружать сертификаты в хранилище доверия JVM, вы можете импортировать сертификаты TLS из Key Vault в Azure Spring Apps. Используйте эти сертификаты в приложении. Дополнительные сведения см. в статье "Использование TLS/SSL-сертификатов в приложении в Azure Spring Apps".

Проверка учетных данных

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

Для GitHub можно использовать возможность проверки собственных секретов, которая обнаруживает учетные данные или другие формы секретов в коде.

Дополнительные сведения см. в разделе:

Следующие шаги

Операции мониторинга