Защита развертываний PaaS

В этой статье содержатся сведения, которые помогут вам:

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

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

Преимущества облачной безопасности

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

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

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

Преимущества безопасности модели облачной службы PaaS

Изучите преимущества безопасности развертывания Azure PaaS по сравнению с локальным развертыванием.

Преимущества безопасности PaaS

Начиная с нижней части стека, физической инфраструктуры, корпорация Майкрософт снижает распространенные риски и обязанности. Поскольку Microsoft постоянно отслеживает облако Microsoft, её сложно атакувати. Нет смысла для злоумышленника выбирать облако Microsoft в качестве цели. Если у злоумышленника нет много денег и ресурсов, он, скорее всего, перейдет к другой цели.

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

На вершине стека — управление данными и правами доступа — возникает риск, который можно снизить с помощью управления ключами. Хотя управление ключами — это дополнительная ответственность, развертывание PaaS включает области, которыми вам больше не нужно управлять. Вы можете перенаправить ресурсы на управление ключами.

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

Удостоверение в качестве основного периметра безопасности

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

Еще одно значительное различие между PaaS и традиционными локальными развертываниями — это новое представление о том, что определяет основной периметр безопасности. Исторически основным локальным периметром безопасности была ваша сеть, и большинство локальных систем безопасности используют сеть как основной опорный центр безопасности. Для развертывания PaaS рассматривайте идентификацию как основной периметр безопасности.

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

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

Удостоверение как новый периметр безопасности

Изначально службы Azure PaaS (например, Служба приложений Azure и SQL Azure) предоставляли мало или нет традиционных средств защиты периметра сети. Назначение элемента заключалось в доступе к интернету (веб-роль), а аутентификация обеспечивает новый периметр (например, Azure SQL).

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

Рекомендации по управлению идентификацией

Используйте следующие лучшие практики для управления периметром идентификации.

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

Рекомендуется защитить ключи и учетные данные для защиты развертывания PaaS. Подробные сведения. Потеря ключей и учетных данных является распространенной проблемой. Можно использовать централизованное решение, где ключи и секреты хранятся в аппаратных модулях безопасности (HSM). Azure Key Vault защищает ваши ключи и секреты, шифруя ключи аутентификации, ключи учетных записей для хранения, ключи шифрования данных, файлы .pfx и пароли с помощью ключей, защищённых HSM.

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

Рекомендации. Использование надежных платформ проверки подлинности и авторизации. Сведения: Используйте идентификатор Microsoft Entra для проверки подлинности вместо кастомных хранилищ пользователей. При использовании Microsoft Entra ID вы применяете подход, основанный на платформе, и делегируете управление авторизованными идентификациями. Подход к использованию Microsoft Entra ID особенно важен, когда сотрудники увольняются, и эта информация должна отражаться в нескольких системах идентификации и авторизации.

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

Используйте многофакторную аутентификацию (MFA) и убедитесь, что устойчивые к фишингу методы MFA — такие как ключи доступа, FIDO2 или аутентификация на основе сертификатов (CBA ) — применяются через политики условного доступа. Как минимум, требуйте этого для всех администраторов, а для оптимальной безопасности реализуйте это в масштабе арендатора. Для доступа к интерфейсам управления Azure (портал/удаленный PowerShell) и клиентским сервисам следует настроить и сконфигурировать их на использование многофакторной аутентификации Microsoft Entra.

Для входа в приложение используйте OpenID Connect (OIDC) с OAuth 2.0 через Microsoft Entra ID. Эти протоколы проходят тщательное рецензирование и, вероятно, реализованы в рамках библиотек вашей платформы для аутентификации и авторизации.

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

Жизненный цикл разработки безопасности Майкрософт указывает, что команды должны участвовать в процессе, называемом моделированием угроз на этапе разработки. Для облегчения этого процесса Microsoft создала инструмент моделирования угроз SDL. Моделирование архитектуры приложения и перечисление угроз STRIDE через все границы доверия позволяет выявлять ошибки проектирования на ранних стадиях.

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

Угроза Свойство безопасности Потенциальные способы устранения рисков платформы Azure
Подделка Аутентификация Требовать подключения HTTPS.
Фальсификации Целостность Проверка TLS/SSL-сертификатов.
Отказ от признания Неотрекаемость Включите мониторинг и диагностику Azure.
Раскрытие информации Конфиденциальность Шифруйте неактивные конфиденциальные данные, используя сертификаты службы.
Отказ в обслуживании Доступность Отслеживайте метрики производительности для потенциальных условий отказа в обслуживании. Реализуйте фильтры подключений.
Повышение привилегий Авторизация Используйте управление привилегированными удостоверениями.

Служба приложений Azure

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

Используйте следующие лучшие практики для обслуживания приложений.

Рекомендация.Проверка подлинности с помощью идентификатора Microsoft Entra. Сведения: Служба приложений предоставляет службу OAuth 2.0 для вашего поставщика удостоверений. OAuth 2.0 ориентирован на упрощение процесса для разработчиков клиентов, предоставляя определенные потоки авторизации для веб-приложений, настольных приложений и мобильных телефонов. Идентификатор Microsoft Entra использует OAuth 2.0, чтобы разрешить доступ к мобильным и веб-приложениям.

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

