Реализация защиты сети
Сетевая безопасность определяется как процесс защиты ресурсов от несанкционированного доступа или атак путем контроля сетевого трафика. Контроль может применяться различными способами, но их общая цель состоит в том, чтобы пропускать только допустимый трафик.
Ниже схематически представлен пример кластера HDInsight, развернутого с применением сетевой безопасности, с последующим описанием его архитектуры. Черные стрелки представляют входящий трафик, а синие — исходящий.
Цель такой архитектуры состоит в том, чтобы поступать в кластер HDInsight мог только сетевой трафик из надежных источников, а исходить из кластера HDInsight трафик мог только в надежные места назначения. Кроме того, в службы хранилища и хранилища метаданных разрешена передача только трафика, источником которого является HDInsight.
Давайте подробнее разберем эту архитектуру, рассмотрев следующие области:
- безопасность входящего трафика и доступ к кластеру;
- безопасность исходящего трафика;
- конечные точки службы виртуальной сети.
Безопасность для входящего трафика
Безопасность входящего сетевого трафика достигается за счет группы безопасности сети (NSG), назначенной подсети. NSG использует теги служб HDInsight и диапазоны IP-адресов для ограничения входящего трафика только поступающим из доверенных источников.
На приведенной выше схеме в группе безопасности сети создаются два набора правил безопасности для входящего трафика. Первое правило разрешает входящий трафик из служб поддержания работоспособности и управления HDInsight по тегу службы HDInsight. Второе правило безопасности для входящего трафика — это диапазон IP-адресов, из которого пользователи могут получать доступ к определенным портам в HDInsight (например, порту SSH 22).
Безопасность входящего сетевого трафика достигается за счет правил NSG в подсети, в которой развернут кластер HDInsight. Ниже приведен пример того, как можно создать эти правила NSG.
Создайте виртуальную с необходимыми подсетями. Одна из этих подсетей предназначена для размещения кластера HDInsight и будет связана с NSG.
Создайте группу безопасности сети (NSG). В NSG в разделе параметров слева есть два набора правил безопасности: для входящего и исходящего трафика. Мы используем раздел "Правила безопасности для входящего трафика" и добавим дополнительные правила к существующему набору.
Найдите регион, в котором будет развернута служба HDInsight, а затем найдите соответствующие теги служб. В зависимости от региона и строгости разрешений для достижения поставленной цели могут потребоваться различные сочетания тегов служб. Щелкните "Добавить", чтобы создать дополнительные правила безопасности для входящего трафика в группе безопасности сети и назначить теги служб в соответствии с регионом развертывания.
Ниже приведен пример сочетания региона и тега службы. Полный список сочетаний регионов и тегов служб можно найти в статье Теги служб группы безопасности сети (NSG) для Azure HDInsight.
Тип тега службы | Страна/регион | Область/регион | Тег службы | Description |
---|---|---|---|---|
Глобальный | Н/Д | Н/Д | HDInsight | Единый глобальной тег службы для HDInsight |
Региональный | Соединенные Штаты | западная часть США 2 | HDInsight.WestUS2 | Один тег службы |
Региональный | Соединенные Штаты | Восточная часть США 2 | HDInsight.EastUS2 HDInsight.WestUS HDInsight.EastUS | Сочетание тегов служб |
Региональный | Китай | Северный Китай | HDInsight.ChinaNorth HDInsight.ChinaEast | Сочетание тегов служб |
- В зависимости от требований проекта теперь можно добавить дополнительные правила для входящего трафика, чтобы разрешить входящий трафик из других надежных источников.
Доступ к кластеру HDInsight с развернутой виртуальной сетью
С точки зрения безопасности обычно все общедоступные конечные точки в кластере HDInsight недоступны. В этом случае существует несколько альтернативных способов доступа к кластеру HDInsight в виртуальной сети. Они показаны на схеме ниже. Кластеры HDInsight, создаваемые в виртуальной сети, предоставляют как общедоступные, так и частные конечные точки с балансировкой нагрузки.
Доступ к кластеру через общедоступный Интернет по сетевому пути 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.
Чтобы включить ограничения исходящего трафика, необходимо выполнить указанные ниже действия.
- Создание Брандмауэра Azure
- Добавьте в брандмауэр правила безопасности для приложений и исходящего сетевого трафика.
- Создайте определяемый пользователем маршрут.
Конечные точки службы для виртуальной сети
Конечные точки службы для виртуальной сети расширяют удостоверение виртуальной сети в службу Azure. Включение конечных точек службы для виртуальной сети в службе предоставляет доступ к этой службе из определенного сочетания виртуальной сети и подсети, а затем направляет трафик из этой подсети в службу через оптимальный и безопасный путь. Такие ресурсы, как учетная запись хранения и хранилища метаданных SQL, к которым требуется доступ службе HDInsight, можно защитить с помощью конечных точек службы для виртуальной сети, как показано в примере архитектуры ниже.
В этом примере конечные точки службы для виртуальной сети настраиваются в хранилище ADLS 2-го поколения и службе хранилища метаданных Hive (в Azure SQL Server) и разрешают трафик из виртуальной сети HDInsight.
Действия по созданию конечных точек службы для виртуальной сети подробно описаны в разделе "Безопасность доступа к данным".