Как группы безопасности сети фильтруют трафик

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

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

На следующем рисунке показаны различные сценарии развертывания групп безопасности сети для разрешения трафика, поступающего из Интернета и обратно через TCP-порт 80:

NSG-processing

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

Входящий трафик

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

  • VM1: обрабатываются правила безопасности в NSG1, так как она связана с Subnet1 и VM1 в Subnet1. Если вы не создали правило, разрешающее входящий трафик через порт 80, трафик будет запрещен правилом безопасности по умолчанию DenyAllInbound и никогда не будет вычислен группой NSG2, так как NSG2 связана с сетевым интерфейсом. Если в группе NSG1 есть правило безопасности, разрешающее трафик через порт 80, трафик будет обрабатываться группой NSG2. Чтобы разрешить трафик к виртуальной машине через порт 80, в NSG1 и NSG2 должно быть правило, разрешающее трафик из Интернета через порт 80.
  • VM2: обрабатываются правила в NSG1, потому что VM2 также существует в Subnet1. Так как у VM2 нет группы безопасности сети, связанной с ее сетевым интерфейсом, она получает весь трафик, разрешенный NSG1, или не получает трафик, запрещенный NSG1. Если группа безопасности сети связана с подсетью, трафик разрешен или запрещен для всех ресурсов в одной и той же подсети.
  • VM3: так как с Subnet2 не связана ни одна группа безопасности сети, трафик разрешен в подсеть и обрабатывается NSG2, потому что NSG2 связана с сетевым интерфейсом, подключенным к VM3.
  • VM4: трафик разрешен в VM4,, так как группа безопасности сети не связана с Subnet3 или сетевым интерфейсом в виртуальной машине. Весь трафик пропускается через подсеть и сетевой интерфейс, если с ними не связана группа безопасности сети.

Исходящий трафик

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

  • VM1: обрабатываются правила безопасности в NSG2. Если вы не создали правило безопасности, которое запрещает исходящий трафик в Интернет через порт 80, трафик разрешается правилом безопасности по умолчанию AllowInternetOutbound в NSG1 и NSG2. Если в NSG2 есть правило безопасности, которое запрещает трафик через порт 80, трафик запрещен и никогда не вычисляется NSG1. Чтобы запретить исходящий трафик через порт 80 на виртуальной машине, у одной из группы безопасности сети или у обеих должно быть правило, которое запрещает трафик, поступающий в Интернет через порт 80.
  • VM2: весь трафик отправляется через этот сетевой интерфейс к подсети, так как с сетевым интерфейсом, подключенным к VM2, не связана группа безопасности сети. Обрабатываются правила в NSG1.
  • VM3: если в NSG2 есть правило безопасности, которое запрещает трафик через порт 80, трафик запрещается. Если в NSG2 есть правило безопасности, разрешающее трафик через порт 80, входящий трафик, поступающий в Интернет, разрешается через порт 80, так как группа безопасности сети не связана с Subnet2.
  • VM4: весь трафик разрешен из VM4, так как группа безопасности сети не связана с сетевым интерфейсом, подключенным к виртуальной машине или к Subnet3.

Трафик внутренней подсети

Важно отметить, что правила безопасности в группе NSG, связанной с подсетью, могут повлиять на подключение между виртуальными машинами в такой подсети. По умолчанию виртуальные машины в одной подсети могут обмениваться данными благодаря стандартному правилу NSG, разрешающему трафик внутри подсети. Если добавить в группу NSG1 правило, запрещающее весь входящий и исходящий трафик, виртуальные машины VM1 и VM2 не смогут обмениваться данными друг с другом.

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

Примечание

Группы безопасности сети связаны с подсетями или виртуальными машинами и облачными службами, развернутыми в классической модели, и подсетями или сетевыми интерфейсами в модели развертывания Resource Manager. Дополнительные сведения о моделях развертывания Azure см. в статье Развертывание с помощью Azure Resource Manager и классическое развертывание: сведения о моделях развертывания и состоянии ресурсов.

Совет

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

Дальнейшие действия