Рекомендация. Защита ключей. Сведения. Azure Key Vault помогает защитить криптографические ключи и секреты, используемые облачными приложениями и службами. С помощью Key Vault можно шифровать ключи и секреты (например, ключи проверки подлинности, ключи учетной записи хранения, ключи шифрования данных, ). PFX-файлы и пароли с помощью ключей, защищенных аппаратными модулями безопасности (HSM). Для добавления гарантии можно импортировать или создать ключи в HSM. Дополнительные сведения см. в Azure Key Vault. Вы также можете использовать Key Vault для управления сертификатами TLS с автоматическим продлением.

Рекомендуется ограничить входящие IP-адреса источника. Сведения. Среда службы приложений имеет функцию интеграции с виртуальной сетью, которая помогает ограничить входящие IP-адреса с помощью групп безопасности сети. Виртуальные сети позволяют размещать ресурсы Azure в не интернет-маршрутизируемой сети, к которым вы управляете доступом. Дополнительные сведения см. в статье Интеграция приложения с виртуальной сетью Azure. Вы также можете использовать приватную связь (частную конечную точку) и отключить публичную сеть, чтобы принудительно подключиться к частной сети между App Service и другими сервисами.

Наилучшая практика: обеспечить использование только HTTPS и требовать TLS 1.2 или выше для всех подключений. Отключите доступ через FTP, где это возможно. Если требуется передача файлов, используйте FTPS для обеспечения безопасной и зашифрованной передачи. Подробные сведения. Настройка службы приложений для приема только трафика HTTPS гарантирует, что данные шифруются при передаче, защищая конфиденциальную информацию от перехвата. Требование TLS 1.2 или более поздней версии обеспечивает более надежную защиту от уязвимостей, обнаруженных в более ранних версиях протокола. Отключение FTP снижает риск передачи учетных данных или данных в незашифрованном виде. Если нужна передача файлов, включите только FTPS, который шифрует как учетные данные, так и данные во время передачи.

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

Дополнительные сведения см. в Microsoft Defender для службы приложений.

Межсетевой экран для веб-приложений

Веб-приложения все чаще предназначены для вредоносных атак, которые используют распространенные известные уязвимости. Распространённые уязвимости включают атаки с помощью SQL-инъекций и атаки на межсайтовые скрипты. Предотвращение таких атак в коде приложения может быть сложной задачей и требовать строгого обслуживания, патча и мониторинга на многих уровнях топологии приложения. Централизованный межсетевой экран веб-приложений упрощает управление безопасностью и обеспечивает администраторам приложений большую защиту от угроз и вторжений. Решение WAF также может быстрее реагировать на угрозы безопасности, исправив известную уязвимость на центральном сервере, вместо защиты каждого отдельного веб-приложения.

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

Защита от атак DDoS

Azure предлагает два основных уровня защиты от атак DDoS: защита IP-адресов DDoS и защита сети DDoS. Эти варианты охватывают различные сценарии и имеют различные функции и цены.

  • Защита IP-адресов DDoS: лучше всего защитить определенные общедоступные IP-адреса, идеально подходит для небольших или целевых развертываний, требующих существенного устранения рисков DDoS на уровне IP-адресов.
  • Защита сети DDoS: охватывает все виртуальные сети с расширенными средствами устранения рисков, аналитикой и интеграцией; подходит для более крупных или корпоративных сред, требующих более широкой безопасности.

Выбирайте DDoS IP Protection для целенаправленных, чувствительных к стоимости случаев. Выберите DDoS Network Protection для полного покрытия и расширенных функций.

Защита от атак DDoS защищается на сетевом уровне (3/4). Для защиты уровня приложений (7) добавьте WAF. См. защиту приложения от атак DDoS.

Мониторинг производительности приложения

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

Используйте Application Insights для мониторинга доступности, производительности и использования приложения, будь то размещено в облаке или локальной среде. С помощью Application Insights вы можете быстро выявлять и диагностировать ошибки в приложении, не ожидая, когда пользователь сообщит о них. Используя собранные сведения, вы можете сделать обоснованные варианты обслуживания и улучшения приложения.

Application Insights предоставляет широкие средства для взаимодействия с собранными данными. Application Insights хранит свои данные в общем репозитории. Он может воспользоваться общими функциями, такими как оповещения, панели мониторинга и глубокий анализ с помощью языка запросов Kusto.

Тестирование на проникновение безопасности

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

Дальнейшие шаги

В этой статье рассматриваются преимущества безопасности развертывания Azure PaaS и лучшие практики безопасности облачных приложений. Далее изучите рекомендуемые практики по защите ваших веб- и мобильных решений PaaS с помощью конкретных сервисов Azure. Начните с Служба приложений Azure, База данных SQL Azure, Azure Synapse Analytics и служба хранилища Azure. По мере появления статей о рекомендуемых практиках для других сервисов Azure этот список будет содержать ссылки:

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

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

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