Поделиться через


Рекомендации по обеспечению безопасности для акселератора целевой зоны Служб Azure Integration Services

Хорошая безопасность — это краеугольный камень любого приложения Azure. Службы Azure Integration Services сталкиваются с определенной проблемой, так как существует множество ресурсов, составляющих приложение, и каждый из этих ресурсов имеет свои собственные соображения безопасности. Чтобы убедиться, что вы понимаете конкретные аспекты каждой службы, ознакомьтесь со следующими базовыми показателями безопасности:

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

При разработке модели безопасности существуют две различные области проектирования: безопасность во время разработки и безопасность во время выполнения.

  • Безопасность во время разработки включает доступ к управлению и созданию ресурсов Azure через портал Azure или API управления. В Azure мы используем идентификатор Microsoft Entra и управление доступом на основе ролей (RBAC) для этого.

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

Решите на ранней стадии, если вам нужно:

  • Частное облако — все ваши ресурсы находятся в виртуальной сети и используют только частные адреса, без доступа к общедоступному Интернету или из общедоступного Интернета, потенциально доступные локальным ресурсам через VPN или ExpressRoute.

  • Общедоступное облако — все общедоступные ресурсы имеют доступ к общедоступному Интернету, хотя заблокированы, чтобы ограничить доступ из общедоступного Интернета.

  • Гибридная среда — некоторые ресурсы являются частными, а некоторые — общедоступными.

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

Общие рекомендации по безопасности:

  • Использование служб Azure для защиты трафика входящего трафика и исходящего трафика.

  • Использование идентификатора Microsoft Entra и OAuth 2.0 для управления проверкой подлинности.

  • Применение политик управления с помощью Политика Azure.

  • Блокировка доступа к ресурсам (управление доступом).

  • Шифрование данных как во время передачи, так и при хранении.

  • Ведение журнала всех попыток доступа к ресурсам.

  • Аудит доступа к ресурсам.

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

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

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

    • Azure Front Door — это сеть доставки приложений, которая обеспечивает глобальную балансировку нагрузки и ускорение сайтов для веб-приложений. Azure Front Door предлагает возможности балансировки нагрузки уровня 7, например разгрузку SSL, маршрутизацию на основе путей, быструю отработку отказа и кэширование для повышения производительности и доступности ваших приложений.

    • Диспетчер трафика — это подсистема балансировки нагрузки трафика на основе DNS, которая позволяет оптимально распределять трафик между службами в глобальных регионах Azure, обеспечивая при этом высокую доступность и скорость отклика. Поскольку Диспетчер трафика — это служба балансировки нагрузки на основе DNS, она балансирует нагрузку только на уровне домена. По этой причине он не может выполнять отработку отказа так быстро, как Front Door из-за распространенных проблем, возникающих при кэшировании DNS и системах, не использующих TTL DNS.

    • Шлюз приложений предоставляет управляемый контроллер доставки приложений с различными возможностями балансировки нагрузки уровня 7. Можно использовать шлюз приложений, чтобы оптимизировать производительность веб-фермы за счет разгрузки прекращения запросов SSL, требующей интенсивного использования ЦП, на шлюзе.

    • Azure Load Balancer — это высокопроизводительная служба балансировки входящей и исходящей нагрузки уровня 4 со сверхнизкой задержкой для всех протоколов UDP и TCP. Подсистема балансировки нагрузки обрабатывает миллионы запросов в секунду. Подсистема балансировки нагрузки является зонально-избыточной, что обеспечивает высокую доступность в зонах доступности.

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

  • Защита исходящего трафика с помощью Брандмауэр Azure

  • Используйте фильтрацию IP-адресов для блокировки конечных точек, чтобы они могли получать доступ только по известным сетевым адресам (это применимо для приложений логики, не интегрированных в виртуальные сети).

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

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

  • При хранении данных (например, в служба хранилища Azure или Azure SQL Server) всегда включите шифрование неактивных данных. Блокировка доступа к данным, в идеале только службам и ограниченному количеству администраторов. Помните, что это также относится к данным журнала. Дополнительные сведения см. в статьях Шифрование неактивных данных Azure и Обзор шифрования Azure.

  • Всегда используйте шифрование в транзитном трафике (например, tls) при передаче данных между ресурсами; никогда не отправляют данные через незашифрованный канал.

  • При использовании протоколов TLS всегда используйте TLS 1.2 или более поздней версии.

  • Сохраняйте секреты в Azure Key Vault, а затем свяжите их с приложениями Параметры (Функции, Logic Apps), именованные значения (Управление API) или записи конфигурации (Конфигурация приложений).

  • Реализуйте политику смены ключей, чтобы убедиться, что все ключи, используемые в вашей среде, регулярно поворачиваются, чтобы предотвратить атаки с использованием угроз ключей

  • Для приложения логики используйте маскировку для защиты данных в журнале выполнения.

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

  • Всегда следуйте принципу наименьших привилегий при назначении доступа: предоставьте удостоверению минимальные разрешения, необходимые ему. Иногда это будет включать создание настраиваемой роли Microsoft Entra. Если у вас нет встроенной роли с минимальными разрешениями, попробуйте создать пользовательскую роль только с этими разрешениями.

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

  • Используйте OAuth 2.0 в качестве механизма проверки подлинности между конечными точками ресурсов:

    • В Logic Apps или Функциях включите простую проверку подлинности, которая требует, чтобы все внешние вызывающие объекты использовали удостоверение OAuth (обычно идентификатор Microsoft Entra ID, но может быть любым поставщиком удостоверений).

    • В Управление API используйте элемент политики jwt-validation, чтобы требовать поток OAuth для подключений к конечным точкам.

    • В служба хранилища Azure и Key Vault настройте политики доступа, чтобы ограничить доступ к определенным удостоверениям.

Рекомендации по проектированию системы управления

  • Активно используйте Политика Azure для поиска проблем безопасности или недостатков. Например, конечные точки без фильтрации IP-адресов.

  • Где это доступно, используйте Microsoft Defender для облака для проверки ресурсов и выявления потенциальных недостатков.

  • Регулярно просматривайте журналы аудита (в идеале с помощью автоматизированного средства) для выявления атак безопасности и любого несанкционированного доступа к ресурсам.

  • Рассмотрите возможность использования тестирования на проникновение для выявления слабых мест в проектировании безопасности.

  • Используйте автоматизированные процессы развертывания для настройки безопасности. По возможности используйте конвейер CI/CD, например Azure DevOps, с Terraform, чтобы не только развернуть ресурсы, но и настроить безопасность. Это гарантирует, что ресурсы будут автоматически защищены при развертывании.

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

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