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


Реализация шаблона для безопасного входного трафика сети

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

Видео: реализация защищённого входа в сеть

Требования к шаблону

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

Глобальная маршрутизация

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

Схема, на которой показан HTTPS-запрос, который направляется на два задания в разных регионах.

Переключение на резерв с низкой задержкой

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

Схема, на которой показан запрос HTTPS, не направленный в неработоспособную нагрузку.

Устранение атак на границе

Смягчение атак на краю сети требует реализации компонента "защита сети". Рабочие нагрузки или платформы как услуга (PaaS) не должны быть доступны через Интернет. Интернет-трафик должен маршрутизироваться только через шлюз. Шлюз должен иметь возможность устранять эксплойты.

Схема, на которой показан HTTPS-запрос с SQL-запросом в строке запроса, который не блокируется на уровне периферии.

Шаблоны

Это решение реализует следующие шаблоны проектирования:

Дизайн

Схема, показывающая запрос, проходящий через Azure Front Door Premium к региональным инстанциям.

На схеме показан запрос HTTPS, поступающий к серверу Azure Front Door Premium, с установленным в нем брандмауэром веб-приложения. Это иллюстрирует интеграцию между Azure Front Door Premium и брандмауэром веб-приложений Azure. Затем на схеме показан запрос, который проходит через приватный канал к двум меткам в разных регионах. Каждый штамп имеет статический веб-сайт и внутренний балансировщик нагрузки. Запросы передаются через приватный канал к статическим веб-сайтам и подсистемам балансировки нагрузки в обоих метках.

Эта реализация содержит следующие сведения:

  • В нем используются учетные записи хранения BLOB-объектов Azure для имитации статических веб-рабочих нагрузок, работающих в двух регионах. Эта реализация не включает рабочие нагрузки, выполняемые за внутренней подсистемой балансировки нагрузки (ILB). На диаграмме показан внутренний нагрузочный балансировщик для иллюстрации того, что эта реализация будет работать для закрытых рабочих нагрузок, работающих за внутренним нагрузочным балансировщиком.
  • Он использует уровень Azure Front Door Premium в качестве глобального шлюза.
  • Экземпляр Azure Front Door имеет глобальную политику брандмауэра веб-приложений (WAF), настроенную с помощью управляемых правил, которые помогают защититься от распространенных эксплойтов.
  • Учетные записи хранения не доступны через Интернет.
  • Уровень Azure Front Door Premium получает доступ к учетным записям хранения через Azure Private Link.
  • Экземпляр Azure Front Door имеет следующую конфигурацию высокого уровня:
    • Конечная точка с одним маршрутом, указывающим на одну группу источников. Группа источников — это коллекция источников или серверной части.
    • Группа источников имеет источник, настроенный для указания каждой учетной записи хранения.
    • Каждый источник запрашивает доступ Private Link к учетной записи хранения.
    • У группы источников есть пробы работоспособности, настроенные для доступа к HTML-странице в учетных записях хранения. HTML-страница выступает в качестве конечной точки работоспособности для статических рабочих нагрузок. Если пробы могут успешно получить доступ к источнику в трех из последних четырех попыток, источник считается здоровым.

Компоненты

Веб-запрос

  • Брандмауэр веб-приложений Azure: уровень "Премиум" брандмауэра веб-приложений поддерживает управляемые корпорацией Майкрософт правила, которые помогают защититься от распространенных эксплойтов.
  • Приватный канал Azure: частные конечные точки в Приватном канале Azure предоставляют службе Azure PaaS частный IP-адрес в виртуальной сети. Эта экспозиция позволяет обмену данными через магистральную сеть Майкрософт, а не через общедоступный Интернет.
  • Уровень "Премиум" Azure Front Door: Azure Front Door обеспечивает глобальную балансировку нагрузки уровня 7. Azure Front Door интегрируется с брандмауэром веб-приложений. Уровень "Премиум" поддерживает следующее:
  • Служба хранилища Azure: Эта реализация использует учетные записи блоб-хранилища для представления статического веб-сайта или рабочей нагрузки.
  • Внутренняя подсистема балансировки нагрузки. Эта реализация не использует внутреннюю подсистему балансировки нагрузки. На рисунке представлена частная рабочая нагрузка, выполняемая за этой подсистемой балансировки нагрузки. Маршрутизация к аккаунту хранилища осуществляется так же, как и к балансировщикам нагрузки.

