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


Развертывание частных Шлюз приложений (предварительная версия)

Введение

Исторически Шлюз приложений номера SKU версии 2 и в определенной степени версии 1 требуют общедоступного IP-адреса для обеспечения управления службой. Это требование ввело несколько ограничений при использовании точных элементов управления в группах безопасности сети и таблицах маршрутов. В частности, наблюдались следующие проблемы:

  1. Все развертывания Шлюз приложений версии 2 должны содержать общедоступную интерфейсную IP-конфигурацию, чтобы включить обмен данными с тегом службы Диспетчера шлюзов.
  2. Связи группы безопасности сети требуют правил для разрешения входящего доступа из GatewayManager и исходящего доступа к Интернету.
  3. При вводе маршрута по умолчанию (0.0.0.0/0) для перенаправления трафика в любом месте, отличном от Интернета, метрик, мониторинга и обновлений шлюза, приведет к сбою состояния.

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

  1. Частный IP-адрес только интерфейсной IP-конфигурации
    • Ресурс общедоступного IP-адреса не требуется
  2. Устранение входящего трафика из тега службы GatewayManager через группу безопасности сети
  3. Возможность определения правила "Запретить все исходящие группы безопасности сети" (NSG) для ограничения исходящего трафика в Интернет
  4. Возможность переопределить маршрут по умолчанию в Интернет (0.0.0.0/0/0)
  5. Разрешение DNS с помощью определенных сопоставителей в виртуальной сети подробнее, включая частные зоны DNS приватного канала.

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

Подключение к общедоступной предварительной версии

Функции новых элементов управления конфигурацией внешнего интерфейса частного IP-адреса, управление правилами NSG и управление таблицами маршрутов в настоящее время находятся в общедоступной предварительной версии. Чтобы присоединиться к общедоступной предварительной версии, вы можете воспользоваться интерфейсом с помощью портал Azure, PowerShell, CLI или REST API.

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

Дополнительные сведения о предварительных версиях функций см. в статье "Настройка предварительных версий функций в подписке Azure"

Регистрация в предварительной версии

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

  1. Войдите на портал Azure.

  2. В поле поиска введите подписки и выберите Подписки.

    Поиск на портале Azure.

  3. Выберите ссылку в соответствии с названием своей подписки.

    Выбор подписки Azure.

  4. В меню слева выберите Предварительные версии функций в разделе Параметры.

    Меню предварительных версий функций Azure.

  5. Отобразится список доступных предварительных версий функций и текущее состояние регистрации.

    Список  предварительных версий функций на портале Azure.

  6. В поле фильтра "Включить EnableApplicationGatewayNetworkIsolation", проверка функции и нажмите кнопку "Зарегистрировать".

                                Фильтрация предварительных версий функций на портале Azure.

Примечание.

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

Дополнительные сведения о предварительных версиях функций см. в статье "Настройка предварительных версий функций в подписке Azure"

Отмена регистрации из предварительной версии

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

  1. Войдите на портал Azure.

  2. В поле поиска введите подписки и выберите Подписки.

    Поиск на портале Azure.

  3. Выберите ссылку в соответствии с названием своей подписки.

    Выбор подписки Azure.

  4. В меню слева выберите Предварительные версии функций в разделе Параметры.

    Меню предварительных версий функций Azure.

  5. Отобразится список доступных предварительных версий функций и текущее состояние регистрации.

    Список  предварительных версий функций на портале Azure.

  6. В поле фильтра "Включить EnableApplicationGatewayNetworkIsolation", проверка функции и нажмите кнопку "Отменить регистрацию".

                                Фильтрация предварительных версий функций на портале Azure.

Регионы и доступность

Предварительная версия частного Шлюз приложений доступна для всех общедоступных облачных регионов, где поддерживается Шлюз приложений sku версии 2.

Настройка сетевых элементов управления

После регистрации в общедоступной предварительной версии конфигурация NSG, таблицы маршрутов и интерфейсной конфигурации частных IP-адресов может выполняться с помощью любых методов. Например, REST API, шаблон ARM, развертывание Bicep, Terraform, PowerShell, CLI или портал. В этой общедоступной предварительной версии не представлены изменения API или команды.

Изменения ресурсов

После подготовки шлюза тег ресурса автоматически назначается именем EnhancedNetworkControl и значением True. См. следующий пример.

Просмотр тега EnhancedNetworkControl

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

Совет

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

Подсеть Шлюза приложений

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

Исходящее подключение к Интернету

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

Чтобы включить исходящее подключение из Шлюз приложений к целевому объекту серверной части Интернета, можно использовать виртуальная сеть NAT или перенаправлять трафик в виртуальную (модуль) с доступом к Интернету.

