Рекомендации по обеспечению безопасности для акселератора целевой зоны Служб 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, чтобы не только развернуть ресурсы, но и настроить безопасность. Это гарантирует, что ресурсы будут автоматически защищены при развертывании.
Следующий шаг
Просмотрите критически важные области проектирования, чтобы выполнить полные рекомендации и рекомендации по архитектуре.
Рекомендуемое содержимое
Проверка подлинности доступа к ресурсам Azure с помощью управляемых удостоверений в Azure Logic Apps
Вопросы безопасности при перемещении данных в фабрике данных Azure
Активируйте рабочие процессы в стандартных приложениях логики с помощью простой проверки подлинности.
Защита API в службе "Управление API" Azure с помощью авторизации OAuth 2.0 в Azure Active Directory