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

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

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

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

Diagram of NSG processing.

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

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

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

  • VM1: обрабатываются правила безопасности в NSG1, так как она связана с Subnet1 и VM1 в Subnet1. Если вы не создали правило, разрешающее входящий порт 80, правило безопасности DenyAllInbound по умолчанию запрещает трафик. Этот заблокированный трафик не оценивается NSG2, так как он связан с сетевым интерфейсом. Однако если NSG1 разрешает порт 80 в правиле безопасности, NSG2 обрабатывает трафик. Чтобы разрешить трафик к виртуальной машине через порт 80, в NSG1 и NSG2 должно быть правило, разрешающее трафик из Интернета через порт 80.

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

  • VM3: так как с Subnet2 не связана ни одна группа безопасности сети, трафик разрешен в подсеть и обрабатывается NSG2, потому что NSG2 связана с сетевым интерфейсом, подключенным к VM3.

  • VM4: трафик блокируется на VM4, так как группа безопасности сети не связана с подсетью3 или сетевым интерфейсом в виртуальной машине. Весь сетевой трафик блокируется через подсеть и сетевой интерфейс, если к ним не связана группа безопасности сети.

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

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

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

  • VM2: весь трафик отправляется через этот сетевой интерфейс к подсети, так как с сетевым интерфейсом, подключенным к VM2, не связана группа безопасности сети. Обрабатываются правила в NSG1.

  • VM3: если NSG2 запрещает порт 80 в правиле безопасности, он запрещает трафик. Если NSG2 не запрещает порт 80, правило безопасности AllowInternetOutbound по умолчанию в NSG2 разрешает трафик, так как нет группы безопасности сети, связанной с Subnet2.

  • VM4: весь трафик разрешен из VM4, так как группа безопасности сети не связана с сетевым интерфейсом, подключенным к виртуальной машине или к Subnet3.

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

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

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

Примечание.

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

Совет

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

Следующие шаги