виртуальная сеть NAT предлагает контроль над тем, какой IP-адрес или префикс следует использовать, а также настроить время ожидания простоя. Чтобы настроить, создайте новый шлюз NAT с общедоступным IP-адресом или общедоступным префиксом и свяжите его с подсетью, содержащей Шлюз приложений.

Если для исходящего трафика в Интернете требуется виртуальная (модуль), см. раздел управления таблицами маршрутов в этом документе.

Распространенные сценарии, в которых требуется использование общедоступных IP-адресов:

  • Обмен данными с хранилищем ключей без использования частных конечных точек или конечных точек службы
    • Исходящее подключение не требуется для PFX-файлов, отправленных в Шлюз приложений напрямую
  • Обмен данными с целевыми объектами серверной части через Интернет
  • Обмен данными с конечными точками CRL или OCSP в Интернете

Управление группами безопасности сети

Группы безопасности сети, связанные с подсетью Шлюз приложений, больше не требуют правил входящего трафика для GatewayManager, и они не требуют исходящего доступа к Интернету. Единственным обязательным правилом является разрешение входящего трафика из AzureLoadBalancer, чтобы убедиться, что пробы работоспособности могут получить доступ к шлюзу.

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

Просмотр правил группы безопасности для входящего трафика

Примечание.

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

Пример сценария

В этом примере описывается создание группы безопасности сети с помощью портал Azure со следующими правилами:

  • Разрешить входящий трафик через порт 80 и 8080 Шлюз приложений из клиентских запросов, исходящих из Интернета
  • Запретить весь другой входящий трафик
  • Разрешить исходящий трафик в серверный целевой объект в другой виртуальной сети
  • Разрешить исходящий трафик в серверный целевой объект, доступный в Интернете
  • Запретить весь другой исходящий трафик

Сначала создайте группу безопасности сети. Эта группа безопасности содержит правила для входящего и исходящего трафика.

Правила для входящего трафика

Три правила по умолчанию по умолчанию уже подготовлены в группе безопасности. См. следующий пример.

Просмотр правил группы безопасности по умолчанию

Затем создайте следующие четыре новых правила безопасности для входящего трафика:

  • Разрешить входящий порт 80, tcp, из Интернета (любой)
  • Разрешить входящий порт 8080, tcp, из Интернета (любой)
  • Разрешить входящий трафик из AzureLoadBalancer
  • Запретить любой входящий трафик

Чтобы создать эти правила, выполните следующие действия.

  • Выбор правил безопасности для входящего трафика
  • Выберите Добавить
  • Введите следующие сведения для каждого правила в области "Добавление правила безопасности для входящего трафика".
  • Когда вы ввели сведения, нажмите кнопку "Добавить ", чтобы создать правило.
  • Создание каждого правила занимает некоторое время.
Номер правила Исходный код Тег службы источника Диапазоны исходных портов Назначение Service Диапазоны портов Dest Протокол Действие Приоритет Имя.
1 Любой * Любой HTTP 80 TCP Разрешить 1028 AllowWeb
2 Любой * Любой Пользовательское 8080 TCP Разрешить 1029 AllowWeb8080
3 Тег службы AzureLoadBalancer * Любое Пользовательское * Любое Разрешить 1045 AllowLB
4 Любой * Любой Пользовательское * Любой Запрет 4095 DenyAllInbound

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

Просмотр примеров правил группы безопасности для входящего трафика

Правила для исходящего трафика

Три правила исходящего трафика по умолчанию с приоритетом 65000, 65001 и 65500 уже подготовлены.

Создайте следующие три новых правила безопасности для исходящего трафика:

  • Разрешить TCP 443 от 10.10.4.0/24 до серверного целевого объекта 20.62.8.49
  • Разрешить TCP 80 из источника 10.10.4.0/24 в назначение 10.13.0.4
  • Правило трафика DenyAll

Эти правила назначаются приоритетом 400, 401 и 4096 соответственно.

Примечание.

  • 10.10.4.0/24 — это адресное пространство Шлюз приложений подсети.
  • 10.13.0.4 — это виртуальная машина в одноранговой виртуальной сети.
  • 20.63.8.49 — это серверная целевая виртуальная машина.

Чтобы создать эти правила, выполните следующие действия.

  • Выбор правил безопасности для исходящего трафика
  • Выберите Добавить
  • Введите следующие сведения для каждого правила в области "Добавление правила безопасности для исходящего трафика".
  • Когда вы ввели сведения, нажмите кнопку "Добавить ", чтобы создать правило.
  • Создание каждого правила занимает некоторое время.
