Защита доступа к сети для служб PaaS при помощи конечных точек службы для виртуальной сети

Завершено

Вы перенесли существующие приложения и серверы баз данных своей системы ERP в Azure на виртуальные машины. Теперь, чтобы сократить расходы и административные требования, вы рассматриваете возможность использования некоторых служб Azure "платформа как услуги" (PaaS). Службы хранилища будут содержать определенные крупные файловые ресурсы, такие как инженерные схемы. Это конфиденциальная информация, которую необходимо защитить от несанкционированного доступа. Эти файлы должны быть доступны только из конкретных систем.

В этом модуле мы рассмотрим способы использования конечных точек службы для виртуальной сети для защиты поддерживаемых служб Azure.

Конечные точки службы для виртуальной сети

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

Diagram of a service endpoint on a private network.

По умолчанию службы Azure предназначены для прямого доступа из Интернета. Общедоступные IP-адреса есть у всех ресурсов Azure, включая службы PaaS, такие как База данных SQL Azure и служба хранилища Azure. Так как эти службы доступны через Интернет, любой пользователь потенциально имеет доступ к службам Azure.

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

Конечные точки службы Azure доступны для многих служб, например:

  • Хранилище Azure
  • База данных SQL Azure
  • Azure Cosmos DB
  • Azure Key Vault
  • Служебная шина Azure
  • Azure Data Lake

Для такой службы, как База данных SQL, доступ к которой невозможно получить, пока вы не добавите IP-адреса в его брандмауэр, следует по-прежнему рассматривать конечные точки службы. Использование конечной точки службы для Базы данных SQL ограничивает доступ определенными виртуальными сетями, что повышает уровень изоляции и снижает риск атак.

Как работают конечные точки службы

Чтобы включить конечную точку службы, необходимо:

  1. Отключить общий доступ к службе.
  2. Добавить конечную точку службы для виртуальной сети.

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

Это пример таблицы маршрутов перед включением конечной точки службы:

ИСТОЧНИК РЕГИОН Префиксы адресов Тип следующего прыжка
Значение по умолчанию Активно 10.1.1.0/24 Виртуальная сеть
По умолчанию. Активно 0.0.0.0./0 Интернет
По умолчанию. Активно 10.0.0.0/8 нет
По умолчанию. Активно 100.64.0.0./10 нет
По умолчанию. Активно 192.168.0.0/16 нет

А вот пример таблицы маршрутов после добавления двух конечных точек службы в виртуальную сеть:

ИСТОЧНИК РЕГИОН Префиксы адресов Тип следующего прыжка
Значение по умолчанию Активно 10.1.1.0/24 Виртуальная сеть
По умолчанию. Активно 0.0.0.0./0 Интернет
По умолчанию. Активно 10.0.0.0/8 нет
По умолчанию. Активно 100.64.0.0./10 нет
По умолчанию. Активно 192.168.0.0/16 нет
По умолчанию. Активно 20.38.106.0/23, еще 10 VirtualNetworkServiceEndpoint.
По умолчанию. Активно 20.150.2.0/23, еще 9 VirtualNetworkServiceEndpoint.

Весь трафик для службы теперь направляется в VirtualNetworkServiceEndpoint и остается внутренним в Azure.

Конечные точки службы и гибридные сети

Ресурсы службы, которые были защищены с помощью конечных точек службы для виртуальной сети, по умолчанию недоступны из локальных сетей. Для доступа к ресурсам из локальной сети используйте IP-адреса NAT. Если вы используете ExpressRoute для подключения из локальной сети к Azure, вам нужно определить IP-адреса NAT, которые используются с ExpressRoute. По умолчанию каждый канал использует два IP-адреса NAT для подключения к магистральной сети Azure. Затем необходимо добавить эти IP-адреса в конфигурацию IP-адресов брандмауэра для ресурса службы Azure (например, службы хранилища Azure).

На следующей схеме показано, как использовать конечную точку службы и конфигурацию брандмауэра, чтобы локальные устройства могли получать доступ к ресурсам служба хранилища Azure:

Diagram of a service endpoint for on-premises access to Azure resources.