Безопасное подключение к серверным ресурсам из Среды службы приложений
Внимание
Эта статья посвящена Среде службы приложений версии 1. Среда службы приложений версии 1 и 2 отставаются от 31 августа 2024 года. Имеется новая версия среды службы приложений, которая проще в использовании и которая работает на более мощной инфраструктуре. Чтобы узнать больше о новой версии, начните с изучения статьи Введение в Среду службы приложений. Если вы используете Среду службы приложений версии 1, выполните действия, описанные в этой статье, чтобы перейти на новую версию.
По состоянию на 31 августа 2024 года соглашение об уровне обслуживания (SLA) и кредиты на обслуживание больше не применяются к рабочим нагрузкам Среда службы приложений версии 1 и 2, которые продолжают работать, так как они являются устаревшими продуктами. Началось списание оборудования Среда службы приложений версии 1 и 2, и это может повлиять на доступность и производительность приложений и данных.
Необходимо выполнить миграцию в Среда службы приложений версии 3 немедленно или удалить приложения и ресурсы. Мы попытаемся выполнить автоматическую миграцию всех оставшихся Среда службы приложений версии 1 и 2 на основе оптимальной работы с помощью функции миграции на месте, но корпорация Майкрософт не утверждает или не гарантирует доступность приложений после автоматической миграции. Вам может потребоваться выполнить настройку вручную, чтобы завершить миграцию и оптимизировать выбор номера SKU плана Служба приложений в соответствии с вашими потребностями. Если автоматическая миграция невозможна, ваши ресурсы и связанные данные приложения будут удалены. Мы настоятельно призываем вас действовать сейчас, чтобы избежать любого из этих экстремальных сценариев.
Если вам потребуется дополнительное время, мы можем предложить одноразовый 30-дневный льготный период для завершения миграции. Дополнительные сведения и запросы на этот льготный период см. в обзоре льготного периода, а затем перейдите к портал Azure и перейдите в колонку "Миграция" для каждого Среда службы приложений.
Последние сведения об обновлении Среда службы приложений версии 1/2 см. в Среда службы приложений обновлении для выхода на пенсию версии 1 и версии 2.
Так как среда службы приложений всегда создается либо в виртуальной сети Azure Resource Manager, либо в виртуальной сети, использующей классическую модель развертывания, исходящие подключения из среды службы приложений к другим внутренним ресурсам могут передаваться исключительно по виртуальной сети. Начиная с июня 2016 года среды ASE можно также развертывать в виртуальных сетях, использующих либо диапазоны общедоступных адресов, либо адресные пространства RFC1918 (частные адреса).
Например, SQL Server может работать в кластере виртуальных машин с заблокированным портом 1433. Конечная точка может быть ACLd, разрешая только доступ от других ресурсов в той же виртуальной сети.
Другой пример: конфиденциальные конечные точки могут выполняться локально и быть подключены к Azure через подключение типа сеть — сеть или канал Azure ExpressRoute. Таким образом, только ресурсы в виртуальных сетях, подключенных к туннелям "сеть — сеть" или ExpressRoute, смогут иметь доступ к локальным конечным точкам.
Во всех этих случаях приложения, выполняемые в Среде службы приложений, смогут безопасно подключаться к различным серверам и ресурсам. Если исходящий трафик от приложений, выполняемых в Среде службы приложений, идет к частным конечным точкам в той же виртуальной сети (или подключенным к той же виртуальной сети), то он будет идти только по виртуальной сети. Исходящий трафик к частным конечным точкам не будет проходить через общедоступный Интернет.
Одно из предупреждений применяется для исходящего трафика из Среды службы приложений к конечным точкам в виртуальной сети. Среды службы приложений не могут достичь конечных точек виртуальных машин, расположенных в той же подсети, что и Среда службы приложений. Это ограничение обычно не должно представлять проблему, если Среды службы приложений развернуты в подсети, зарезервированной для использования исключительно Средой службы приложений.
Примечание.
Хотя эта статья относится к веб-приложениям, она также применима к приложениям API и мобильным приложениям.
Требования к DNS и исходящим подключениям
Для надлежащего функционирования среды службы приложений требуется исходящий доступ к различным конечным точкам. Полный список внешних конечных точек, используемых в ASE, приведен в разделе "Необходимое сетевое подключение" статьи Сведения о конфигурации сети для сред службы приложений с ExpressRoute .
Для сред службы приложений требуется, чтобы для виртуальной сети была настроена допустимая инфраструктура DNS. Если после создания среды службы приложений меняется конфигурация DNS, разработчики могут принудительно задать выбор новой конфигурации DNS в среде службы приложений. Перезагрузка разворачиваемой среды с помощью значка Перезапуск, расположенного в верхней части колонки управления Средой службы приложений на портале, приведет к выбору новой конфигурации DNS в среде.
Также рекомендуется настроить пользовательские DNS-серверы в виртуальной сети заранее, до создания среды службы приложений. Если конфигурация виртуальной сети DNS изменяется во время создания Среды службы приложений, это приведет к сбою процесса создания Среды службы приложений. Если же на другой стороне VPN-шлюза расположен пользовательский DNS-сервер, который недоступен или не работает, процесс создания Среды службы приложений также будет прерван с ошибкой.
Подключение к SQL Server
В типичной конфигурации SQL Server конечная точка прослушивает порт 1433:
Существует два подхода к ограничению трафика к этой конечной точке.
- Сетевые списки управления доступом (сетевые ACL).
- Группы безопасности сети
Ограничение доступа с помощью сетевых списков управления доступом
Порт 1433 можно защитить с помощью сетевого списка управления доступом. Приведенный ниже пример добавляет к разрешениям назначения адреса клиентов, исходящие из виртуальной сети, и блокирует доступ ко всем остальным клиентам.
Любое приложение, работающее в Среде службы приложений и в той же виртуальной сети, что и SQL Server, может подключиться к экземпляру сервера SQL Server. Используйте внутренний IP-адрес виртуальной сети для виртуальной машины с SQL Server.
Пример строки подключения ниже ссылается на SQL Server, использующий частный IP-адрес.
Server=tcp:10.0.1.6;Database=MyDatabase;User ID=MyUser;Password=PasswordHere;provider=System.Data.SqlClient
Хотя виртуальная машина также имеет общедоступную конечную точку, попытки подключения с использованием общедоступного IP-адреса будут отклонены из-за использования сетевых списков управления доступом.
Ограничение доступа с помощью группы сетевой безопасности
Альтернативный подход для обеспечения безопасного доступа заключается в использовании группы сетевой безопасности. Группы сетевой безопасности можно применять к отдельным виртуальным машинам или к подсети, содержащей виртуальные машины.
Сначала необходимо будет создать группу сетевой безопасности:
New-AzureNetworkSecurityGroup -Name "testNSGexample" -Location "South Central US" -Label "Example network security group for an app service environment"
Ограничить доступ только для внутреннего трафика виртуальной сети очень просто с помощью группы сетевой безопасности. Правила по умолчанию в группе сетевой безопасности разрешают доступ только от других сетевых клиентов в той же виртуальной сети.
Таким образом, блокировка доступа к SQL Server производится очень просто. Просто примените группу безопасности сети с правилами по умолчанию либо к виртуальным машинам, на которых работает SQL Server, либо к подсети, содержащей виртуальные машины.
В следующем примере группа сетевой безопасности применяется к содержащей подсети:
Get-AzureNetworkSecurityGroup -Name "testNSGExample" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName 'testVNet' -SubnetName 'Subnet-1'
Конечным результатом будет набор правил безопасности, которые блокируют внешний доступ, предоставляя в то же время внутренний доступ из виртуальной сети:
Начало работы
Сведения о том, как начать работу со средами службы приложений, см. в статье Введение в среду службы приложений.
Дополнительные сведения об управлении входящим трафиком в среде службы приложений см. в разделе Как управлять входящим трафиком в среде службы приложений.
Примечание.
Чтобы приступить к работе со службой приложений Azure до создания учетной записи Azure, перейдите к разделу Пробное использование службы приложений, где вы можете быстро создать кратковременное веб-приложение начального уровня в службе приложений. Никаких кредитных карт и обязательств