Номер правила Исходный код Диапазоны или CIDR исходных IP-адресов Диапазоны исходных портов Назначение Диапазоны IP-адресов назначения или CIDR Service Диапазоны портов Dest Протокол Действие Приоритет Имя.
1 IP-адреса 10.10.4.0/24 * IP-адреса 20.63.8.49 HTTPS 443 TCP Разрешить 400 AllowToBackendTarget
2 IP-адреса 10.10.4.0/24 * IP-адреса 10.13.0.4 HTTP 80 TCP Разрешить 401 AllowToPeeredVnetVM
3 Любой * Любой Пользовательское * Любой Запрет 4096 DenyAll

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

Просмотр примеров правил группы безопасности исходящего трафика

Связывание группы безопасности сети с подсетью

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

Связывание группы безопасности сети (NSG) с подсетью

Результат:

Просмотр обзора группы безопасности сети

Внимание

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

Элемент управления "Таблица маршрутов"

В текущем предложении Шлюз приложений сопоставление таблицы маршрутов с правилом (или созданием правила), определенное как 0.0.0.0.0/0/0, с следующим прыжком, так как виртуальная (модуль) не поддерживается, чтобы обеспечить надлежащее управление Шлюз приложений.

После регистрации общедоступной предварительной версии функции возможность перенаправления трафика в виртуальную (модуль) теперь возможна с помощью определения правила таблицы маршрутов, определяющего 0.0.0.0/0 с последующим прыжком на виртуальное устройство.

Принудительное туннелирование или обучение маршрута 0.0.0.0/0 через рекламу BGP не влияет на Шлюз приложений работоспособность и учитывается для потока трафика. Этот сценарий может применяться при использовании VPN, ExpressRoute, Route Server или Виртуальная глобальная сеть.

Пример сценария

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

  • Шлюз приложений находится в периферийной виртуальной сети
  • В центральной сети есть виртуальная (модуль) сети (виртуальная машина).
  • Таблица маршрутов с маршрутом по умолчанию (0.0.0.0/0/0) с виртуальной (модуль) связана с подсетью Шлюз приложений

Схема, например таблица маршрутов

Рис. 1. Исходящий трафик из Интернета через виртуальные (модуль)

Чтобы создать таблицу маршрутов и связать ее с подсетью Шлюз приложений:

  1. Создайте таблицу маршрутов:

Просмотр только что созданной таблицы маршрутов

  1. Выберите маршруты и создайте правило следующего прыжка для 0.0.0.0/0 и настройте назначение для IP-адреса виртуальной машины:

Представление добавления маршрута по умолчанию в виртуальную сеть

  1. Выберите подсети и свяжите таблицу маршрутов с подсетью Шлюз приложений:

Представление связывания маршрута с подсетью AppGW

  1. Убедитесь, что трафик проходит через виртуальную (модуль).

Ограничения / известные проблемы

Хотя в общедоступной предварительной версии известны следующие ограничения.

Поддержка конфигурации приватного канала для туннелирования трафика через частные конечные точки для Шлюз приложений не поддерживается с частным шлюзом.

Ограничение скорости WAF

Ограничение скорости пользовательских правил для Шлюз приложений WAF версии 2 в настоящее время не поддерживается.

Конфигурация внешнего интерфейса частного IP-адреса только с AGIC

AGIC версии 1.7 необходимо использовать для внедрения поддержки только частных интерфейсных IP-адресов.

Подключение к частной конечной точке через глобальный пиринг виртуальной сети

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

интеграция Наблюдатель за сетями

Подключение устранения неполадок и диагностика NSG возвращают ошибку при выполнении проверка и диагностических тестов.

Совместное использование Шлюз приложений версии 2, созданных до включения расширенного сетевого управления

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

  • Если шлюз, развернутый до включения новых функциональных возможностей, существует в подсети, могут появиться такие ошибки, For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' как при добавлении записей таблицы маршрутов.
  • При добавлении правил группы безопасности сети в подсеть может появиться следующее: Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.

Неизвестное состояние работоспособности серверной части

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

  • Не удалось получить состояние работоспособности серверной части. Это происходит, когда NSG/UDR/Брандмауэр в подсети шлюза приложений блокирует трафик на портах 65503-65534, если существует номер SKU версии 1, а порты 65200-65535, если имеется номер SKU версии 2 или если полное доменное имя, настроенное в серверном пуле, не удалось разрешить IP-адрес. Дополнительные сведения о посещении - https://aka.ms/UnknownBackendHealth.

Эта ошибка может быть проигнорирована и будет уточнена в будущем выпуске.

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