Операции

Защита ресурсов с точки зрения сети помогает защитить от эксплойтов, но также изолирует ресурсы от процессов или администраторов, которым может потребоваться доступ к этим ресурсам. Например, агент сборки в конвейере DevOps может потребоваться для доступа к учетной записи хранения для развертывания обновления в веб-приложении. Кроме того, администратору может потребоваться доступ к ресурсу для устранения неполадок.

Чтобы, например, проиллюстрировать предоставление безопасного сетевого доступа для рабочих целей, эта реализация развертывает виртуальную машину (ВМ) в виртуальной сети с доступом через Private Link к учетным записям хранения. Эта реализация развертывает Бастион Azure, который администратор может использовать для подключения к виртуальной машине. В сценарии развертывания можно развернуть частный агент сборки в виртуальной сети, подобно тому, как это было сделано для виртуальной машины.

Ниже приведены сведения о компонентах для операций:

  • Виртуальная сеть Azure. Эта реализация использует виртуальную сеть для хранения компонентов, необходимых администратору для безопасного взаимодействия с учетной записью хранения через частную магистральную сеть Майкрософт.
  • Виртуальные машины Azure: Эта реализация использует виртуальную машину в качестве перебросочного сервера для подключения администраторов. Виртуальная машина развертывается в частной виртуальной сети.
  • Бастион Azure: Бастион Azure позволяет администратору безопасно подключаться к виртуальной машине jumpbox через Secure Shell (SSH), не требуя наличия общедоступного IP-адреса виртуальной машины.
  • Конечная точка Private Link: частная конечная точка получает частный IP-адрес из виртуальной сети и подключается к службе PaaS учетной записи хранения. Это подключение позволяет ресурсам в частной виртуальной сети взаимодействовать с учетной записью хранения по частному IP-адресу.
  • Частная зона Azure DNS: Это служба DNS, используемая для разрешения имени узла Private Link учетной записи хранения Azure на частный IP-адрес частной конечной точки.

Поток веб-запросов

Схема, показывающая поток для веб-запроса.

На схеме показан пользователь, выполняющий веб-запрос к Azure Front Door. В поле Azure Front Door на схеме показано каждое из шагов потока маршрутизации Azure Front Door. На выделенном шаге потока оцениваются правила WAF, сопоставляется маршрут Azure Front Door и выбирается группа источников, из которой затем выбирается источник. Последний выделенный элемент — это соединение, через которое Azure Front Door подключается к Azure Blob Storage через Private Link.

  1. Пользователь выдает запрос HTTP или HTTPS к конечной точке Azure Front Door.

  2. Оцениваются правила WAF. Правила, которые соответствуют, всегда регистрируются. Если для режима политики WAF Azure Front Door установлен режим предотвращения, а соответствующее правило имеет действие, которое будет блокировка при обнаружении аномалии, запрос блокируется. В противном случае запрос продолжается или перенаправляется, или оцениваются последующие правила.

  3. Маршрут, настроенный в Azure Front Door, соответствует заданным условиям, и выбирается правильная группа источников. В этом примере путь был к статичном содержимому на веб-сайте.

  4. Источник выбирается из группы источников.

    a. В этом примере пробы работоспособности считают веб-сайт неработоспособным, поэтому он исключен из возможных источников.
    б. Этот веб-сайт выбран.

  5. Запрос направляется в учетную запись хранения Azure через приватный канал через магистральную сеть Майкрософт.

