Реализация защиты сети

Завершено

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

Ниже схематически представлен пример кластера HDInsight, развернутого с применением сетевой безопасности, с последующим описанием его архитектуры. Черные стрелки представляют входящий трафик, а синие — исходящий.

Network Security

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

Давайте подробнее разберем эту архитектуру, рассмотрев следующие области:

  1. безопасность входящего трафика и доступ к кластеру;
  2. безопасность исходящего трафика;
  3. конечные точки службы виртуальной сети.

Безопасность для входящего трафика

Безопасность входящего сетевого трафика достигается за счет группы безопасности сети (NSG), назначенной подсети. NSG использует теги служб HDInsight и диапазоны IP-адресов для ограничения входящего трафика только поступающим из доверенных источников.

Inbound network security

На приведенной выше схеме в группе безопасности сети создаются два набора правил безопасности для входящего трафика. Первое правило разрешает входящий трафик из служб поддержания работоспособности и управления HDInsight по тегу службы HDInsight. Второе правило безопасности для входящего трафика — это диапазон IP-адресов, из которого пользователи могут получать доступ к определенным портам в HDInsight (например, порту SSH 22).

Безопасность входящего сетевого трафика достигается за счет правил NSG в подсети, в которой развернут кластер HDInsight. Ниже приведен пример того, как можно создать эти правила NSG.

  • Создайте виртуальную с необходимыми подсетями. Одна из этих подсетей предназначена для размещения кластера HDInsight и будет связана с NSG.

    Creating a Vnet

  • Создайте группу безопасности сети (NSG). В NSG в разделе параметров слева есть два набора правил безопасности: для входящего и исходящего трафика. Мы используем раздел "Правила безопасности для входящего трафика" и добавим дополнительные правила к существующему набору.

    Creating a Network Security Group

  • Найдите регион, в котором будет развернута служба HDInsight, а затем найдите соответствующие теги служб. В зависимости от региона и строгости разрешений для достижения поставленной цели могут потребоваться различные сочетания тегов служб. Щелкните "Добавить", чтобы создать дополнительные правила безопасности для входящего трафика в группе безопасности сети и назначить теги служб в соответствии с регионом развертывания.

    Creating a service tags

  • Ниже приведен пример сочетания региона и тега службы. Полный список сочетаний регионов и тегов служб можно найти в статье Теги служб группы безопасности сети (NSG) для Azure HDInsight.

Тип тега службы Страна/регион Регион Тег службы Description
Глобальный Н/Д Н/Д HDInsight Единый глобальной тег службы для HDInsight
Региональный США Западная часть США 2 HDInsight.WestUS2 Один тег службы
Региональный США восточная часть США 2 HDInsight.EastUS2 HDInsight.WestUS HDInsight.EastUS Сочетание тегов служб
Региональный Китай Северный Китай HDInsight.ChinaNorth HDInsight.ChinaEast Сочетание тегов служб
  • В зависимости от требований проекта теперь можно добавить дополнительные правила для входящего трафика, чтобы разрешить входящий трафик из других надежных источников.

Доступ к кластеру HDInsight с развернутой виртуальной сетью

С точки зрения безопасности обычно все общедоступные конечные точки в кластере HDInsight недоступны. В этом случае существует несколько альтернативных способов доступа к кластеру HDInsight в виртуальной сети. Они показаны на схеме ниже. Кластеры HDInsight, создаваемые в виртуальной сети, предоставляют как общедоступные, так и частные конечные точки с балансировкой нагрузки.

HDInsight cluster access with deployed with a VNet

Доступ к кластеру через общедоступный Интернет по сетевому пути 1 блокируется, но можно создать правила NSG, чтобы разрешить определенным клиентам, внешним по отношению к Azure, безопасный доступ к кластеру через общедоступную конечную точку по протоколу HTTPS. При этом будет использоваться порт 443 и адрес https://<clustername>.azurehdinsight.net.

В случае с сетевым путем 2 для обхода NSG создается сервер переходов в виртуальной сети, в которой находится подсеть HDInsight. Пользователи могут подключаться по RDP к этому серверу переходов, а затем получать доступ к частной конечной точке HDInsight с именем <clustername> через порт 443 по адресу https://<clustername>.azurehdinsight.net.

В случае с сетевым путем 3 правила NSG изменены для клиента, внешнего по отношению к Azure, чтобы он мог получать доступ к кластеру по SSH через общедоступную конечную точку. При этом используется порт 22 и адрес https://<clustername>-ssh.azurehdinsight.net.

безопасность исходящего трафика;

Для правильной работы службы HDInsight исходящий из нее трафик должен быть разрешен в несколько мест назначения. Однако будьте осторожны: проверяйте, являются ли эти назначения надежными.
Зависимости исходящего трафика HDInsight определяются с помощью полных доменных имен (FQDN) и не имеют статических IP-адресов. Учитывая, что IP-адреса полных доменных имен могут меняться, группы безопасности сети нельзя использовать для контроля исходящего из кластера HDInsight трафика. Поэтому в этих целях используется служба "Брандмауэр Azure" или виртуальный сетевой модуль, размещенный у клиента. В реальных сценариях трафик, исходящий из подсети HDInsight, передается по каналу через определенный пользователем маршрут (UDR) в сетевой виртуальный модуль или Брандмауэр Azure, который затем разрешает исходящий трафик согласно правилам безопасности, определенным с использованием тега службы HDInsight.

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

Outbound Security Rules

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

  1. Создание Брандмауэра Azure
  2. Добавьте в брандмауэр правила безопасности для приложений и исходящего сетевого трафика.
  3. Создайте определяемый пользователем маршрут.

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

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

В этом примере конечные точки службы для виртуальной сети настраиваются в хранилище ADLS 2-го поколения и службе хранилища метаданных Hive (в Azure SQL Server) и разрешают трафик из виртуальной сети HDInsight.

Действия по созданию конечных точек службы для виртуальной сети подробно описаны в разделе "Безопасность доступа к данным".

VNet Service Endpoints