Развертывание частных Шлюз приложений (предварительная версия)
Введение
Исторически Шлюз приложений номера SKU версии 2 и в определенной степени версии 1 требуют общедоступного IP-адреса для обеспечения управления службой. Это требование ввело несколько ограничений при использовании точных элементов управления в группах безопасности сети и таблицах маршрутов. В частности, наблюдались следующие проблемы:
- Все развертывания Шлюз приложений версии 2 должны содержать общедоступную интерфейсную IP-конфигурацию, чтобы включить обмен данными с тегом службы Диспетчера шлюзов.
- Связи группы безопасности сети требуют правил для разрешения входящего доступа из GatewayManager и исходящего доступа к Интернету.
- При вводе маршрута по умолчанию (0.0.0.0/0) для перенаправления трафика в любом месте, отличном от Интернета, метрик, мониторинга и обновлений шлюза, приведет к сбою состояния.
Шлюз приложений версии 2 теперь можно устранить каждый из этих элементов, чтобы устранить риск кражи данных и контролировать конфиденциальность обмена данными из виртуальной сети. Эти изменения включают следующие возможности:
- Частный IP-адрес только интерфейсной IP-конфигурации
- Ресурс общедоступного IP-адреса не требуется
- Устранение входящего трафика из тега службы GatewayManager через группу безопасности сети
- Возможность определения правила "Запретить все исходящие группы безопасности сети" (NSG) для ограничения исходящего трафика в Интернет
- Возможность переопределить маршрут по умолчанию в Интернет (0.0.0.0/0/0)
- Разрешение DNS с помощью определенных сопоставителей в виртуальной сети подробнее, включая частные зоны DNS приватного канала.
Каждая из этих функций может быть настроена независимо. Например, общедоступный IP-адрес можно использовать для разрешения входящего трафика из Интернета, и можно определить правило "Запретить все исходящие" в конфигурации группы безопасности сети, чтобы предотвратить утечку данных.
Подключение к общедоступной предварительной версии
Функции новых элементов управления конфигурацией внешнего интерфейса частного IP-адреса, управление правилами NSG и управление таблицами маршрутов в настоящее время находятся в общедоступной предварительной версии. Чтобы присоединиться к общедоступной предварительной версии, вы можете воспользоваться интерфейсом с помощью портал Azure, PowerShell, CLI или REST API.
При присоединении к предварительной версии все новые Шлюз приложений подготавливаются с возможностью определения любой комбинации функций NSG, таблицы маршрутов или конфигурации частных IP-адресов. Если вы хотите отказаться от новых функций и вернуться к текущим общедоступным функциям Шлюз приложений, это можно сделать, отменив регистрацию из предварительной версии.
Дополнительные сведения о предварительных версиях функций см. в статье "Настройка предварительных версий функций в подписке Azure"
Регистрация в предварительной версии
Выполните следующие действия, чтобы зарегистрироваться в общедоступной предварительной версии для расширенных сетевых элементов управления Шлюз приложений с помощью портал Azure:
Войдите на портал Azure.
В поле поиска введите подписки и выберите Подписки.
Выберите ссылку в соответствии с названием своей подписки.
В меню слева выберите Предварительные версии функций в разделе Параметры.
Отобразится список доступных предварительных версий функций и текущее состояние регистрации.
В поле фильтра "Включить EnableApplicationGatewayNetworkIsolation", проверьте функцию и нажмите кнопку "Зарегистрировать".
Примечание.
Регистрация компонентов может занять до 30 минут, чтобы перейти с регистрации на зарегистрированный статус.
Дополнительные сведения о предварительных версиях функций см. в статье "Настройка предварительных версий функций в подписке Azure"
Отмена регистрации из предварительной версии
Чтобы отказаться от общедоступной предварительной версии для расширенных Шлюз приложений сетевых элементов управления с помощью портала, выполните следующие действия.
Войдите на портал Azure.
В поле поиска введите подписки и выберите Подписки.
Выберите ссылку в соответствии с названием своей подписки.
В меню слева выберите Предварительные версии функций в разделе Параметры.
Отобразится список доступных предварительных версий функций и текущее состояние регистрации.
В поле фильтра "Включить EnableApplicationGatewayNetworkIsolation", проверьте функцию и нажмите кнопку "Отменить регистрацию".
Регионы и доступность
Предварительная версия частного Шлюз приложений доступна для всех общедоступных облачных регионов, где поддерживается Шлюз приложений sku версии 2.
Настройка сетевых элементов управления
После регистрации в общедоступной предварительной версии конфигурация NSG, таблицы маршрутов и интерфейсной конфигурации частных IP-адресов может выполняться с помощью любых методов. Например, REST API, шаблон ARM, развертывание Bicep, Terraform, PowerShell, CLI или портал. В этой общедоступной предварительной версии не представлены изменения API или команды.
Изменения ресурсов
После подготовки шлюза тег ресурса автоматически назначается именем EnhancedNetworkControl и значением True. См. следующий пример.
Тег ресурса является косметическим и служит для подтверждения того, что шлюз подготовлен с возможностями для настройки любого сочетания функций частного шлюза. Изменение или удаление тега или значения не изменяет функциональные работы шлюза.
Совет
Тег 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 до серверного целевого объекта 203.0.113.1
- Разрешить TCP 80 из источника 10.10.4.0/24 в назначение 10.13.0.4
- Правило трафика DenyAll
Эти правила назначаются приоритетом 400, 401 и 4096 соответственно.
Примечание.
- 10.10.4.0/24 — это адресное пространство Шлюз приложений подсети.
- 10.13.0.4 — это виртуальная машина в одноранговой виртуальной сети.
- 203.0.113.1 — это серверная целевая виртуальная машина.
Чтобы создать эти правила, выполните следующие действия.
- Выбор правил безопасности для исходящего трафика
- Выберите Добавить
- Введите следующие сведения для каждого правила в области "Добавление правила безопасности для исходящего трафика".
- Когда вы ввели сведения, нажмите кнопку "Добавить ", чтобы создать правило.
- Создание каждого правила занимает некоторое время.
Номер правила | Исходный код | Диапазоны или CIDR исходных IP-адресов | Диапазоны исходных портов | Назначение | Диапазоны IP-адресов назначения или CIDR | Service | Диапазоны портов Dest | Протокол | Действие | Приоритет | Имя. |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | IP-адреса | 10.10.4.0/24 | * | IP-адреса | 203.0.113.1 | 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 |
Выберите "Обновить", чтобы просмотреть все правила при завершении подготовки.
Связывание группы безопасности сети с подсетью
Последним шагом является связывание группы безопасности сети с подсетью, содержащей Шлюз приложений.
Результат:
Внимание
Будьте осторожны при определении правил DenyAll , так как вы можете случайно запретить входящий трафик от клиентов, к которым планируется разрешить доступ. Вы также можете непреднамеренно запретить исходящий трафик в целевой серверной части, что приводит к сбою работоспособности серверной части и получению ответов 5XX.
Элемент управления "Таблица маршрутов"
В текущем предложении Шлюз приложений сопоставление таблицы маршрутов с правилом (или созданием правила), определенное как 0.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. Исходящий трафик из Интернета через виртуальное устройство
Чтобы создать таблицу маршрутов и связать ее с подсетью Шлюз приложений:
- Создайте таблицу маршрутов:
- Выберите маршруты и создайте правило следующего прыжка для 0.0.0.0/0 и настройте назначение для IP-адреса виртуальной машины:
- Выберите подсети и свяжите таблицу маршрутов с подсетью Шлюз приложений:
- Убедитесь, что трафик проходит через виртуальное устройство.
Ограничения / известные проблемы
Хотя в общедоступной предварительной версии известны следующие ограничения.
Приватный канал — конфигурация
Поддержка конфигурации приватного канала для туннелирования трафика через частные конечные точки для Шлюз приложений не поддерживается с частным шлюзом.
Ограничение скорости 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.
Эта ошибка может быть проигнорирована и будет уточнена в будущем выпуске.
Следующие шаги
- Дополнительные рекомендации по обеспечению безопасности см. в базовых показателях безопасности Azure для Шлюз приложений.