Дополнительные сведения об архитектуре маршрутизации Azure Front Door см. в обзоре архитектуры маршрутизации.

Рабочий поток

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

Схема состоит из трех частей. В первой части показана служба хранилища BLOB-объектов Azure, выступающая в качестве статического веб-сайта. Azure Front Door подключается через Private Link к учетной записи хранения. Вторая часть — это поле, представляющее виртуальную сеть. Виртуальная сеть содержит подсети и их содержимое. Эти подсети включают подсеть частной конечной точки, содержащую конечную точку приватного канала, начиная с IP-адресом 10.0.2.5, подсеть виртуальной машины jumpbox и подсеть Azure Bastion с бастионом Azure в ней. Третья часть — это администратор, который использует SSH для доступа к виртуальной машине jumpbox в виртуальной сети через Бастион Azure. Стрелка указывает от виртуальной машины на частную зону DNS в Azure. Последняя стрелка переходит от виртуальной машины к конечной точке приватного канала, а затем к учетной записи хранения.

  1. Администратор подключается к экземпляру Бастиона Azure, развернутом в виртуальной сети.

  2. Бастион Azure обеспечивает подключение SSH к виртуальной машине jumpbox.

  3. Администратор на jumpbox-сервере пытается получить доступ к аккаунту хранения через Azure CLI. Промежуточный сервер запрашивает DNS для конечной точки общедоступной учетной записи хранилища Azure Blob Storage: storageaccountname.blob.core.windows.net.

    В конечном итоге частный DNS разрешается в storageaccountname.privatelink.blob.core.windows.net. Он возвращает частный IP-адрес конечной точки Приватного канала, который равен 10.0.2.5 в этом примере.

  4. Частное подключение к учетной записи хранения устанавливается через конечную точку Private Link.

Соображения

При использовании этого решения следует учитывать следующие моменты.

Надежность

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

В этом сценарии рассматриваются следующие ключевые моменты надежности:

  • Глобальная маршрутизация с низкой задержкой через использование проб работоспособности обеспечивает надежность путем изоляции приложения от региональных сбоев.
  • Брандмауэр веб-приложений в Azure Front Door обеспечивает централизованную защиту для HTTP-запросов и HTTPS.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

В этом сценарии рассматриваются следующие ключевые моменты безопасности:

Оптимизация затрат

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

Хотя как Azure Front Door Premium, так и Web Application Firewall Premium предоставляют расширенные функции безопасности по сравнению с уровнем "Стандарт", для обоих предусмотрены дополнительные затраты. Ознакомьтесь со следующими ресурсами, чтобы узнать больше о ценах на Azure Front Door и Брандмауэр веб-приложений.

Эффективность работы

Операционная эффективность охватывает операционные процессы, которые развертывают приложение и поддерживают его работоспособность в продакшене. Дополнительные сведения см. в разделе "Общие сведения о принципах эффективности работы".

Реализация границ безопасности сети повышает сложность операций и развертывания. Помните следующее:

  • Диапазоны IP-адресов для размещенных корпорацией Майкрософт агентов зависят от времени. Рассмотрите возможность реализации локальных агентов в виртуальной сети.
  • Реализуйте Бастион Azure для сценариев, в которых группам операций необходимо получить доступ к сетевым защищенным ресурсам.
  • Использование брандмауэра веб-приложений в Azure Front Door для обеспечения централизованной защиты для HTTP-запросов и HTTPS является примером шаблона разгрузки шлюза. Ответственность за проверку запросов с потенциально вредоносными действиями передается брандмауэру веб-приложений в Azure Front Door. Преимущество операционного превосходства заключается в том, что вам нужно управлять правилами только в одном месте.

Это важно

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

Эффективность производительности

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

Глобальная маршрутизация обеспечивает горизонтальное масштабирование путем развертывания дополнительных ресурсов в одном регионе или разных регионах.

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